From b0049d2f04e70614c78f210f86e423facc271726 Mon Sep 17 00:00:00 2001 From: Russell Cohen Date: Tue, 1 Jun 2021 14:33:34 -0400 Subject: [PATCH] SDK Import 6/1/2021 target v0.0.6-alpha (#95) * Update AWS_SERVICES_SUPPORTED.md and README.md * SDK Import smithy-rs v0.11 --- AWS_SERVICES_SUPPORTED.md | 4 +- README.md | 2 +- sdk/Cargo.toml | 2 +- sdk/apigateway/Cargo.toml | 4 +- sdk/apigateway/src/aws_json_errors.rs | 45 +- sdk/apigateway/src/client.rs | 361 - sdk/apigateway/src/config.rs | 6 - sdk/apigateway/src/error.rs | 1584 +- sdk/apigateway/src/http_serde.rs | 124 - sdk/apigateway/src/input.rs | 1521 +- sdk/apigateway/src/json_deser.rs | 100 - sdk/apigateway/src/json_ser.rs | 1225 ++ sdk/apigateway/src/lib.rs | 3 + sdk/apigateway/src/model.rs | 578 +- sdk/apigateway/src/operation.rs | 360 +- sdk/apigateway/src/operation_deser.rs | 256 +- sdk/apigateway/src/operation_ser.rs | 612 +- sdk/apigateway/src/serde_util.rs | 14 - sdk/apigateway/src/serializer.rs | 392 +- sdk/aws-http/src/lib.rs | 6 +- sdk/aws-hyper/src/lib.rs | 6 +- sdk/dynamodb/Cargo.toml | 4 +- sdk/dynamodb/src/aws_json_errors.rs | 45 +- sdk/dynamodb/src/client.rs | 150 - sdk/dynamodb/src/config.rs | 7 - sdk/dynamodb/src/error.rs | 740 +- sdk/dynamodb/src/input.rs | 838 +- sdk/dynamodb/src/json_deser.rs | 48 - sdk/dynamodb/src/json_ser.rs | 2435 +++ sdk/dynamodb/src/lib.rs | 3 + sdk/dynamodb/src/model.rs | 1068 +- sdk/dynamodb/src/operation.rs | 200 +- sdk/dynamodb/src/operation_ser.rs | 732 +- sdk/dynamodb/src/serde_util.rs | 41 - sdk/dynamodb/src/serializer.rs | 501 +- sdk/ecs/Cargo.toml | 45 + sdk/ecs/LICENSE | 202 + sdk/ecs/src/aws_json_errors.rs | 165 + sdk/ecs/src/client.rs | 5632 ++++++ sdk/ecs/src/config.rs | 69 + sdk/ecs/src/error.rs | 6015 +++++++ sdk/ecs/src/error_meta.rs | 1321 ++ sdk/ecs/src/input.rs | 12019 +++++++++++++ sdk/ecs/src/instant_epoch.rs | 33 + sdk/ecs/src/json_deser.rs | 827 + sdk/ecs/src/json_ser.rs | 2904 +++ sdk/ecs/src/lib.rs | 51 + sdk/ecs/src/model.rs | 16763 ++++++++++++++++++ sdk/ecs/src/operation.rs | 4720 +++++ sdk/ecs/src/operation_ser.rs | 520 + sdk/ecs/src/output.rs | 3022 ++++ sdk/ecs/src/serde_util.rs | 13 + sdk/ecs/src/serializer.rs | 3606 ++++ sdk/examples/ecs/Cargo.toml | 11 + sdk/examples/ecs/src/main.rs | 18 + sdk/examples/s3-helloworld/Cargo.toml | 1 - sdk/examples/s3-helloworld/src/main.rs | 2 +- sdk/examples/sqs/Cargo.toml | 15 + sdk/examples/sqs/src/bin/hello-world.rs | 42 + sdk/kinesis/Cargo.toml | 4 +- sdk/kinesis/src/aws_json_errors.rs | 45 +- sdk/kinesis/src/client.rs | 82 - sdk/kinesis/src/config.rs | 6 - sdk/kinesis/src/error.rs | 390 +- sdk/kinesis/src/input.rs | 431 +- sdk/kinesis/src/json_deser.rs | 16 - sdk/kinesis/src/json_ser.rs | 468 + sdk/kinesis/src/lib.rs | 3 + sdk/kinesis/src/model.rs | 212 +- sdk/kinesis/src/operation.rs | 108 +- sdk/kinesis/src/operation_ser.rs | 332 +- sdk/kinesis/src/serde_util.rs | 28 - sdk/kinesis/src/serializer.rs | 206 +- sdk/kms/Cargo.toml | 4 +- sdk/kms/src/aws_json_errors.rs | 45 +- sdk/kms/src/client.rs | 140 - sdk/kms/src/config.rs | 6 - sdk/kms/src/error.rs | 697 +- sdk/kms/src/input.rs | 764 +- sdk/kms/src/json_deser.rs | 27 - sdk/kms/src/json_ser.rs | 882 + sdk/kms/src/lib.rs | 3 + sdk/kms/src/model.rs | 319 +- sdk/kms/src/operation.rs | 184 +- sdk/kms/src/operation_ser.rs | 605 +- sdk/kms/src/serde_util.rs | 28 - sdk/kms/src/serializer.rs | 379 +- sdk/lambda/Cargo.toml | 4 +- sdk/lambda/src/aws_json_errors.rs | 45 +- sdk/lambda/src/client.rs | 175 - sdk/lambda/src/config.rs | 6 - sdk/lambda/src/error.rs | 893 +- sdk/lambda/src/http_serde.rs | 54 - sdk/lambda/src/input.rs | 649 +- sdk/lambda/src/json_deser.rs | 78 - sdk/lambda/src/json_ser.rs | 867 + sdk/lambda/src/lib.rs | 3 + sdk/lambda/src/model.rs | 476 +- sdk/lambda/src/operation.rs | 174 +- sdk/lambda/src/operation_deser.rs | 166 +- sdk/lambda/src/operation_ser.rs | 309 +- sdk/lambda/src/serde_util.rs | 28 - sdk/lambda/src/serializer.rs | 269 +- sdk/polly/Cargo.toml | 4 +- sdk/polly/src/aws_json_errors.rs | 45 +- sdk/polly/src/client.rs | 29 - sdk/polly/src/config.rs | 6 - sdk/polly/src/error.rs | 180 +- sdk/polly/src/http_serde.rs | 2 - sdk/polly/src/input.rs | 98 +- sdk/polly/src/json_deser.rs | 27 - sdk/polly/src/json_ser.rs | 100 + sdk/polly/src/lib.rs | 3 + sdk/polly/src/model.rs | 165 +- sdk/polly/src/operation.rs | 27 +- sdk/polly/src/operation_deser.rs | 9 - sdk/polly/src/operation_ser.rs | 52 +- sdk/polly/src/serde_util.rs | 14 - sdk/polly/src/serializer.rs | 50 +- sdk/protocol-test-helpers/Cargo.toml | 1 + sdk/protocol-test-helpers/src/lib.rs | 14 +- sdk/protocol-test-helpers/src/urlencoded.rs | 101 + sdk/qldb/Cargo.toml | 4 +- sdk/qldb/src/aws_json_errors.rs | 45 +- sdk/qldb/src/client.rs | 59 - sdk/qldb/src/config.rs | 6 - sdk/qldb/src/error.rs | 272 +- sdk/qldb/src/input.rs | 209 +- sdk/qldb/src/json_deser.rs | 22 - sdk/qldb/src/json_ser.rs | 199 + sdk/qldb/src/lib.rs | 3 + sdk/qldb/src/model.rs | 155 +- sdk/qldb/src/operation.rs | 57 +- sdk/qldb/src/operation_deser.rs | 16 - sdk/qldb/src/operation_ser.rs | 89 +- sdk/qldb/src/serde_util.rs | 14 - sdk/qldb/src/serializer.rs | 68 +- sdk/qldbsession/Cargo.toml | 4 +- sdk/qldbsession/src/aws_json_errors.rs | 45 +- sdk/qldbsession/src/client.rs | 5 - sdk/qldbsession/src/config.rs | 6 - sdk/qldbsession/src/error.rs | 33 +- sdk/qldbsession/src/input.rs | 14 +- sdk/qldbsession/src/json_deser.rs | 1 - sdk/qldbsession/src/json_ser.rs | 135 + sdk/qldbsession/src/lib.rs | 3 + sdk/qldbsession/src/model.rs | 67 +- sdk/qldbsession/src/operation.rs | 4 +- sdk/qldbsession/src/operation_ser.rs | 18 +- sdk/qldbsession/src/serde_util.rs | 14 - sdk/qldbsession/src/serializer.rs | 18 +- sdk/s3/Cargo.toml | 2 +- sdk/s3/src/client.rs | 274 - sdk/s3/src/config.rs | 6 - sdk/s3/src/error.rs | 1103 +- sdk/s3/src/http_serde.rs | 162 +- sdk/s3/src/input.rs | 932 +- sdk/s3/src/lib.rs | 4 + sdk/s3/src/model.rs | 823 - sdk/s3/src/operation.rs | 273 +- sdk/s3/src/operation_deser.rs | 255 +- sdk/s3/src/rest_xml_unwrapped_errors.rs | 16 +- sdk/s3/src/s3_errors.rs | 73 + sdk/s3/src/xml_deser.rs | 908 +- sdk/s3/src/xml_ser.rs | 27 - sdk/s3/tests/custom-error-deserializer.rs | 38 + sdk/secretsmanager/Cargo.toml | 4 +- sdk/secretsmanager/src/aws_json_errors.rs | 45 +- sdk/secretsmanager/src/client.rs | 59 - sdk/secretsmanager/src/config.rs | 7 - sdk/secretsmanager/src/error.rs | 283 +- sdk/secretsmanager/src/input.rs | 319 +- sdk/secretsmanager/src/json_deser.rs | 17 - sdk/secretsmanager/src/json_ser.rs | 386 + sdk/secretsmanager/src/lib.rs | 3 + sdk/secretsmanager/src/model.rs | 87 +- sdk/secretsmanager/src/operation.rs | 76 +- sdk/secretsmanager/src/operation_ser.rs | 252 +- sdk/secretsmanager/src/serde_util.rs | 28 - sdk/secretsmanager/src/serializer.rs | 165 +- sdk/smithy-http/src/body.rs | 8 + sdk/smithy-http/src/byte_stream.rs | 53 +- sdk/smithy-http/src/endpoint.rs | 9 +- sdk/smithy-http/src/operation.rs | 11 +- sdk/smithy-json/Cargo.toml | 14 + sdk/smithy-json/src/escape.rs | 92 + sdk/smithy-json/src/lib.rs | 9 + sdk/smithy-json/src/serialize.rs | 438 + sdk/smithy-query/Cargo.toml | 11 + sdk/smithy-query/src/lib.rs | 415 + sdk/smithy-types/src/instant/mod.rs | 32 +- sdk/smithy-types/src/lib.rs | 160 +- sdk/sqs/Cargo.toml | 47 + sdk/sqs/LICENSE | 202 + sdk/sqs/src/client.rs | 2005 +++ sdk/sqs/src/config.rs | 69 + sdk/sqs/src/error.rs | 2213 +++ sdk/sqs/src/error_meta.rs | 346 + sdk/sqs/src/input.rs | 4015 +++++ sdk/sqs/src/lib.rs | 104 + sdk/sqs/src/model.rs | 1530 ++ sdk/sqs/src/operation.rs | 839 + sdk/sqs/src/operation_deser.rs | 924 + sdk/sqs/src/operation_ser.rs | 577 + sdk/sqs/src/output.rs | 1034 ++ sdk/sqs/src/query_ser.rs | 185 + sdk/sqs/src/rest_xml_wrapped_errors.rs | 116 + sdk/sqs/src/xml_deser.rs | 1436 ++ sdk/ssm/Cargo.toml | 4 +- sdk/ssm/src/aws_json_errors.rs | 45 +- sdk/ssm/src/client.rs | 407 - sdk/ssm/src/config.rs | 7 - sdk/ssm/src/error.rs | 2119 +-- sdk/ssm/src/input.rs | 2375 +-- sdk/ssm/src/json_deser.rs | 113 - sdk/ssm/src/json_ser.rs | 4878 +++++ sdk/ssm/src/lib.rs | 3 + sdk/ssm/src/model.rs | 2587 +-- sdk/ssm/src/operation.rs | 540 +- sdk/ssm/src/operation_ser.rs | 2055 +-- sdk/ssm/src/serde_util.rs | 28 - sdk/ssm/src/serializer.rs | 1438 +- 222 files changed, 96516 insertions(+), 28759 deletions(-) create mode 100644 sdk/apigateway/src/json_ser.rs create mode 100644 sdk/dynamodb/src/json_ser.rs create mode 100644 sdk/ecs/Cargo.toml create mode 100644 sdk/ecs/LICENSE create mode 100644 sdk/ecs/src/aws_json_errors.rs create mode 100644 sdk/ecs/src/client.rs create mode 100644 sdk/ecs/src/config.rs create mode 100644 sdk/ecs/src/error.rs create mode 100644 sdk/ecs/src/error_meta.rs create mode 100644 sdk/ecs/src/input.rs create mode 100644 sdk/ecs/src/instant_epoch.rs create mode 100644 sdk/ecs/src/json_deser.rs create mode 100644 sdk/ecs/src/json_ser.rs create mode 100644 sdk/ecs/src/lib.rs create mode 100644 sdk/ecs/src/model.rs create mode 100644 sdk/ecs/src/operation.rs create mode 100644 sdk/ecs/src/operation_ser.rs create mode 100644 sdk/ecs/src/output.rs create mode 100644 sdk/ecs/src/serde_util.rs create mode 100644 sdk/ecs/src/serializer.rs create mode 100644 sdk/examples/ecs/Cargo.toml create mode 100644 sdk/examples/ecs/src/main.rs create mode 100644 sdk/examples/sqs/Cargo.toml create mode 100644 sdk/examples/sqs/src/bin/hello-world.rs create mode 100644 sdk/kinesis/src/json_ser.rs create mode 100644 sdk/kms/src/json_ser.rs create mode 100644 sdk/lambda/src/json_ser.rs create mode 100644 sdk/polly/src/json_ser.rs create mode 100644 sdk/protocol-test-helpers/src/urlencoded.rs create mode 100644 sdk/qldb/src/json_ser.rs create mode 100644 sdk/qldbsession/src/json_ser.rs create mode 100644 sdk/s3/src/s3_errors.rs create mode 100644 sdk/s3/tests/custom-error-deserializer.rs create mode 100644 sdk/secretsmanager/src/json_ser.rs create mode 100644 sdk/smithy-json/Cargo.toml create mode 100644 sdk/smithy-json/src/escape.rs create mode 100644 sdk/smithy-json/src/lib.rs create mode 100644 sdk/smithy-json/src/serialize.rs create mode 100644 sdk/smithy-query/Cargo.toml create mode 100644 sdk/smithy-query/src/lib.rs create mode 100644 sdk/sqs/Cargo.toml create mode 100644 sdk/sqs/LICENSE create mode 100644 sdk/sqs/src/client.rs create mode 100644 sdk/sqs/src/config.rs create mode 100644 sdk/sqs/src/error.rs create mode 100644 sdk/sqs/src/error_meta.rs create mode 100644 sdk/sqs/src/input.rs create mode 100644 sdk/sqs/src/lib.rs create mode 100644 sdk/sqs/src/model.rs create mode 100644 sdk/sqs/src/operation.rs create mode 100644 sdk/sqs/src/operation_deser.rs create mode 100644 sdk/sqs/src/operation_ser.rs create mode 100644 sdk/sqs/src/output.rs create mode 100644 sdk/sqs/src/query_ser.rs create mode 100644 sdk/sqs/src/rest_xml_wrapped_errors.rs create mode 100644 sdk/sqs/src/xml_deser.rs create mode 100644 sdk/ssm/src/json_ser.rs diff --git a/AWS_SERVICES_SUPPORTED.md b/AWS_SERVICES_SUPPORTED.md index 588faa2633b0..2c014c5f51a4 100644 --- a/AWS_SERVICES_SUPPORTED.md +++ b/AWS_SERVICES_SUPPORTED.md @@ -14,6 +14,8 @@ The alpha SDK for Rust currently supports the checked services below. If you wan - [X] Amazon Lambda - [x] [Amazon S3](https://github.com/awslabs/aws-sdk-rust/issues/16) - [x] [Amazon SSM](https://github.com/awslabs/aws-sdk-rust/issues/22) +- [x] [Amazon SQS](https://github.com/awslabs/aws-sdk-rust/issues/19) +- [x] [Amazon ECS](https://github.com/awslabs/aws-sdk-rust/issues/28) ------ - [ ] Amazon Access Analyzer @@ -88,7 +90,6 @@ The alpha SDK for Rust currently supports the checked services below. If you wan - [ ] [Amazon Ec2](https://github.com/awslabs/aws-sdk-rust/issues/18) - [ ] Amazon Ec2-Instance-Connect - [ ] [Amazon ECR](https://github.com/awslabs/aws-sdk-rust/issues/34) -- [ ] [Amazon ECS](https://github.com/awslabs/aws-sdk-rust/issues/28) - [ ] Amazon Eks - [ ] Amazon Elasticache - [ ] Amazon Elastic Beanstalk @@ -218,7 +219,6 @@ The alpha SDK for Rust currently supports the checked services below. If you wan - [ ] Amazon Sms-Voice - [ ] Amazon Snowball - [ ] [Amazon SNS](https://github.com/awslabs/aws-sdk-rust/issues/26) -- [ ] [Amazon SQS](https://github.com/awslabs/aws-sdk-rust/issues/19) - [ ] Amazon SSO - [ ] Amazon Sso-Admin - [ ] Amazon Sso-Oidc diff --git a/README.md b/README.md index 68244ef06437..6a0a1ab2a173 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The new AWS SDK for Rust is built with one crate per AWS service. [Tokio](https: ```toml [dependencies] -dynamodb = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.4-alpha", package = "aws-sdk-dynamodb" } +dynamodb = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.6-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 fb69c5c5ab5b..6eecf8132520 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -1,4 +1,4 @@ [workspace] members = [ - "qldb","qldbsession","secretsmanager","kms","dynamodb","kinesis","polly","ssm","lambda","apigateway","s3","smithy-types","smithy-xml","smithy-http","smithy-http-tower","protocol-test-helpers","aws-auth","aws-endpoint","aws-types","aws-hyper","aws-sig-auth","aws-http","examples/lambda-list-functions","examples/polly-synthesize-speech","examples/secretsmanager-helloworld","examples/polly-describe-voices","examples/ssm-put-parameter","examples/polly-list-lexicons","examples/kinesis-create-stream","examples/polly-helloworld","examples/lambda-invoke-function","examples/kinesis-list-streams","examples/qldbsession-helloworld","examples/kinesis-describe-stream","examples/dynamo-create-table","examples/dynamo-list-items","examples/kinesis-put-record","examples/secretsmanager-get-secret-value","examples/dynamo-movies","examples/secretsmanager-create-secret","examples/dynamo-delete-item","examples/kinesis-delete-stream","examples/secretsmanager-list-secrets","examples/s3-helloworld","examples/dynamo-add-item","examples/dynamo-delete-table","examples/polly-put-lexicon","examples/dynamo-helloworld","examples/dynamo-list-tables","examples/kms-helloworld","examples/qldb-list-ledgers" + "qldb","qldbsession","sqs","secretsmanager","kms","dynamodb","kinesis","polly","ecs","ssm","lambda","apigateway","s3","smithy-types","smithy-json","smithy-query","smithy-xml","smithy-http","smithy-http-tower","protocol-test-helpers","aws-auth","aws-endpoint","aws-types","aws-hyper","aws-sig-auth","aws-http","examples/lambda-list-functions","examples/polly-synthesize-speech","examples/secretsmanager-helloworld","examples/polly-describe-voices","examples/ssm-put-parameter","examples/polly-list-lexicons","examples/kinesis-create-stream","examples/polly-helloworld","examples/lambda-invoke-function","examples/ecs","examples/sqs","examples/kinesis-list-streams","examples/qldbsession-helloworld","examples/kinesis-describe-stream","examples/dynamo-create-table","examples/dynamo-list-items","examples/kinesis-put-record","examples/secretsmanager-get-secret-value","examples/dynamo-movies","examples/secretsmanager-create-secret","examples/dynamo-delete-item","examples/kinesis-delete-stream","examples/secretsmanager-list-secrets","examples/s3-helloworld","examples/dynamo-add-item","examples/dynamo-delete-table","examples/polly-put-lexicon","examples/dynamo-helloworld","examples/dynamo-list-tables","examples/kms-helloworld","examples/qldb-list-ledgers" ] \ No newline at end of file diff --git a/sdk/apigateway/Cargo.toml b/sdk/apigateway/Cargo.toml index 07e08f86925d..66760e0237d6 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.5-alpha" +version = "0.0.6-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" @@ -34,6 +34,8 @@ version = "1" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [features] client = ["aws-hyper"] rustls = ["aws-hyper/rustls"] diff --git a/sdk/apigateway/src/aws_json_errors.rs b/sdk/apigateway/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/apigateway/src/aws_json_errors.rs +++ b/sdk/apigateway/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/apigateway/src/client.rs b/sdk/apigateway/src/client.rs index 982a3478c5e2..586e4eaa3405 100644 --- a/sdk/apigateway/src/client.rs +++ b/sdk/apigateway/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,489 +33,368 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn create_api_key(&self) -> fluent_builders::CreateApiKey { fluent_builders::CreateApiKey::new(self.handle.clone()) } - pub fn create_authorizer(&self) -> fluent_builders::CreateAuthorizer { fluent_builders::CreateAuthorizer::new(self.handle.clone()) } - pub fn create_base_path_mapping(&self) -> fluent_builders::CreateBasePathMapping { fluent_builders::CreateBasePathMapping::new(self.handle.clone()) } - pub fn create_deployment(&self) -> fluent_builders::CreateDeployment { fluent_builders::CreateDeployment::new(self.handle.clone()) } - pub fn create_documentation_part(&self) -> fluent_builders::CreateDocumentationPart { fluent_builders::CreateDocumentationPart::new(self.handle.clone()) } - pub fn create_documentation_version(&self) -> fluent_builders::CreateDocumentationVersion { fluent_builders::CreateDocumentationVersion::new(self.handle.clone()) } - pub fn create_domain_name(&self) -> fluent_builders::CreateDomainName { fluent_builders::CreateDomainName::new(self.handle.clone()) } - pub fn create_model(&self) -> fluent_builders::CreateModel { fluent_builders::CreateModel::new(self.handle.clone()) } - pub fn create_request_validator(&self) -> fluent_builders::CreateRequestValidator { fluent_builders::CreateRequestValidator::new(self.handle.clone()) } - pub fn create_resource(&self) -> fluent_builders::CreateResource { fluent_builders::CreateResource::new(self.handle.clone()) } - pub fn create_rest_api(&self) -> fluent_builders::CreateRestApi { fluent_builders::CreateRestApi::new(self.handle.clone()) } - pub fn create_stage(&self) -> fluent_builders::CreateStage { fluent_builders::CreateStage::new(self.handle.clone()) } - pub fn create_usage_plan(&self) -> fluent_builders::CreateUsagePlan { fluent_builders::CreateUsagePlan::new(self.handle.clone()) } - pub fn create_usage_plan_key(&self) -> fluent_builders::CreateUsagePlanKey { fluent_builders::CreateUsagePlanKey::new(self.handle.clone()) } - pub fn create_vpc_link(&self) -> fluent_builders::CreateVpcLink { fluent_builders::CreateVpcLink::new(self.handle.clone()) } - pub fn delete_api_key(&self) -> fluent_builders::DeleteApiKey { fluent_builders::DeleteApiKey::new(self.handle.clone()) } - pub fn delete_authorizer(&self) -> fluent_builders::DeleteAuthorizer { fluent_builders::DeleteAuthorizer::new(self.handle.clone()) } - pub fn delete_base_path_mapping(&self) -> fluent_builders::DeleteBasePathMapping { fluent_builders::DeleteBasePathMapping::new(self.handle.clone()) } - pub fn delete_client_certificate(&self) -> fluent_builders::DeleteClientCertificate { fluent_builders::DeleteClientCertificate::new(self.handle.clone()) } - pub fn delete_deployment(&self) -> fluent_builders::DeleteDeployment { fluent_builders::DeleteDeployment::new(self.handle.clone()) } - pub fn delete_documentation_part(&self) -> fluent_builders::DeleteDocumentationPart { fluent_builders::DeleteDocumentationPart::new(self.handle.clone()) } - pub fn delete_documentation_version(&self) -> fluent_builders::DeleteDocumentationVersion { fluent_builders::DeleteDocumentationVersion::new(self.handle.clone()) } - pub fn delete_domain_name(&self) -> fluent_builders::DeleteDomainName { fluent_builders::DeleteDomainName::new(self.handle.clone()) } - pub fn delete_gateway_response(&self) -> fluent_builders::DeleteGatewayResponse { fluent_builders::DeleteGatewayResponse::new(self.handle.clone()) } - pub fn delete_integration(&self) -> fluent_builders::DeleteIntegration { fluent_builders::DeleteIntegration::new(self.handle.clone()) } - pub fn delete_integration_response(&self) -> fluent_builders::DeleteIntegrationResponse { fluent_builders::DeleteIntegrationResponse::new(self.handle.clone()) } - pub fn delete_method(&self) -> fluent_builders::DeleteMethod { fluent_builders::DeleteMethod::new(self.handle.clone()) } - pub fn delete_method_response(&self) -> fluent_builders::DeleteMethodResponse { fluent_builders::DeleteMethodResponse::new(self.handle.clone()) } - pub fn delete_model(&self) -> fluent_builders::DeleteModel { fluent_builders::DeleteModel::new(self.handle.clone()) } - pub fn delete_request_validator(&self) -> fluent_builders::DeleteRequestValidator { fluent_builders::DeleteRequestValidator::new(self.handle.clone()) } - pub fn delete_resource(&self) -> fluent_builders::DeleteResource { fluent_builders::DeleteResource::new(self.handle.clone()) } - pub fn delete_rest_api(&self) -> fluent_builders::DeleteRestApi { fluent_builders::DeleteRestApi::new(self.handle.clone()) } - pub fn delete_stage(&self) -> fluent_builders::DeleteStage { fluent_builders::DeleteStage::new(self.handle.clone()) } - pub fn delete_usage_plan(&self) -> fluent_builders::DeleteUsagePlan { fluent_builders::DeleteUsagePlan::new(self.handle.clone()) } - pub fn delete_usage_plan_key(&self) -> fluent_builders::DeleteUsagePlanKey { fluent_builders::DeleteUsagePlanKey::new(self.handle.clone()) } - pub fn delete_vpc_link(&self) -> fluent_builders::DeleteVpcLink { fluent_builders::DeleteVpcLink::new(self.handle.clone()) } - pub fn flush_stage_authorizers_cache(&self) -> fluent_builders::FlushStageAuthorizersCache { fluent_builders::FlushStageAuthorizersCache::new(self.handle.clone()) } - pub fn flush_stage_cache(&self) -> fluent_builders::FlushStageCache { fluent_builders::FlushStageCache::new(self.handle.clone()) } - pub fn generate_client_certificate(&self) -> fluent_builders::GenerateClientCertificate { fluent_builders::GenerateClientCertificate::new(self.handle.clone()) } - pub fn get_account(&self) -> fluent_builders::GetAccount { fluent_builders::GetAccount::new(self.handle.clone()) } - pub fn get_api_key(&self) -> fluent_builders::GetApiKey { fluent_builders::GetApiKey::new(self.handle.clone()) } - pub fn get_api_keys(&self) -> fluent_builders::GetApiKeys { fluent_builders::GetApiKeys::new(self.handle.clone()) } - pub fn get_authorizer(&self) -> fluent_builders::GetAuthorizer { fluent_builders::GetAuthorizer::new(self.handle.clone()) } - pub fn get_authorizers(&self) -> fluent_builders::GetAuthorizers { fluent_builders::GetAuthorizers::new(self.handle.clone()) } - pub fn get_base_path_mapping(&self) -> fluent_builders::GetBasePathMapping { fluent_builders::GetBasePathMapping::new(self.handle.clone()) } - pub fn get_base_path_mappings(&self) -> fluent_builders::GetBasePathMappings { fluent_builders::GetBasePathMappings::new(self.handle.clone()) } - pub fn get_client_certificate(&self) -> fluent_builders::GetClientCertificate { fluent_builders::GetClientCertificate::new(self.handle.clone()) } - pub fn get_client_certificates(&self) -> fluent_builders::GetClientCertificates { fluent_builders::GetClientCertificates::new(self.handle.clone()) } - pub fn get_deployment(&self) -> fluent_builders::GetDeployment { fluent_builders::GetDeployment::new(self.handle.clone()) } - pub fn get_deployments(&self) -> fluent_builders::GetDeployments { fluent_builders::GetDeployments::new(self.handle.clone()) } - pub fn get_documentation_part(&self) -> fluent_builders::GetDocumentationPart { fluent_builders::GetDocumentationPart::new(self.handle.clone()) } - pub fn get_documentation_parts(&self) -> fluent_builders::GetDocumentationParts { fluent_builders::GetDocumentationParts::new(self.handle.clone()) } - pub fn get_documentation_version(&self) -> fluent_builders::GetDocumentationVersion { fluent_builders::GetDocumentationVersion::new(self.handle.clone()) } - pub fn get_documentation_versions(&self) -> fluent_builders::GetDocumentationVersions { fluent_builders::GetDocumentationVersions::new(self.handle.clone()) } - pub fn get_domain_name(&self) -> fluent_builders::GetDomainName { fluent_builders::GetDomainName::new(self.handle.clone()) } - pub fn get_domain_names(&self) -> fluent_builders::GetDomainNames { fluent_builders::GetDomainNames::new(self.handle.clone()) } - pub fn get_export(&self) -> fluent_builders::GetExport { fluent_builders::GetExport::new(self.handle.clone()) } - pub fn get_gateway_response(&self) -> fluent_builders::GetGatewayResponse { fluent_builders::GetGatewayResponse::new(self.handle.clone()) } - pub fn get_gateway_responses(&self) -> fluent_builders::GetGatewayResponses { fluent_builders::GetGatewayResponses::new(self.handle.clone()) } - pub fn get_integration(&self) -> fluent_builders::GetIntegration { fluent_builders::GetIntegration::new(self.handle.clone()) } - pub fn get_integration_response(&self) -> fluent_builders::GetIntegrationResponse { fluent_builders::GetIntegrationResponse::new(self.handle.clone()) } - pub fn get_method(&self) -> fluent_builders::GetMethod { fluent_builders::GetMethod::new(self.handle.clone()) } - pub fn get_method_response(&self) -> fluent_builders::GetMethodResponse { fluent_builders::GetMethodResponse::new(self.handle.clone()) } - pub fn get_model(&self) -> fluent_builders::GetModel { fluent_builders::GetModel::new(self.handle.clone()) } - pub fn get_models(&self) -> fluent_builders::GetModels { fluent_builders::GetModels::new(self.handle.clone()) } - pub fn get_model_template(&self) -> fluent_builders::GetModelTemplate { fluent_builders::GetModelTemplate::new(self.handle.clone()) } - pub fn get_request_validator(&self) -> fluent_builders::GetRequestValidator { fluent_builders::GetRequestValidator::new(self.handle.clone()) } - pub fn get_request_validators(&self) -> fluent_builders::GetRequestValidators { fluent_builders::GetRequestValidators::new(self.handle.clone()) } - pub fn get_resource(&self) -> fluent_builders::GetResource { fluent_builders::GetResource::new(self.handle.clone()) } - pub fn get_resources(&self) -> fluent_builders::GetResources { fluent_builders::GetResources::new(self.handle.clone()) } - pub fn get_rest_api(&self) -> fluent_builders::GetRestApi { fluent_builders::GetRestApi::new(self.handle.clone()) } - pub fn get_rest_apis(&self) -> fluent_builders::GetRestApis { fluent_builders::GetRestApis::new(self.handle.clone()) } - pub fn get_sdk(&self) -> fluent_builders::GetSdk { fluent_builders::GetSdk::new(self.handle.clone()) } - pub fn get_sdk_type(&self) -> fluent_builders::GetSdkType { fluent_builders::GetSdkType::new(self.handle.clone()) } - pub fn get_sdk_types(&self) -> fluent_builders::GetSdkTypes { fluent_builders::GetSdkTypes::new(self.handle.clone()) } - pub fn get_stage(&self) -> fluent_builders::GetStage { fluent_builders::GetStage::new(self.handle.clone()) } - pub fn get_stages(&self) -> fluent_builders::GetStages { fluent_builders::GetStages::new(self.handle.clone()) } - pub fn get_tags(&self) -> fluent_builders::GetTags { fluent_builders::GetTags::new(self.handle.clone()) } - pub fn get_usage(&self) -> fluent_builders::GetUsage { fluent_builders::GetUsage::new(self.handle.clone()) } - pub fn get_usage_plan(&self) -> fluent_builders::GetUsagePlan { fluent_builders::GetUsagePlan::new(self.handle.clone()) } - pub fn get_usage_plan_key(&self) -> fluent_builders::GetUsagePlanKey { fluent_builders::GetUsagePlanKey::new(self.handle.clone()) } - pub fn get_usage_plan_keys(&self) -> fluent_builders::GetUsagePlanKeys { fluent_builders::GetUsagePlanKeys::new(self.handle.clone()) } - pub fn get_usage_plans(&self) -> fluent_builders::GetUsagePlans { fluent_builders::GetUsagePlans::new(self.handle.clone()) } - pub fn get_vpc_link(&self) -> fluent_builders::GetVpcLink { fluent_builders::GetVpcLink::new(self.handle.clone()) } - pub fn get_vpc_links(&self) -> fluent_builders::GetVpcLinks { fluent_builders::GetVpcLinks::new(self.handle.clone()) } - pub fn import_api_keys(&self) -> fluent_builders::ImportApiKeys { fluent_builders::ImportApiKeys::new(self.handle.clone()) } - pub fn import_documentation_parts(&self) -> fluent_builders::ImportDocumentationParts { fluent_builders::ImportDocumentationParts::new(self.handle.clone()) } - pub fn import_rest_api(&self) -> fluent_builders::ImportRestApi { fluent_builders::ImportRestApi::new(self.handle.clone()) } - pub fn put_gateway_response(&self) -> fluent_builders::PutGatewayResponse { fluent_builders::PutGatewayResponse::new(self.handle.clone()) } - pub fn put_integration(&self) -> fluent_builders::PutIntegration { fluent_builders::PutIntegration::new(self.handle.clone()) } - pub fn put_integration_response(&self) -> fluent_builders::PutIntegrationResponse { fluent_builders::PutIntegrationResponse::new(self.handle.clone()) } - pub fn put_method(&self) -> fluent_builders::PutMethod { fluent_builders::PutMethod::new(self.handle.clone()) } - pub fn put_method_response(&self) -> fluent_builders::PutMethodResponse { fluent_builders::PutMethodResponse::new(self.handle.clone()) } - pub fn put_rest_api(&self) -> fluent_builders::PutRestApi { fluent_builders::PutRestApi::new(self.handle.clone()) } - pub fn tag_resource(&self) -> fluent_builders::TagResource { fluent_builders::TagResource::new(self.handle.clone()) } - pub fn test_invoke_authorizer(&self) -> fluent_builders::TestInvokeAuthorizer { fluent_builders::TestInvokeAuthorizer::new(self.handle.clone()) } - pub fn test_invoke_method(&self) -> fluent_builders::TestInvokeMethod { fluent_builders::TestInvokeMethod::new(self.handle.clone()) } - pub fn untag_resource(&self) -> fluent_builders::UntagResource { fluent_builders::UntagResource::new(self.handle.clone()) } - pub fn update_account(&self) -> fluent_builders::UpdateAccount { fluent_builders::UpdateAccount::new(self.handle.clone()) } - pub fn update_api_key(&self) -> fluent_builders::UpdateApiKey { fluent_builders::UpdateApiKey::new(self.handle.clone()) } - pub fn update_authorizer(&self) -> fluent_builders::UpdateAuthorizer { fluent_builders::UpdateAuthorizer::new(self.handle.clone()) } - pub fn update_base_path_mapping(&self) -> fluent_builders::UpdateBasePathMapping { fluent_builders::UpdateBasePathMapping::new(self.handle.clone()) } - pub fn update_client_certificate(&self) -> fluent_builders::UpdateClientCertificate { fluent_builders::UpdateClientCertificate::new(self.handle.clone()) } - pub fn update_deployment(&self) -> fluent_builders::UpdateDeployment { fluent_builders::UpdateDeployment::new(self.handle.clone()) } - pub fn update_documentation_part(&self) -> fluent_builders::UpdateDocumentationPart { fluent_builders::UpdateDocumentationPart::new(self.handle.clone()) } - pub fn update_documentation_version(&self) -> fluent_builders::UpdateDocumentationVersion { fluent_builders::UpdateDocumentationVersion::new(self.handle.clone()) } - pub fn update_domain_name(&self) -> fluent_builders::UpdateDomainName { fluent_builders::UpdateDomainName::new(self.handle.clone()) } - pub fn update_gateway_response(&self) -> fluent_builders::UpdateGatewayResponse { fluent_builders::UpdateGatewayResponse::new(self.handle.clone()) } - pub fn update_integration(&self) -> fluent_builders::UpdateIntegration { fluent_builders::UpdateIntegration::new(self.handle.clone()) } - pub fn update_integration_response(&self) -> fluent_builders::UpdateIntegrationResponse { fluent_builders::UpdateIntegrationResponse::new(self.handle.clone()) } - pub fn update_method(&self) -> fluent_builders::UpdateMethod { fluent_builders::UpdateMethod::new(self.handle.clone()) } - pub fn update_method_response(&self) -> fluent_builders::UpdateMethodResponse { fluent_builders::UpdateMethodResponse::new(self.handle.clone()) } - pub fn update_model(&self) -> fluent_builders::UpdateModel { fluent_builders::UpdateModel::new(self.handle.clone()) } - pub fn update_request_validator(&self) -> fluent_builders::UpdateRequestValidator { fluent_builders::UpdateRequestValidator::new(self.handle.clone()) } - pub fn update_resource(&self) -> fluent_builders::UpdateResource { fluent_builders::UpdateResource::new(self.handle.clone()) } - pub fn update_rest_api(&self) -> fluent_builders::UpdateRestApi { fluent_builders::UpdateRestApi::new(self.handle.clone()) } - pub fn update_stage(&self) -> fluent_builders::UpdateStage { fluent_builders::UpdateStage::new(self.handle.clone()) } - pub fn update_usage(&self) -> fluent_builders::UpdateUsage { fluent_builders::UpdateUsage::new(self.handle.clone()) } - pub fn update_usage_plan(&self) -> fluent_builders::UpdateUsagePlan { fluent_builders::UpdateUsagePlan::new(self.handle.clone()) } - pub fn update_vpc_link(&self) -> fluent_builders::UpdateVpcLink { fluent_builders::UpdateVpcLink::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct CreateApiKey { handle: std::sync::Arc, @@ -546,7 +423,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The name of the ApiKey.

pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -632,7 +508,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateAuthorizer { handle: std::sync::Arc, @@ -661,7 +536,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -771,7 +645,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateBasePathMapping { handle: std::sync::Arc, @@ -800,7 +673,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The domain name of the BasePathMapping resource to create.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -838,7 +710,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateDeployment { handle: std::sync::Arc, @@ -867,7 +738,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -970,7 +840,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateDocumentationPart { handle: std::sync::Arc, @@ -999,7 +868,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -1031,7 +899,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateDocumentationVersion { handle: std::sync::Arc, @@ -1060,7 +927,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -1101,7 +967,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateDomainName { handle: std::sync::Arc, @@ -1130,7 +995,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name of the DomainName resource.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -1282,7 +1146,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateModel { handle: std::sync::Arc, @@ -1311,7 +1174,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The RestApi identifier under which the Model will be created.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -1358,7 +1220,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateRequestValidator { handle: std::sync::Arc, @@ -1387,7 +1248,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -1425,7 +1285,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateResource { handle: std::sync::Arc, @@ -1454,7 +1313,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -1483,7 +1341,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateRestApi { handle: std::sync::Arc, @@ -1512,7 +1369,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name of the RestApi.

pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -1631,7 +1487,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateStage { handle: std::sync::Arc, @@ -1660,7 +1515,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -1790,7 +1644,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateUsagePlan { handle: std::sync::Arc, @@ -1819,7 +1672,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name of the usage plan.

pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -1890,7 +1742,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateUsagePlanKey { handle: std::sync::Arc, @@ -1919,7 +1770,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -1948,7 +1798,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateVpcLink { handle: std::sync::Arc, @@ -1977,7 +1826,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name used to label and identify the VPC link.

pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -2027,7 +1875,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteApiKey { handle: std::sync::Arc, @@ -2056,7 +1903,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the ApiKey resource to be deleted.

pub fn api_key(mut self, inp: impl Into) -> Self { self.inner = self.inner.api_key(inp); @@ -2067,7 +1913,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteAuthorizer { handle: std::sync::Arc, @@ -2096,7 +1941,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2116,7 +1960,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBasePathMapping { handle: std::sync::Arc, @@ -2145,7 +1988,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The domain name of the BasePathMapping resource to delete.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -2166,7 +2008,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteClientCertificate { handle: std::sync::Arc, @@ -2195,7 +2036,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the ClientCertificate resource to be deleted.

pub fn client_certificate_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.client_certificate_id(inp); @@ -2206,7 +2046,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteDeployment { handle: std::sync::Arc, @@ -2235,7 +2074,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2255,7 +2093,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteDocumentationPart { handle: std::sync::Arc, @@ -2284,7 +2121,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2304,7 +2140,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteDocumentationVersion { handle: std::sync::Arc, @@ -2333,7 +2168,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2353,7 +2187,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteDomainName { handle: std::sync::Arc, @@ -2382,7 +2215,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name of the DomainName resource to be deleted.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -2393,7 +2225,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteGatewayResponse { handle: std::sync::Arc, @@ -2422,7 +2253,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2442,7 +2272,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteIntegration { handle: std::sync::Arc, @@ -2471,7 +2300,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2500,7 +2328,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteIntegrationResponse { handle: std::sync::Arc, @@ -2529,7 +2356,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2567,7 +2393,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteMethod { handle: std::sync::Arc, @@ -2596,7 +2421,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2625,7 +2449,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteMethodResponse { handle: std::sync::Arc, @@ -2654,7 +2477,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2692,7 +2514,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteModel { handle: std::sync::Arc, @@ -2721,7 +2542,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2741,7 +2561,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteRequestValidator { handle: std::sync::Arc, @@ -2770,7 +2589,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2790,7 +2608,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteResource { handle: std::sync::Arc, @@ -2819,7 +2636,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2839,7 +2655,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteRestApi { handle: std::sync::Arc, @@ -2868,7 +2683,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2879,7 +2693,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteStage { handle: std::sync::Arc, @@ -2908,7 +2721,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -2928,7 +2740,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteUsagePlan { handle: std::sync::Arc, @@ -2957,7 +2768,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the to-be-deleted usage plan.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -2968,7 +2778,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteUsagePlanKey { handle: std::sync::Arc, @@ -2997,7 +2806,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -3017,7 +2825,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteVpcLink { handle: std::sync::Arc, @@ -3046,7 +2853,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

pub fn vpc_link_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.vpc_link_id(inp); @@ -3057,7 +2863,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct FlushStageAuthorizersCache { handle: std::sync::Arc, @@ -3086,7 +2891,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3106,7 +2910,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct FlushStageCache { handle: std::sync::Arc, @@ -3135,7 +2938,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3155,7 +2957,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GenerateClientCertificate { handle: std::sync::Arc, @@ -3184,7 +2985,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The description of the ClientCertificate.

pub fn description(mut self, inp: impl Into) -> Self { self.inner = self.inner.description(inp); @@ -3213,7 +3013,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetAccount { handle: std::sync::Arc, @@ -3243,7 +3042,6 @@ pub mod fluent_builders { self.handle.client.call(op).await } } - #[derive(std::fmt::Debug)] pub struct GetApiKey { handle: std::sync::Arc, @@ -3272,7 +3070,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the ApiKey resource.

pub fn api_key(mut self, inp: impl Into) -> Self { self.inner = self.inner.api_key(inp); @@ -3292,7 +3089,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetApiKeys { handle: std::sync::Arc, @@ -3321,7 +3117,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -3368,7 +3163,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetAuthorizer { handle: std::sync::Arc, @@ -3397,7 +3191,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3417,7 +3210,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetAuthorizers { handle: std::sync::Arc, @@ -3446,7 +3238,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3475,7 +3266,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBasePathMapping { handle: std::sync::Arc, @@ -3504,7 +3294,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The domain name of the BasePathMapping resource to be described.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -3524,7 +3313,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBasePathMappings { handle: std::sync::Arc, @@ -3553,7 +3341,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The domain name of a BasePathMapping resource.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -3582,7 +3369,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetClientCertificate { handle: std::sync::Arc, @@ -3611,7 +3397,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the ClientCertificate resource to be described.

pub fn client_certificate_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.client_certificate_id(inp); @@ -3622,7 +3407,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetClientCertificates { handle: std::sync::Arc, @@ -3651,7 +3435,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -3671,7 +3454,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDeployment { handle: std::sync::Arc, @@ -3700,7 +3482,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3732,7 +3513,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDeployments { handle: std::sync::Arc, @@ -3761,7 +3541,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3790,7 +3569,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDocumentationPart { handle: std::sync::Arc, @@ -3819,7 +3597,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3839,7 +3616,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDocumentationParts { handle: std::sync::Arc, @@ -3868,7 +3644,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3939,7 +3714,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDocumentationVersion { handle: std::sync::Arc, @@ -3968,7 +3742,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -3988,7 +3761,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDocumentationVersions { handle: std::sync::Arc, @@ -4017,7 +3789,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4046,7 +3817,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDomainName { handle: std::sync::Arc, @@ -4075,7 +3845,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name of the DomainName resource.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -4086,7 +3855,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDomainNames { handle: std::sync::Arc, @@ -4115,7 +3883,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -4135,7 +3902,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetExport { handle: std::sync::Arc, @@ -4164,7 +3930,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4220,7 +3985,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetGatewayResponse { handle: std::sync::Arc, @@ -4249,7 +4013,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4269,7 +4032,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetGatewayResponses { handle: std::sync::Arc, @@ -4298,7 +4060,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4327,7 +4088,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetIntegration { handle: std::sync::Arc, @@ -4356,7 +4116,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4385,7 +4144,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetIntegrationResponse { handle: std::sync::Arc, @@ -4414,7 +4172,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4452,7 +4209,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMethod { handle: std::sync::Arc, @@ -4481,7 +4237,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4510,7 +4265,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMethodResponse { handle: std::sync::Arc, @@ -4539,7 +4293,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4577,7 +4330,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetModel { handle: std::sync::Arc, @@ -4606,7 +4358,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The RestApi identifier under which the Model exists.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4635,7 +4386,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetModels { handle: std::sync::Arc, @@ -4664,7 +4414,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4693,7 +4442,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetModelTemplate { handle: std::sync::Arc, @@ -4722,7 +4470,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4742,7 +4489,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRequestValidator { handle: std::sync::Arc, @@ -4771,7 +4517,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4791,7 +4536,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRequestValidators { handle: std::sync::Arc, @@ -4820,7 +4564,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4849,7 +4592,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetResource { handle: std::sync::Arc, @@ -4878,7 +4620,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4910,7 +4651,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetResources { handle: std::sync::Arc, @@ -4939,7 +4679,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -4980,7 +4719,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRestApi { handle: std::sync::Arc, @@ -5009,7 +4747,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -5020,7 +4757,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRestApis { handle: std::sync::Arc, @@ -5049,7 +4785,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -5069,7 +4804,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetSdk { handle: std::sync::Arc, @@ -5098,7 +4832,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -5145,7 +4878,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetSdkType { handle: std::sync::Arc, @@ -5174,7 +4906,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the queried SdkType instance.

pub fn id(mut self, inp: impl Into) -> Self { self.inner = self.inner.id(inp); @@ -5185,7 +4916,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetSdkTypes { handle: std::sync::Arc, @@ -5214,7 +4944,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -5234,7 +4963,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetStage { handle: std::sync::Arc, @@ -5263,7 +4991,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -5283,7 +5010,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetStages { handle: std::sync::Arc, @@ -5312,7 +5038,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -5332,7 +5057,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetTags { handle: std::sync::Arc, @@ -5361,7 +5085,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The ARN of a resource that can be tagged.

pub fn resource_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_arn(inp); @@ -5390,7 +5113,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetUsage { handle: std::sync::Arc, @@ -5419,7 +5141,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the usage plan associated with the usage data.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -5475,7 +5196,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetUsagePlan { handle: std::sync::Arc, @@ -5504,7 +5224,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the UsagePlan resource to be retrieved.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -5515,7 +5234,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetUsagePlanKey { handle: std::sync::Arc, @@ -5544,7 +5262,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -5564,7 +5281,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetUsagePlanKeys { handle: std::sync::Arc, @@ -5593,7 +5309,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -5631,7 +5346,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetUsagePlans { handle: std::sync::Arc, @@ -5660,7 +5374,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -5689,7 +5402,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetVpcLink { handle: std::sync::Arc, @@ -5718,7 +5430,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

pub fn vpc_link_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.vpc_link_id(inp); @@ -5729,7 +5440,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetVpcLinks { handle: std::sync::Arc, @@ -5758,7 +5468,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The current pagination position in the paged result set.

pub fn position(mut self, inp: impl Into) -> Self { self.inner = self.inner.position(inp); @@ -5778,7 +5487,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ImportApiKeys { handle: std::sync::Arc, @@ -5807,7 +5515,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The payload of the POST request to import API keys. For the payload format, see API Key File Format.

pub fn body(mut self, inp: smithy_types::Blob) -> Self { self.inner = self.inner.body(inp); @@ -5836,7 +5543,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ImportDocumentationParts { handle: std::sync::Arc, @@ -5865,7 +5571,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -5903,7 +5608,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ImportRestApi { handle: std::sync::Arc, @@ -5932,7 +5636,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A query parameter to indicate whether to rollback the API creation (true) or not (false) /// when a warning is encountered. The default value is false.

pub fn fail_on_warnings(mut self, inp: bool) -> Self { @@ -5978,7 +5681,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutGatewayResponse { handle: std::sync::Arc, @@ -6007,7 +5709,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6072,7 +5773,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutIntegration { handle: std::sync::Arc, @@ -6101,7 +5801,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6307,7 +6006,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutIntegrationResponse { handle: std::sync::Arc, @@ -6336,7 +6034,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6440,7 +6137,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutMethod { handle: std::sync::Arc, @@ -6469,7 +6165,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6595,7 +6290,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutMethodResponse { handle: std::sync::Arc, @@ -6624,7 +6318,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6696,7 +6389,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutRestApi { handle: std::sync::Arc, @@ -6725,7 +6417,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6783,7 +6474,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TagResource { handle: std::sync::Arc, @@ -6812,7 +6502,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The ARN of a resource that can be tagged.

pub fn resource_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_arn(inp); @@ -6841,7 +6530,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TestInvokeAuthorizer { handle: std::sync::Arc, @@ -6870,7 +6558,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -6983,7 +6670,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TestInvokeMethod { handle: std::sync::Arc, @@ -7012,7 +6698,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7128,7 +6813,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UntagResource { handle: std::sync::Arc, @@ -7157,7 +6841,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The ARN of a resource that can be tagged.

pub fn resource_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_arn(inp); @@ -7180,7 +6863,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateAccount { handle: std::sync::Arc, @@ -7209,7 +6891,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A list of update operations to be applied to the specified resource and in the order specified in this list.

pub fn patch_operations(mut self, inp: impl Into) -> Self { self.inner = self.inner.patch_operations(inp); @@ -7223,7 +6904,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateApiKey { handle: std::sync::Arc, @@ -7252,7 +6932,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the ApiKey resource to be updated.

pub fn api_key(mut self, inp: impl Into) -> Self { self.inner = self.inner.api_key(inp); @@ -7275,7 +6954,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateAuthorizer { handle: std::sync::Arc, @@ -7304,7 +6982,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7336,7 +7013,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateBasePathMapping { handle: std::sync::Arc, @@ -7365,7 +7041,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The domain name of the BasePathMapping resource to change.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -7398,7 +7073,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateClientCertificate { handle: std::sync::Arc, @@ -7427,7 +7101,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the ClientCertificate resource to be updated.

pub fn client_certificate_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.client_certificate_id(inp); @@ -7450,7 +7123,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDeployment { handle: std::sync::Arc, @@ -7479,7 +7151,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7511,7 +7182,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDocumentationPart { handle: std::sync::Arc, @@ -7540,7 +7210,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7572,7 +7241,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDocumentationVersion { handle: std::sync::Arc, @@ -7601,7 +7269,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi..

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7633,7 +7300,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDomainName { handle: std::sync::Arc, @@ -7662,7 +7328,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The name of the DomainName resource to be changed.

pub fn domain_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_name(inp); @@ -7685,7 +7350,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateGatewayResponse { handle: std::sync::Arc, @@ -7714,7 +7378,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7746,7 +7409,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateIntegration { handle: std::sync::Arc, @@ -7775,7 +7437,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7816,7 +7477,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateIntegrationResponse { handle: std::sync::Arc, @@ -7845,7 +7505,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7895,7 +7554,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateMethod { handle: std::sync::Arc, @@ -7924,7 +7582,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -7965,7 +7622,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateMethodResponse { handle: std::sync::Arc, @@ -7994,7 +7650,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -8044,7 +7699,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateModel { handle: std::sync::Arc, @@ -8073,7 +7727,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -8105,7 +7758,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateRequestValidator { handle: std::sync::Arc, @@ -8134,7 +7786,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -8166,7 +7817,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateResource { handle: std::sync::Arc, @@ -8195,7 +7845,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -8227,7 +7876,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateRestApi { handle: std::sync::Arc, @@ -8256,7 +7904,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -8279,7 +7926,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateStage { handle: std::sync::Arc, @@ -8308,7 +7954,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The string identifier of the associated RestApi.

pub fn rest_api_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.rest_api_id(inp); @@ -8340,7 +7985,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateUsage { handle: std::sync::Arc, @@ -8369,7 +8013,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the usage plan associated with the usage data.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -8401,7 +8044,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateUsagePlan { handle: std::sync::Arc, @@ -8430,7 +8072,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The Id of the to-be-updated usage plan.

pub fn usage_plan_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.usage_plan_id(inp); @@ -8453,7 +8094,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateVpcLink { handle: std::sync::Arc, @@ -8482,7 +8122,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

pub fn vpc_link_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.vpc_link_id(inp); diff --git a/sdk/apigateway/src/config.rs b/sdk/apigateway/src/config.rs index 75fb6f1c3800..30ab887d7c83 100644 --- a/sdk/apigateway/src/config.rs +++ b/sdk/apigateway/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/apigateway/src/error.rs b/sdk/apigateway/src/error.rs index 23c253c46f7a..7b6f913d07b0 100644 --- a/sdk/apigateway/src/error.rs +++ b/sdk/apigateway/src/error.rs @@ -14,7 +14,6 @@ pub enum CreateApiKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -39,7 +38,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateApiKeyError { None } } - impl CreateApiKeyError { pub fn new(kind: CreateApiKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -62,18 +60,21 @@ impl CreateApiKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateApiKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -102,7 +103,6 @@ pub enum CreateAuthorizerErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -126,7 +126,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateAuthorizerError { None } } - impl CreateAuthorizerError { pub fn new(kind: CreateAuthorizerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -149,18 +148,21 @@ impl CreateAuthorizerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateAuthorizerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -188,7 +190,6 @@ pub enum CreateBasePathMappingErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -212,7 +213,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateBasePathMappingError { None } } - impl CreateBasePathMappingError { pub fn new(kind: CreateBasePathMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -235,18 +235,21 @@ impl CreateBasePathMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateBasePathMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -276,7 +279,6 @@ pub enum CreateDeploymentErrorKind { ServiceUnavailableError(crate::error::ServiceUnavailableError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -302,7 +304,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateDeploymentError { None } } - impl CreateDeploymentError { pub fn new(kind: CreateDeploymentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -325,18 +326,21 @@ impl CreateDeploymentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateDeploymentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -367,7 +371,6 @@ pub enum CreateDocumentationPartErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -392,7 +395,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateDocumentationPartError { None } } - impl CreateDocumentationPartError { pub fn new(kind: CreateDocumentationPartErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -415,18 +417,21 @@ impl CreateDocumentationPartError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateDocumentationPartError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -456,7 +461,6 @@ pub enum CreateDocumentationVersionErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -481,7 +485,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateDocumentationVersionError { None } } - impl CreateDocumentationVersionError { pub fn new(kind: CreateDocumentationVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -504,18 +507,21 @@ impl CreateDocumentationVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateDocumentationVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -543,7 +549,6 @@ pub enum CreateDomainNameErrorKind { ConflictError(crate::error::ConflictError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -566,7 +571,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateDomainNameError { None } } - impl CreateDomainNameError { pub fn new(kind: CreateDomainNameErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -589,18 +593,21 @@ impl CreateDomainNameError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateDomainNameError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -628,7 +635,6 @@ pub enum CreateModelErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -653,7 +659,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateModelError { None } } - impl CreateModelError { pub fn new(kind: CreateModelErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -676,18 +681,21 @@ impl CreateModelError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateModelError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -716,7 +724,6 @@ pub enum CreateRequestValidatorErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -740,7 +747,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateRequestValidatorError { None } } - impl CreateRequestValidatorError { pub fn new(kind: CreateRequestValidatorErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -763,18 +769,21 @@ impl CreateRequestValidatorError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateRequestValidatorError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -803,7 +812,6 @@ pub enum CreateResourceErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -828,7 +836,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateResourceError { None } } - impl CreateResourceError { pub fn new(kind: CreateResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -851,18 +858,21 @@ impl CreateResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -890,7 +900,6 @@ pub enum CreateRestApiErrorKind { LimitExceededError(crate::error::LimitExceededError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -913,7 +922,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateRestApiError { None } } - impl CreateRestApiError { pub fn new(kind: CreateRestApiErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -936,18 +944,21 @@ impl CreateRestApiError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateRestApiError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -975,7 +986,6 @@ pub enum CreateStageErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1000,7 +1010,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateStageError { None } } - impl CreateStageError { pub fn new(kind: CreateStageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1023,18 +1032,21 @@ impl CreateStageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateStageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1064,7 +1076,6 @@ pub enum CreateUsagePlanErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1089,7 +1100,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateUsagePlanError { None } } - impl CreateUsagePlanError { pub fn new(kind: CreateUsagePlanErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1112,18 +1122,21 @@ impl CreateUsagePlanError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateUsagePlanError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1152,7 +1165,6 @@ pub enum CreateUsagePlanKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1176,7 +1188,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateUsagePlanKeyError { None } } - impl CreateUsagePlanKeyError { pub fn new(kind: CreateUsagePlanKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1199,18 +1210,21 @@ impl CreateUsagePlanKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateUsagePlanKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1236,7 +1250,6 @@ pub enum CreateVpcLinkErrorKind { BadRequestError(crate::error::BadRequestError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1258,7 +1271,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateVpcLinkError { None } } - impl CreateVpcLinkError { pub fn new(kind: CreateVpcLinkErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1281,18 +1293,21 @@ impl CreateVpcLinkError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateVpcLinkError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1316,7 +1331,6 @@ pub enum DeleteApiKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1338,7 +1352,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteApiKeyError { None } } - impl DeleteApiKeyError { pub fn new(kind: DeleteApiKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1361,18 +1374,21 @@ impl DeleteApiKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteApiKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1398,7 +1414,6 @@ pub enum DeleteAuthorizerErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1422,7 +1437,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteAuthorizerError { None } } - impl DeleteAuthorizerError { pub fn new(kind: DeleteAuthorizerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1445,18 +1459,21 @@ impl DeleteAuthorizerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteAuthorizerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1484,7 +1501,6 @@ pub enum DeleteBasePathMappingErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1508,7 +1524,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBasePathMappingError { None } } - impl DeleteBasePathMappingError { pub fn new(kind: DeleteBasePathMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1531,18 +1546,21 @@ impl DeleteBasePathMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBasePathMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1569,7 +1587,6 @@ pub enum DeleteClientCertificateErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1592,7 +1609,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteClientCertificateError { None } } - impl DeleteClientCertificateError { pub fn new(kind: DeleteClientCertificateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1615,18 +1631,21 @@ impl DeleteClientCertificateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteClientCertificateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1652,7 +1671,6 @@ pub enum DeleteDeploymentErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1675,7 +1693,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteDeploymentError { None } } - impl DeleteDeploymentError { pub fn new(kind: DeleteDeploymentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1698,18 +1715,21 @@ impl DeleteDeploymentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteDeploymentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1736,7 +1756,6 @@ pub enum DeleteDocumentationPartErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1760,7 +1779,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteDocumentationPartError { None } } - impl DeleteDocumentationPartError { pub fn new(kind: DeleteDocumentationPartErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1783,18 +1801,21 @@ impl DeleteDocumentationPartError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteDocumentationPartError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1822,7 +1843,6 @@ pub enum DeleteDocumentationVersionErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1846,7 +1866,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteDocumentationVersionError { None } } - impl DeleteDocumentationVersionError { pub fn new(kind: DeleteDocumentationVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1869,18 +1888,21 @@ impl DeleteDocumentationVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteDocumentationVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1907,7 +1929,6 @@ pub enum DeleteDomainNameErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1930,7 +1951,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteDomainNameError { None } } - impl DeleteDomainNameError { pub fn new(kind: DeleteDomainNameErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1953,18 +1973,21 @@ impl DeleteDomainNameError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteDomainNameError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1991,7 +2014,6 @@ pub enum DeleteGatewayResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2015,7 +2037,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteGatewayResponseError { None } } - impl DeleteGatewayResponseError { pub fn new(kind: DeleteGatewayResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2038,18 +2059,21 @@ impl DeleteGatewayResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteGatewayResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2076,7 +2100,6 @@ pub enum DeleteIntegrationErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2099,7 +2122,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteIntegrationError { None } } - impl DeleteIntegrationError { pub fn new(kind: DeleteIntegrationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2122,18 +2144,21 @@ impl DeleteIntegrationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteIntegrationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2160,7 +2185,6 @@ pub enum DeleteIntegrationResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2184,7 +2208,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteIntegrationResponseError { None } } - impl DeleteIntegrationResponseError { pub fn new(kind: DeleteIntegrationResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2207,18 +2230,21 @@ impl DeleteIntegrationResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteIntegrationResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2245,7 +2271,6 @@ pub enum DeleteMethodErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2268,7 +2293,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteMethodError { None } } - impl DeleteMethodError { pub fn new(kind: DeleteMethodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2291,18 +2315,21 @@ impl DeleteMethodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteMethodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2329,7 +2356,6 @@ pub enum DeleteMethodResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2353,7 +2379,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteMethodResponseError { None } } - impl DeleteMethodResponseError { pub fn new(kind: DeleteMethodResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2376,18 +2401,21 @@ impl DeleteMethodResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteMethodResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2415,7 +2443,6 @@ pub enum DeleteModelErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2439,7 +2466,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteModelError { None } } - impl DeleteModelError { pub fn new(kind: DeleteModelErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2462,18 +2488,21 @@ impl DeleteModelError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteModelError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2501,7 +2530,6 @@ pub enum DeleteRequestValidatorErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2525,7 +2553,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteRequestValidatorError { None } } - impl DeleteRequestValidatorError { pub fn new(kind: DeleteRequestValidatorErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2548,18 +2575,21 @@ impl DeleteRequestValidatorError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteRequestValidatorError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2587,7 +2617,6 @@ pub enum DeleteResourceErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2611,7 +2640,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteResourceError { None } } - impl DeleteResourceError { pub fn new(kind: DeleteResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2634,18 +2662,21 @@ impl DeleteResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2672,7 +2703,6 @@ pub enum DeleteRestApiErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2695,7 +2725,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteRestApiError { None } } - impl DeleteRestApiError { pub fn new(kind: DeleteRestApiErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2718,18 +2747,21 @@ impl DeleteRestApiError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteRestApiError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2755,7 +2787,6 @@ pub enum DeleteStageErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2778,7 +2809,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteStageError { None } } - impl DeleteStageError { pub fn new(kind: DeleteStageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2801,18 +2831,21 @@ impl DeleteStageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteStageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2838,7 +2871,6 @@ pub enum DeleteUsagePlanErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2861,7 +2893,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteUsagePlanError { None } } - impl DeleteUsagePlanError { pub fn new(kind: DeleteUsagePlanErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2884,18 +2915,21 @@ impl DeleteUsagePlanError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteUsagePlanError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2922,7 +2956,6 @@ pub enum DeleteUsagePlanKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2946,7 +2979,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteUsagePlanKeyError { None } } - impl DeleteUsagePlanKeyError { pub fn new(kind: DeleteUsagePlanKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2969,18 +3001,21 @@ impl DeleteUsagePlanKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteUsagePlanKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3007,7 +3042,6 @@ pub enum DeleteVpcLinkErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3030,7 +3064,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteVpcLinkError { None } } - impl DeleteVpcLinkError { pub fn new(kind: DeleteVpcLinkErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3053,18 +3086,21 @@ impl DeleteVpcLinkError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteVpcLinkError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3090,7 +3126,6 @@ pub enum FlushStageAuthorizersCacheErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3113,7 +3148,6 @@ impl smithy_types::retry::ProvideErrorKind for FlushStageAuthorizersCacheError { None } } - impl FlushStageAuthorizersCacheError { pub fn new(kind: FlushStageAuthorizersCacheErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3136,18 +3170,21 @@ impl FlushStageAuthorizersCacheError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for FlushStageAuthorizersCacheError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3173,7 +3210,6 @@ pub enum FlushStageCacheErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3196,7 +3232,6 @@ impl smithy_types::retry::ProvideErrorKind for FlushStageCacheError { None } } - impl FlushStageCacheError { pub fn new(kind: FlushStageCacheErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3219,18 +3254,21 @@ impl FlushStageCacheError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for FlushStageCacheError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3255,7 +3293,6 @@ pub enum GenerateClientCertificateErrorKind { LimitExceededError(crate::error::LimitExceededError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3277,7 +3314,6 @@ impl smithy_types::retry::ProvideErrorKind for GenerateClientCertificateError { None } } - impl GenerateClientCertificateError { pub fn new(kind: GenerateClientCertificateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3300,18 +3336,21 @@ impl GenerateClientCertificateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GenerateClientCertificateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3335,7 +3374,6 @@ pub enum GetAccountErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3357,7 +3395,6 @@ impl smithy_types::retry::ProvideErrorKind for GetAccountError { None } } - impl GetAccountError { pub fn new(kind: GetAccountErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3380,18 +3417,21 @@ impl GetAccountError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetAccountError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3415,7 +3455,6 @@ pub enum GetApiKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3437,7 +3476,6 @@ impl smithy_types::retry::ProvideErrorKind for GetApiKeyError { None } } - impl GetApiKeyError { pub fn new(kind: GetApiKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3460,18 +3498,21 @@ impl GetApiKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetApiKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3495,7 +3536,6 @@ pub enum GetApiKeysErrorKind { BadRequestError(crate::error::BadRequestError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3517,7 +3557,6 @@ impl smithy_types::retry::ProvideErrorKind for GetApiKeysError { None } } - impl GetApiKeysError { pub fn new(kind: GetApiKeysErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3540,18 +3579,21 @@ impl GetApiKeysError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetApiKeysError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3575,7 +3617,6 @@ pub enum GetAuthorizerErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3597,7 +3638,6 @@ impl smithy_types::retry::ProvideErrorKind for GetAuthorizerError { None } } - impl GetAuthorizerError { pub fn new(kind: GetAuthorizerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3620,18 +3660,21 @@ impl GetAuthorizerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetAuthorizerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3656,7 +3699,6 @@ pub enum GetAuthorizersErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3679,7 +3721,6 @@ impl smithy_types::retry::ProvideErrorKind for GetAuthorizersError { None } } - impl GetAuthorizersError { pub fn new(kind: GetAuthorizersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3702,18 +3743,21 @@ impl GetAuthorizersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetAuthorizersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3738,7 +3782,6 @@ pub enum GetBasePathMappingErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3760,7 +3803,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBasePathMappingError { None } } - impl GetBasePathMappingError { pub fn new(kind: GetBasePathMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3783,18 +3825,21 @@ impl GetBasePathMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBasePathMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3818,7 +3863,6 @@ pub enum GetBasePathMappingsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3840,7 +3884,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBasePathMappingsError { None } } - impl GetBasePathMappingsError { pub fn new(kind: GetBasePathMappingsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3863,18 +3906,21 @@ impl GetBasePathMappingsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBasePathMappingsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3898,7 +3944,6 @@ pub enum GetClientCertificateErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3920,7 +3965,6 @@ impl smithy_types::retry::ProvideErrorKind for GetClientCertificateError { None } } - impl GetClientCertificateError { pub fn new(kind: GetClientCertificateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3943,18 +3987,21 @@ impl GetClientCertificateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetClientCertificateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3978,7 +4025,6 @@ pub enum GetClientCertificatesErrorKind { BadRequestError(crate::error::BadRequestError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4000,7 +4046,6 @@ impl smithy_types::retry::ProvideErrorKind for GetClientCertificatesError { None } } - impl GetClientCertificatesError { pub fn new(kind: GetClientCertificatesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4023,18 +4068,21 @@ impl GetClientCertificatesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetClientCertificatesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4059,7 +4107,6 @@ pub enum GetDeploymentErrorKind { ServiceUnavailableError(crate::error::ServiceUnavailableError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4082,7 +4129,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDeploymentError { None } } - impl GetDeploymentError { pub fn new(kind: GetDeploymentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4105,18 +4151,21 @@ impl GetDeploymentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDeploymentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4143,7 +4192,6 @@ pub enum GetDeploymentsErrorKind { ServiceUnavailableError(crate::error::ServiceUnavailableError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4167,7 +4215,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDeploymentsError { None } } - impl GetDeploymentsError { pub fn new(kind: GetDeploymentsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4190,18 +4237,21 @@ impl GetDeploymentsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDeploymentsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4227,7 +4277,6 @@ pub enum GetDocumentationPartErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4249,7 +4298,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDocumentationPartError { None } } - impl GetDocumentationPartError { pub fn new(kind: GetDocumentationPartErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4272,18 +4320,21 @@ impl GetDocumentationPartError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDocumentationPartError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4308,7 +4359,6 @@ pub enum GetDocumentationPartsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4331,7 +4381,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDocumentationPartsError { None } } - impl GetDocumentationPartsError { pub fn new(kind: GetDocumentationPartsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4354,18 +4403,21 @@ impl GetDocumentationPartsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDocumentationPartsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4390,7 +4442,6 @@ pub enum GetDocumentationVersionErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4412,7 +4463,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDocumentationVersionError { None } } - impl GetDocumentationVersionError { pub fn new(kind: GetDocumentationVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4435,18 +4485,21 @@ impl GetDocumentationVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDocumentationVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4471,7 +4524,6 @@ pub enum GetDocumentationVersionsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4494,7 +4546,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDocumentationVersionsError { None } } - impl GetDocumentationVersionsError { pub fn new(kind: GetDocumentationVersionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4517,18 +4568,21 @@ impl GetDocumentationVersionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDocumentationVersionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4554,7 +4608,6 @@ pub enum GetDomainNameErrorKind { ServiceUnavailableError(crate::error::ServiceUnavailableError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4577,7 +4630,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDomainNameError { None } } - impl GetDomainNameError { pub fn new(kind: GetDomainNameErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4600,18 +4652,21 @@ impl GetDomainNameError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDomainNameError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4636,7 +4691,6 @@ pub enum GetDomainNamesErrorKind { BadRequestError(crate::error::BadRequestError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4658,7 +4712,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDomainNamesError { None } } - impl GetDomainNamesError { pub fn new(kind: GetDomainNamesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4681,18 +4734,21 @@ impl GetDomainNamesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDomainNamesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4718,7 +4774,6 @@ pub enum GetExportErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4742,7 +4797,6 @@ impl smithy_types::retry::ProvideErrorKind for GetExportError { None } } - impl GetExportError { pub fn new(kind: GetExportErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4765,18 +4819,21 @@ impl GetExportError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetExportError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4802,7 +4859,6 @@ pub enum GetGatewayResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4824,7 +4880,6 @@ impl smithy_types::retry::ProvideErrorKind for GetGatewayResponseError { None } } - impl GetGatewayResponseError { pub fn new(kind: GetGatewayResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4847,18 +4902,21 @@ impl GetGatewayResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetGatewayResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4883,7 +4941,6 @@ pub enum GetGatewayResponsesErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4906,7 +4963,6 @@ impl smithy_types::retry::ProvideErrorKind for GetGatewayResponsesError { None } } - impl GetGatewayResponsesError { pub fn new(kind: GetGatewayResponsesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4929,18 +4985,21 @@ impl GetGatewayResponsesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetGatewayResponsesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4965,7 +5024,6 @@ pub enum GetIntegrationErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4987,7 +5045,6 @@ impl smithy_types::retry::ProvideErrorKind for GetIntegrationError { None } } - impl GetIntegrationError { pub fn new(kind: GetIntegrationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5010,18 +5067,21 @@ impl GetIntegrationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetIntegrationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5045,7 +5105,6 @@ pub enum GetIntegrationResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5067,7 +5126,6 @@ impl smithy_types::retry::ProvideErrorKind for GetIntegrationResponseError { None } } - impl GetIntegrationResponseError { pub fn new(kind: GetIntegrationResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5090,18 +5148,21 @@ impl GetIntegrationResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetIntegrationResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5125,7 +5186,6 @@ pub enum GetMethodErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5147,7 +5207,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMethodError { None } } - impl GetMethodError { pub fn new(kind: GetMethodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5170,18 +5229,21 @@ impl GetMethodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMethodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5205,7 +5267,6 @@ pub enum GetMethodResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5227,7 +5288,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMethodResponseError { None } } - impl GetMethodResponseError { pub fn new(kind: GetMethodResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5250,18 +5310,21 @@ impl GetMethodResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMethodResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5285,7 +5348,6 @@ pub enum GetModelErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5307,7 +5369,6 @@ impl smithy_types::retry::ProvideErrorKind for GetModelError { None } } - impl GetModelError { pub fn new(kind: GetModelErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5330,18 +5391,21 @@ impl GetModelError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetModelError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5366,7 +5430,6 @@ pub enum GetModelsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5389,7 +5452,6 @@ impl smithy_types::retry::ProvideErrorKind for GetModelsError { None } } - impl GetModelsError { pub fn new(kind: GetModelsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5412,18 +5474,21 @@ impl GetModelsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetModelsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5449,7 +5514,6 @@ pub enum GetModelTemplateErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5472,7 +5536,6 @@ impl smithy_types::retry::ProvideErrorKind for GetModelTemplateError { None } } - impl GetModelTemplateError { pub fn new(kind: GetModelTemplateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5495,18 +5558,21 @@ impl GetModelTemplateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetModelTemplateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5531,7 +5597,6 @@ pub enum GetRequestValidatorErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5553,7 +5618,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRequestValidatorError { None } } - impl GetRequestValidatorError { pub fn new(kind: GetRequestValidatorErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5576,18 +5640,21 @@ impl GetRequestValidatorError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRequestValidatorError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5612,7 +5679,6 @@ pub enum GetRequestValidatorsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5635,7 +5701,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRequestValidatorsError { None } } - impl GetRequestValidatorsError { pub fn new(kind: GetRequestValidatorsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5658,18 +5723,21 @@ impl GetRequestValidatorsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRequestValidatorsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5694,7 +5762,6 @@ pub enum GetResourceErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5716,7 +5783,6 @@ impl smithy_types::retry::ProvideErrorKind for GetResourceError { None } } - impl GetResourceError { pub fn new(kind: GetResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5739,18 +5805,21 @@ impl GetResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5775,7 +5844,6 @@ pub enum GetResourcesErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5798,7 +5866,6 @@ impl smithy_types::retry::ProvideErrorKind for GetResourcesError { None } } - impl GetResourcesError { pub fn new(kind: GetResourcesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5821,18 +5888,21 @@ impl GetResourcesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetResourcesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5857,7 +5927,6 @@ pub enum GetRestApiErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5879,7 +5948,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRestApiError { None } } - impl GetRestApiError { pub fn new(kind: GetRestApiErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5902,18 +5970,21 @@ impl GetRestApiError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRestApiError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5937,7 +6008,6 @@ pub enum GetRestApisErrorKind { BadRequestError(crate::error::BadRequestError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5959,7 +6029,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRestApisError { None } } - impl GetRestApisError { pub fn new(kind: GetRestApisErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5982,18 +6051,21 @@ impl GetRestApisError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRestApisError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6019,7 +6091,6 @@ pub enum GetSdkErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6043,7 +6114,6 @@ impl smithy_types::retry::ProvideErrorKind for GetSdkError { None } } - impl GetSdkError { pub fn new(kind: GetSdkErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6066,18 +6136,21 @@ impl GetSdkError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetSdkError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6103,7 +6176,6 @@ pub enum GetSdkTypeErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6125,7 +6197,6 @@ impl smithy_types::retry::ProvideErrorKind for GetSdkTypeError { None } } - impl GetSdkTypeError { pub fn new(kind: GetSdkTypeErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6148,18 +6219,21 @@ impl GetSdkTypeError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetSdkTypeError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6182,7 +6256,6 @@ pub struct GetSdkTypesError { pub enum GetSdkTypesErrorKind { TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6203,7 +6276,6 @@ impl smithy_types::retry::ProvideErrorKind for GetSdkTypesError { None } } - impl GetSdkTypesError { pub fn new(kind: GetSdkTypesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6226,18 +6298,21 @@ impl GetSdkTypesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetSdkTypesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6260,7 +6335,6 @@ pub enum GetStageErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6282,7 +6356,6 @@ impl smithy_types::retry::ProvideErrorKind for GetStageError { None } } - impl GetStageError { pub fn new(kind: GetStageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6305,18 +6378,21 @@ impl GetStageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetStageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6340,7 +6416,6 @@ pub enum GetStagesErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6362,7 +6437,6 @@ impl smithy_types::retry::ProvideErrorKind for GetStagesError { None } } - impl GetStagesError { pub fn new(kind: GetStagesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6385,18 +6459,21 @@ impl GetStagesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetStagesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6422,7 +6499,6 @@ pub enum GetTagsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6446,7 +6522,6 @@ impl smithy_types::retry::ProvideErrorKind for GetTagsError { None } } - impl GetTagsError { pub fn new(kind: GetTagsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6469,18 +6544,21 @@ impl GetTagsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetTagsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6507,7 +6585,6 @@ pub enum GetUsageErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6530,7 +6607,6 @@ impl smithy_types::retry::ProvideErrorKind for GetUsageError { None } } - impl GetUsageError { pub fn new(kind: GetUsageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6553,18 +6629,21 @@ impl GetUsageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetUsageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6590,7 +6669,6 @@ pub enum GetUsagePlanErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6613,7 +6691,6 @@ impl smithy_types::retry::ProvideErrorKind for GetUsagePlanError { None } } - impl GetUsagePlanError { pub fn new(kind: GetUsagePlanErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6636,18 +6713,21 @@ impl GetUsagePlanError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetUsagePlanError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6673,7 +6753,6 @@ pub enum GetUsagePlanKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6696,7 +6775,6 @@ impl smithy_types::retry::ProvideErrorKind for GetUsagePlanKeyError { None } } - impl GetUsagePlanKeyError { pub fn new(kind: GetUsagePlanKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6719,18 +6797,21 @@ impl GetUsagePlanKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetUsagePlanKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6756,7 +6837,6 @@ pub enum GetUsagePlanKeysErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6779,7 +6859,6 @@ impl smithy_types::retry::ProvideErrorKind for GetUsagePlanKeysError { None } } - impl GetUsagePlanKeysError { pub fn new(kind: GetUsagePlanKeysErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6802,18 +6881,21 @@ impl GetUsagePlanKeysError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetUsagePlanKeysError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6840,7 +6922,6 @@ pub enum GetUsagePlansErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6864,7 +6945,6 @@ impl smithy_types::retry::ProvideErrorKind for GetUsagePlansError { None } } - impl GetUsagePlansError { pub fn new(kind: GetUsagePlansErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6887,18 +6967,21 @@ impl GetUsagePlansError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetUsagePlansError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6924,7 +7007,6 @@ pub enum GetVpcLinkErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6946,7 +7028,6 @@ impl smithy_types::retry::ProvideErrorKind for GetVpcLinkError { None } } - impl GetVpcLinkError { pub fn new(kind: GetVpcLinkErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6969,18 +7050,21 @@ impl GetVpcLinkError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetVpcLinkError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7004,7 +7088,6 @@ pub enum GetVpcLinksErrorKind { BadRequestError(crate::error::BadRequestError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7026,7 +7109,6 @@ impl smithy_types::retry::ProvideErrorKind for GetVpcLinksError { None } } - impl GetVpcLinksError { pub fn new(kind: GetVpcLinksErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7049,18 +7131,21 @@ impl GetVpcLinksError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetVpcLinksError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7087,7 +7172,6 @@ pub enum ImportApiKeysErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7112,7 +7196,6 @@ impl smithy_types::retry::ProvideErrorKind for ImportApiKeysError { None } } - impl ImportApiKeysError { pub fn new(kind: ImportApiKeysErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7135,18 +7218,21 @@ impl ImportApiKeysError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ImportApiKeysError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7175,7 +7261,6 @@ pub enum ImportDocumentationPartsErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7199,7 +7284,6 @@ impl smithy_types::retry::ProvideErrorKind for ImportDocumentationPartsError { None } } - impl ImportDocumentationPartsError { pub fn new(kind: ImportDocumentationPartsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7222,18 +7306,21 @@ impl ImportDocumentationPartsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ImportDocumentationPartsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7261,7 +7348,6 @@ pub enum ImportRestApiErrorKind { LimitExceededError(crate::error::LimitExceededError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7285,7 +7371,6 @@ impl smithy_types::retry::ProvideErrorKind for ImportRestApiError { None } } - impl ImportRestApiError { pub fn new(kind: ImportRestApiErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7308,18 +7393,21 @@ impl ImportRestApiError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ImportRestApiError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7347,7 +7435,6 @@ pub enum PutGatewayResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7371,7 +7458,6 @@ impl smithy_types::retry::ProvideErrorKind for PutGatewayResponseError { None } } - impl PutGatewayResponseError { pub fn new(kind: PutGatewayResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7394,18 +7480,21 @@ impl PutGatewayResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutGatewayResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7433,7 +7522,6 @@ pub enum PutIntegrationErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7457,7 +7545,6 @@ impl smithy_types::retry::ProvideErrorKind for PutIntegrationError { None } } - impl PutIntegrationError { pub fn new(kind: PutIntegrationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7480,18 +7567,21 @@ impl PutIntegrationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutIntegrationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7520,7 +7610,6 @@ pub enum PutIntegrationResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7545,7 +7634,6 @@ impl smithy_types::retry::ProvideErrorKind for PutIntegrationResponseError { None } } - impl PutIntegrationResponseError { pub fn new(kind: PutIntegrationResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7568,18 +7656,21 @@ impl PutIntegrationResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutIntegrationResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7609,7 +7700,6 @@ pub enum PutMethodErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7634,7 +7724,6 @@ impl smithy_types::retry::ProvideErrorKind for PutMethodError { None } } - impl PutMethodError { pub fn new(kind: PutMethodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7657,18 +7746,21 @@ impl PutMethodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutMethodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7698,7 +7790,6 @@ pub enum PutMethodResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7723,7 +7814,6 @@ impl smithy_types::retry::ProvideErrorKind for PutMethodResponseError { None } } - impl PutMethodResponseError { pub fn new(kind: PutMethodResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7746,18 +7836,21 @@ impl PutMethodResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutMethodResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7787,7 +7880,6 @@ pub enum PutRestApiErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7812,7 +7904,6 @@ impl smithy_types::retry::ProvideErrorKind for PutRestApiError { None } } - impl PutRestApiError { pub fn new(kind: PutRestApiErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7835,18 +7926,21 @@ impl PutRestApiError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutRestApiError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7876,7 +7970,6 @@ pub enum TagResourceErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7901,7 +7994,6 @@ impl smithy_types::retry::ProvideErrorKind for TagResourceError { None } } - impl TagResourceError { pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7924,18 +8016,21 @@ impl TagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7963,7 +8058,6 @@ pub enum TestInvokeAuthorizerErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7986,7 +8080,6 @@ impl smithy_types::retry::ProvideErrorKind for TestInvokeAuthorizerError { None } } - impl TestInvokeAuthorizerError { pub fn new(kind: TestInvokeAuthorizerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8009,18 +8102,21 @@ impl TestInvokeAuthorizerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TestInvokeAuthorizerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8046,7 +8142,6 @@ pub enum TestInvokeMethodErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8069,7 +8164,6 @@ impl smithy_types::retry::ProvideErrorKind for TestInvokeMethodError { None } } - impl TestInvokeMethodError { pub fn new(kind: TestInvokeMethodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8092,18 +8186,21 @@ impl TestInvokeMethodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TestInvokeMethodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8130,7 +8227,6 @@ pub enum UntagResourceErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8154,7 +8250,6 @@ impl smithy_types::retry::ProvideErrorKind for UntagResourceError { None } } - impl UntagResourceError { pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8177,18 +8272,21 @@ impl UntagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UntagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8215,7 +8313,6 @@ pub enum UpdateAccountErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8238,7 +8335,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateAccountError { None } } - impl UpdateAccountError { pub fn new(kind: UpdateAccountErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8261,18 +8357,21 @@ impl UpdateAccountError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateAccountError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8299,7 +8398,6 @@ pub enum UpdateApiKeyErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8323,7 +8421,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateApiKeyError { None } } - impl UpdateApiKeyError { pub fn new(kind: UpdateApiKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8346,18 +8443,21 @@ impl UpdateApiKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateApiKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8384,7 +8484,6 @@ pub enum UpdateAuthorizerErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8407,7 +8506,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateAuthorizerError { None } } - impl UpdateAuthorizerError { pub fn new(kind: UpdateAuthorizerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8430,18 +8528,21 @@ impl UpdateAuthorizerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateAuthorizerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8468,7 +8569,6 @@ pub enum UpdateBasePathMappingErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8492,7 +8592,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateBasePathMappingError { None } } - impl UpdateBasePathMappingError { pub fn new(kind: UpdateBasePathMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8515,18 +8614,21 @@ impl UpdateBasePathMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateBasePathMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8553,7 +8655,6 @@ pub enum UpdateClientCertificateErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8576,7 +8677,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateClientCertificateError { None } } - impl UpdateClientCertificateError { pub fn new(kind: UpdateClientCertificateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8599,18 +8699,21 @@ impl UpdateClientCertificateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateClientCertificateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8637,7 +8740,6 @@ pub enum UpdateDeploymentErrorKind { ServiceUnavailableError(crate::error::ServiceUnavailableError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8661,7 +8763,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDeploymentError { None } } - impl UpdateDeploymentError { pub fn new(kind: UpdateDeploymentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8684,18 +8785,21 @@ impl UpdateDeploymentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDeploymentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8724,7 +8828,6 @@ pub enum UpdateDocumentationPartErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8749,7 +8852,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDocumentationPartError { None } } - impl UpdateDocumentationPartError { pub fn new(kind: UpdateDocumentationPartErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8772,18 +8874,21 @@ impl UpdateDocumentationPartError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDocumentationPartError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8812,7 +8917,6 @@ pub enum UpdateDocumentationVersionErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8836,7 +8940,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDocumentationVersionError { None } } - impl UpdateDocumentationVersionError { pub fn new(kind: UpdateDocumentationVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8859,18 +8962,21 @@ impl UpdateDocumentationVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDocumentationVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8898,7 +9004,6 @@ pub enum UpdateDomainNameErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8922,7 +9027,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDomainNameError { None } } - impl UpdateDomainNameError { pub fn new(kind: UpdateDomainNameErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8945,18 +9049,21 @@ impl UpdateDomainNameError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDomainNameError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8983,7 +9090,6 @@ pub enum UpdateGatewayResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9006,7 +9112,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateGatewayResponseError { None } } - impl UpdateGatewayResponseError { pub fn new(kind: UpdateGatewayResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9029,18 +9134,21 @@ impl UpdateGatewayResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateGatewayResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9067,7 +9175,6 @@ pub enum UpdateIntegrationErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9091,7 +9198,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateIntegrationError { None } } - impl UpdateIntegrationError { pub fn new(kind: UpdateIntegrationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9114,18 +9220,21 @@ impl UpdateIntegrationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateIntegrationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9153,7 +9262,6 @@ pub enum UpdateIntegrationResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9177,7 +9285,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateIntegrationResponseError { None } } - impl UpdateIntegrationResponseError { pub fn new(kind: UpdateIntegrationResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9200,18 +9307,21 @@ impl UpdateIntegrationResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateIntegrationResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9239,7 +9349,6 @@ pub enum UpdateMethodErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9263,7 +9372,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateMethodError { None } } - impl UpdateMethodError { pub fn new(kind: UpdateMethodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9286,18 +9394,21 @@ impl UpdateMethodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateMethodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9326,7 +9437,6 @@ pub enum UpdateMethodResponseErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9351,7 +9461,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateMethodResponseError { None } } - impl UpdateMethodResponseError { pub fn new(kind: UpdateMethodResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9374,18 +9483,21 @@ impl UpdateMethodResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateMethodResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9414,7 +9526,6 @@ pub enum UpdateModelErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9438,7 +9549,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateModelError { None } } - impl UpdateModelError { pub fn new(kind: UpdateModelErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9461,18 +9571,21 @@ impl UpdateModelError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateModelError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9499,7 +9612,6 @@ pub enum UpdateRequestValidatorErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9522,7 +9634,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateRequestValidatorError { None } } - impl UpdateRequestValidatorError { pub fn new(kind: UpdateRequestValidatorErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9545,18 +9656,21 @@ impl UpdateRequestValidatorError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateRequestValidatorError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9583,7 +9697,6 @@ pub enum UpdateResourceErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9607,7 +9720,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateResourceError { None } } - impl UpdateResourceError { pub fn new(kind: UpdateResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9630,18 +9742,21 @@ impl UpdateResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9669,7 +9784,6 @@ pub enum UpdateRestApiErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9693,7 +9807,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateRestApiError { None } } - impl UpdateRestApiError { pub fn new(kind: UpdateRestApiErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9716,18 +9829,21 @@ impl UpdateRestApiError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateRestApiError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9755,7 +9871,6 @@ pub enum UpdateStageErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9779,7 +9894,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateStageError { None } } - impl UpdateStageError { pub fn new(kind: UpdateStageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9802,18 +9916,21 @@ impl UpdateStageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateStageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9840,7 +9957,6 @@ pub enum UpdateUsageErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9863,7 +9979,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateUsageError { None } } - impl UpdateUsageError { pub fn new(kind: UpdateUsageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9886,18 +10001,21 @@ impl UpdateUsageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateUsageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9924,7 +10042,6 @@ pub enum UpdateUsagePlanErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9948,7 +10065,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateUsagePlanError { None } } - impl UpdateUsagePlanError { pub fn new(kind: UpdateUsagePlanErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9971,18 +10087,21 @@ impl UpdateUsagePlanError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateUsagePlanError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10010,7 +10129,6 @@ pub enum UpdateVpcLinkErrorKind { NotFoundError(crate::error::NotFoundError), TooManyRequestsError(crate::error::TooManyRequestsError), UnauthorizedError(crate::error::UnauthorizedError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10034,7 +10152,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateVpcLinkError { None } } - impl UpdateVpcLinkError { pub fn new(kind: UpdateVpcLinkErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10057,18 +10174,21 @@ impl UpdateVpcLinkError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateVpcLinkError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10084,10 +10204,9 @@ impl std::error::Error for UpdateVpcLinkError { ///

The request is denied because the caller has insufficient permissions.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnauthorizedError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -10147,14 +10266,12 @@ impl UnauthorizedError { ///

The request has reached its throttling limit. Retry after the specified time period.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TooManyRequestsError { #[serde(rename = "retryAfterSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retry_after_seconds: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -10228,10 +10345,9 @@ impl TooManyRequestsError { ///

The requested resource is not found. Make sure that the request URI is correct.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct NotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -10291,10 +10407,9 @@ impl NotFoundError { ///

The request configuration has conflicts. For details, see the accompanying error message.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ConflictError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -10354,10 +10469,9 @@ impl ConflictError { ///

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BadRequestError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -10417,14 +10531,12 @@ impl BadRequestError { ///

The request exceeded the rate limit. Retry after the specified time period.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { #[serde(rename = "retryAfterSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retry_after_seconds: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -10498,14 +10610,12 @@ impl LimitExceededError { ///

The requested service is not available. For details see the accompanying error message. Retry after the specified time period.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceUnavailableError { #[serde(rename = "retryAfterSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retry_after_seconds: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/apigateway/src/http_serde.rs b/sdk/apigateway/src/http_serde.rs index 46f738c37b5a..b5789de53454 100644 --- a/sdk/apigateway/src/http_serde.rs +++ b/sdk/apigateway/src/http_serde.rs @@ -4,7 +4,6 @@ pub fn deser_header_create_api_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_1: Vec = smithy_http::header::read_many(headers)?; - if var_1.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -18,7 +17,6 @@ pub fn deser_header_create_authorizer_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_2: Vec = smithy_http::header::read_many(headers)?; - if var_2.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -32,7 +30,6 @@ pub fn deser_header_create_base_path_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_3: Vec = smithy_http::header::read_many(headers)?; - if var_3.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -46,7 +43,6 @@ pub fn deser_header_create_deployment_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_4: Vec = smithy_http::header::read_many(headers)?; - if var_4.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -60,7 +56,6 @@ pub fn deser_header_create_documentation_part_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_5: Vec = smithy_http::header::read_many(headers)?; - if var_5.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -74,7 +69,6 @@ pub fn deser_header_create_documentation_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_6: Vec = smithy_http::header::read_many(headers)?; - if var_6.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -88,7 +82,6 @@ pub fn deser_header_create_domain_name_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_7: Vec = smithy_http::header::read_many(headers)?; - if var_7.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -102,7 +95,6 @@ pub fn deser_header_create_model_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_8: Vec = smithy_http::header::read_many(headers)?; - if var_8.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -116,7 +108,6 @@ pub fn deser_header_create_request_validator_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_9: Vec = smithy_http::header::read_many(headers)?; - if var_9.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -130,7 +121,6 @@ pub fn deser_header_create_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_10: Vec = smithy_http::header::read_many(headers)?; - if var_10.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -144,7 +134,6 @@ pub fn deser_header_create_rest_api_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_11: Vec = smithy_http::header::read_many(headers)?; - if var_11.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -158,7 +147,6 @@ pub fn deser_header_create_stage_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_12: Vec = smithy_http::header::read_many(headers)?; - if var_12.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -172,7 +160,6 @@ pub fn deser_header_create_usage_plan_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_13: Vec = smithy_http::header::read_many(headers)?; - if var_13.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -186,7 +173,6 @@ pub fn deser_header_create_usage_plan_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_14: Vec = smithy_http::header::read_many(headers)?; - if var_14.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -200,7 +186,6 @@ pub fn deser_header_create_vpc_link_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_15: Vec = smithy_http::header::read_many(headers)?; - if var_15.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -214,7 +199,6 @@ pub fn deser_header_delete_api_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_16: Vec = smithy_http::header::read_many(headers)?; - if var_16.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -228,7 +212,6 @@ pub fn deser_header_delete_authorizer_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_17: Vec = smithy_http::header::read_many(headers)?; - if var_17.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -242,7 +225,6 @@ pub fn deser_header_delete_base_path_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_18: Vec = smithy_http::header::read_many(headers)?; - if var_18.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -256,7 +238,6 @@ pub fn deser_header_delete_client_certificate_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_19: Vec = smithy_http::header::read_many(headers)?; - if var_19.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -270,7 +251,6 @@ pub fn deser_header_delete_deployment_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_20: Vec = smithy_http::header::read_many(headers)?; - if var_20.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -284,7 +264,6 @@ pub fn deser_header_delete_documentation_part_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_21: Vec = smithy_http::header::read_many(headers)?; - if var_21.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -298,7 +277,6 @@ pub fn deser_header_delete_documentation_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_22: Vec = smithy_http::header::read_many(headers)?; - if var_22.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -312,7 +290,6 @@ pub fn deser_header_delete_domain_name_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_23: Vec = smithy_http::header::read_many(headers)?; - if var_23.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -326,7 +303,6 @@ pub fn deser_header_delete_gateway_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_24: Vec = smithy_http::header::read_many(headers)?; - if var_24.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -340,7 +316,6 @@ pub fn deser_header_delete_integration_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_25: Vec = smithy_http::header::read_many(headers)?; - if var_25.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -354,7 +329,6 @@ pub fn deser_header_delete_integration_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_26: Vec = smithy_http::header::read_many(headers)?; - if var_26.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -368,7 +342,6 @@ pub fn deser_header_delete_method_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_27: Vec = smithy_http::header::read_many(headers)?; - if var_27.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -382,7 +355,6 @@ pub fn deser_header_delete_method_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_28: Vec = smithy_http::header::read_many(headers)?; - if var_28.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -396,7 +368,6 @@ pub fn deser_header_delete_model_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_29: Vec = smithy_http::header::read_many(headers)?; - if var_29.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -410,7 +381,6 @@ pub fn deser_header_delete_request_validator_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_30: Vec = smithy_http::header::read_many(headers)?; - if var_30.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -424,7 +394,6 @@ pub fn deser_header_delete_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_31: Vec = smithy_http::header::read_many(headers)?; - if var_31.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -438,7 +407,6 @@ pub fn deser_header_delete_rest_api_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_32: Vec = smithy_http::header::read_many(headers)?; - if var_32.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -452,7 +420,6 @@ pub fn deser_header_delete_stage_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_33: Vec = smithy_http::header::read_many(headers)?; - if var_33.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -466,7 +433,6 @@ pub fn deser_header_delete_usage_plan_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_34: Vec = smithy_http::header::read_many(headers)?; - if var_34.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -480,7 +446,6 @@ pub fn deser_header_delete_usage_plan_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_35: Vec = smithy_http::header::read_many(headers)?; - if var_35.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -494,7 +459,6 @@ pub fn deser_header_delete_vpc_link_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_36: Vec = smithy_http::header::read_many(headers)?; - if var_36.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -508,7 +472,6 @@ pub fn deser_header_flush_stage_authorizers_cache_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_37: Vec = smithy_http::header::read_many(headers)?; - if var_37.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -522,7 +485,6 @@ pub fn deser_header_flush_stage_cache_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_38: Vec = smithy_http::header::read_many(headers)?; - if var_38.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -536,7 +498,6 @@ pub fn deser_header_generate_client_certificate_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_39: Vec = smithy_http::header::read_many(headers)?; - if var_39.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -550,7 +511,6 @@ pub fn deser_header_get_account_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_40: Vec = smithy_http::header::read_many(headers)?; - if var_40.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -564,7 +524,6 @@ pub fn deser_header_get_api_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_41: Vec = smithy_http::header::read_many(headers)?; - if var_41.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -578,7 +537,6 @@ pub fn deser_header_get_api_keys_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_42: Vec = smithy_http::header::read_many(headers)?; - if var_42.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -592,7 +550,6 @@ pub fn deser_header_get_authorizer_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_43: Vec = smithy_http::header::read_many(headers)?; - if var_43.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -606,7 +563,6 @@ pub fn deser_header_get_authorizers_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_44: Vec = smithy_http::header::read_many(headers)?; - if var_44.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -620,7 +576,6 @@ pub fn deser_header_get_base_path_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_45: Vec = smithy_http::header::read_many(headers)?; - if var_45.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -634,7 +589,6 @@ pub fn deser_header_get_base_path_mappings_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_46: Vec = smithy_http::header::read_many(headers)?; - if var_46.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -648,7 +602,6 @@ pub fn deser_header_get_client_certificate_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_47: Vec = smithy_http::header::read_many(headers)?; - if var_47.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -662,7 +615,6 @@ pub fn deser_header_get_client_certificates_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_48: Vec = smithy_http::header::read_many(headers)?; - if var_48.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -676,7 +628,6 @@ pub fn deser_header_get_deployment_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_49: Vec = smithy_http::header::read_many(headers)?; - if var_49.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -690,7 +641,6 @@ pub fn deser_header_get_deployments_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_50: Vec = smithy_http::header::read_many(headers)?; - if var_50.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -704,7 +654,6 @@ pub fn deser_header_get_documentation_part_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_51: Vec = smithy_http::header::read_many(headers)?; - if var_51.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -718,7 +667,6 @@ pub fn deser_header_get_documentation_parts_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_52: Vec = smithy_http::header::read_many(headers)?; - if var_52.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -732,7 +680,6 @@ pub fn deser_header_get_documentation_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_53: Vec = smithy_http::header::read_many(headers)?; - if var_53.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -746,7 +693,6 @@ pub fn deser_header_get_documentation_versions_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_54: Vec = smithy_http::header::read_many(headers)?; - if var_54.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -760,7 +706,6 @@ pub fn deser_header_get_domain_name_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_55: Vec = smithy_http::header::read_many(headers)?; - if var_55.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -774,7 +719,6 @@ pub fn deser_header_get_domain_names_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_56: Vec = smithy_http::header::read_many(headers)?; - if var_56.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -788,7 +732,6 @@ pub fn deser_header_get_export_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_57: Vec = smithy_http::header::read_many(headers)?; - if var_57.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -802,7 +745,6 @@ pub fn deser_header_get_export_content_type( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Type").iter(); let var_58: Vec = smithy_http::header::read_many(headers)?; - if var_58.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -816,7 +758,6 @@ pub fn deser_header_get_export_content_disposition( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Disposition").iter(); let var_59: Vec = smithy_http::header::read_many(headers)?; - if var_59.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -838,7 +779,6 @@ pub fn deser_header_get_gateway_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_60: Vec = smithy_http::header::read_many(headers)?; - if var_60.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -852,7 +792,6 @@ pub fn deser_header_get_gateway_responses_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_61: Vec = smithy_http::header::read_many(headers)?; - if var_61.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -866,7 +805,6 @@ pub fn deser_header_get_integration_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_62: Vec = smithy_http::header::read_many(headers)?; - if var_62.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -880,7 +818,6 @@ pub fn deser_header_get_integration_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_63: Vec = smithy_http::header::read_many(headers)?; - if var_63.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -894,7 +831,6 @@ pub fn deser_header_get_method_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_64: Vec = smithy_http::header::read_many(headers)?; - if var_64.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -908,7 +844,6 @@ pub fn deser_header_get_method_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_65: Vec = smithy_http::header::read_many(headers)?; - if var_65.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -922,7 +857,6 @@ pub fn deser_header_get_model_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_66: Vec = smithy_http::header::read_many(headers)?; - if var_66.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -936,7 +870,6 @@ pub fn deser_header_get_models_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_67: Vec = smithy_http::header::read_many(headers)?; - if var_67.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -950,7 +883,6 @@ pub fn deser_header_get_model_template_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_68: Vec = smithy_http::header::read_many(headers)?; - if var_68.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -964,7 +896,6 @@ pub fn deser_header_get_request_validator_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_69: Vec = smithy_http::header::read_many(headers)?; - if var_69.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -978,7 +909,6 @@ pub fn deser_header_get_request_validators_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_70: Vec = smithy_http::header::read_many(headers)?; - if var_70.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -992,7 +922,6 @@ pub fn deser_header_get_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_71: Vec = smithy_http::header::read_many(headers)?; - if var_71.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1006,7 +935,6 @@ pub fn deser_header_get_resources_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_72: Vec = smithy_http::header::read_many(headers)?; - if var_72.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1020,7 +948,6 @@ pub fn deser_header_get_rest_api_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_73: Vec = smithy_http::header::read_many(headers)?; - if var_73.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1034,7 +961,6 @@ pub fn deser_header_get_rest_apis_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_74: Vec = smithy_http::header::read_many(headers)?; - if var_74.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1048,7 +974,6 @@ pub fn deser_header_get_sdk_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_75: Vec = smithy_http::header::read_many(headers)?; - if var_75.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1062,7 +987,6 @@ pub fn deser_header_get_sdk_content_type( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Type").iter(); let var_76: Vec = smithy_http::header::read_many(headers)?; - if var_76.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1076,7 +1000,6 @@ pub fn deser_header_get_sdk_content_disposition( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Disposition").iter(); let var_77: Vec = smithy_http::header::read_many(headers)?; - if var_77.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1098,7 +1021,6 @@ pub fn deser_header_get_sdk_type_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_78: Vec = smithy_http::header::read_many(headers)?; - if var_78.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1112,7 +1034,6 @@ pub fn deser_header_get_sdk_types_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_79: Vec = smithy_http::header::read_many(headers)?; - if var_79.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1126,7 +1047,6 @@ pub fn deser_header_get_stage_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_80: Vec = smithy_http::header::read_many(headers)?; - if var_80.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1140,7 +1060,6 @@ pub fn deser_header_get_stages_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_81: Vec = smithy_http::header::read_many(headers)?; - if var_81.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1154,7 +1073,6 @@ pub fn deser_header_get_tags_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_82: Vec = smithy_http::header::read_many(headers)?; - if var_82.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1168,7 +1086,6 @@ pub fn deser_header_get_usage_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_83: Vec = smithy_http::header::read_many(headers)?; - if var_83.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1182,7 +1099,6 @@ pub fn deser_header_get_usage_plan_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_84: Vec = smithy_http::header::read_many(headers)?; - if var_84.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1196,7 +1112,6 @@ pub fn deser_header_get_usage_plan_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_85: Vec = smithy_http::header::read_many(headers)?; - if var_85.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1210,7 +1125,6 @@ pub fn deser_header_get_usage_plan_keys_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_86: Vec = smithy_http::header::read_many(headers)?; - if var_86.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1224,7 +1138,6 @@ pub fn deser_header_get_usage_plans_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_87: Vec = smithy_http::header::read_many(headers)?; - if var_87.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1238,7 +1151,6 @@ pub fn deser_header_get_vpc_link_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_88: Vec = smithy_http::header::read_many(headers)?; - if var_88.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1252,7 +1164,6 @@ pub fn deser_header_get_vpc_links_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_89: Vec = smithy_http::header::read_many(headers)?; - if var_89.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1266,7 +1177,6 @@ pub fn deser_header_import_api_keys_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_90: Vec = smithy_http::header::read_many(headers)?; - if var_90.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1280,7 +1190,6 @@ pub fn deser_header_import_documentation_parts_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_91: Vec = smithy_http::header::read_many(headers)?; - if var_91.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1294,7 +1203,6 @@ pub fn deser_header_import_rest_api_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_92: Vec = smithy_http::header::read_many(headers)?; - if var_92.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1308,7 +1216,6 @@ pub fn deser_header_put_gateway_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_93: Vec = smithy_http::header::read_many(headers)?; - if var_93.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1322,7 +1229,6 @@ pub fn deser_header_put_integration_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_94: Vec = smithy_http::header::read_many(headers)?; - if var_94.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1336,7 +1242,6 @@ pub fn deser_header_put_integration_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_95: Vec = smithy_http::header::read_many(headers)?; - if var_95.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1350,7 +1255,6 @@ pub fn deser_header_put_method_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_96: Vec = smithy_http::header::read_many(headers)?; - if var_96.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1364,7 +1268,6 @@ pub fn deser_header_put_method_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_97: Vec = smithy_http::header::read_many(headers)?; - if var_97.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1378,7 +1281,6 @@ pub fn deser_header_put_rest_api_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_98: Vec = smithy_http::header::read_many(headers)?; - if var_98.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1392,7 +1294,6 @@ pub fn deser_header_tag_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_99: Vec = smithy_http::header::read_many(headers)?; - if var_99.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1406,7 +1307,6 @@ pub fn deser_header_test_invoke_authorizer_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_100: Vec = smithy_http::header::read_many(headers)?; - if var_100.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1420,7 +1320,6 @@ pub fn deser_header_test_invoke_method_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_101: Vec = smithy_http::header::read_many(headers)?; - if var_101.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1434,7 +1333,6 @@ pub fn deser_header_untag_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_102: Vec = smithy_http::header::read_many(headers)?; - if var_102.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1448,7 +1346,6 @@ pub fn deser_header_update_account_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_103: Vec = smithy_http::header::read_many(headers)?; - if var_103.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1462,7 +1359,6 @@ pub fn deser_header_update_api_key_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_104: Vec = smithy_http::header::read_many(headers)?; - if var_104.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1476,7 +1372,6 @@ pub fn deser_header_update_authorizer_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_105: Vec = smithy_http::header::read_many(headers)?; - if var_105.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1490,7 +1385,6 @@ pub fn deser_header_update_base_path_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_106: Vec = smithy_http::header::read_many(headers)?; - if var_106.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1504,7 +1398,6 @@ pub fn deser_header_update_client_certificate_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_107: Vec = smithy_http::header::read_many(headers)?; - if var_107.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1518,7 +1411,6 @@ pub fn deser_header_update_deployment_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_108: Vec = smithy_http::header::read_many(headers)?; - if var_108.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1532,7 +1424,6 @@ pub fn deser_header_update_documentation_part_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_109: Vec = smithy_http::header::read_many(headers)?; - if var_109.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1546,7 +1437,6 @@ pub fn deser_header_update_documentation_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_110: Vec = smithy_http::header::read_many(headers)?; - if var_110.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1560,7 +1450,6 @@ pub fn deser_header_update_domain_name_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_111: Vec = smithy_http::header::read_many(headers)?; - if var_111.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1574,7 +1463,6 @@ pub fn deser_header_update_gateway_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_112: Vec = smithy_http::header::read_many(headers)?; - if var_112.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1588,7 +1476,6 @@ pub fn deser_header_update_integration_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_113: Vec = smithy_http::header::read_many(headers)?; - if var_113.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1602,7 +1489,6 @@ pub fn deser_header_update_integration_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_114: Vec = smithy_http::header::read_many(headers)?; - if var_114.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1616,7 +1502,6 @@ pub fn deser_header_update_method_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_115: Vec = smithy_http::header::read_many(headers)?; - if var_115.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1630,7 +1515,6 @@ pub fn deser_header_update_method_response_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_116: Vec = smithy_http::header::read_many(headers)?; - if var_116.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1644,7 +1528,6 @@ pub fn deser_header_update_model_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_117: Vec = smithy_http::header::read_many(headers)?; - if var_117.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1658,7 +1541,6 @@ pub fn deser_header_update_request_validator_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_118: Vec = smithy_http::header::read_many(headers)?; - if var_118.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1672,7 +1554,6 @@ pub fn deser_header_update_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_119: Vec = smithy_http::header::read_many(headers)?; - if var_119.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1686,7 +1567,6 @@ pub fn deser_header_update_rest_api_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_120: Vec = smithy_http::header::read_many(headers)?; - if var_120.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1700,7 +1580,6 @@ pub fn deser_header_update_stage_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_121: Vec = smithy_http::header::read_many(headers)?; - if var_121.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1714,7 +1593,6 @@ pub fn deser_header_update_usage_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_122: Vec = smithy_http::header::read_many(headers)?; - if var_122.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1728,7 +1606,6 @@ pub fn deser_header_update_usage_plan_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_123: Vec = smithy_http::header::read_many(headers)?; - if var_123.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1742,7 +1619,6 @@ pub fn deser_header_update_vpc_link_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_124: Vec = smithy_http::header::read_many(headers)?; - if var_124.len() > 1 { Err(smithy_http::header::ParseError) } else { diff --git a/sdk/apigateway/src/input.rs b/sdk/apigateway/src/input.rs index 65c3706da7f0..430404d1f143 100644 --- a/sdk/apigateway/src/input.rs +++ b/sdk/apigateway/src/input.rs @@ -136,51 +136,42 @@ impl CreateApiKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_api_key_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_create_api_key(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateApiKey::new(), @@ -189,7 +180,6 @@ impl CreateApiKeyInput { "CreateApiKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -391,52 +381,41 @@ impl CreateAuthorizerInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_authorizer_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_authorizer(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateAuthorizer::new(), @@ -445,7 +424,6 @@ impl CreateAuthorizerInput { "CreateAuthorizer", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -567,54 +545,42 @@ impl CreateBasePathMappingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_base_path_mapping_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_base_path_mapping(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateBasePathMapping::new(), @@ -623,7 +589,6 @@ impl CreateBasePathMappingInput { "CreateBasePathMapping", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -821,52 +786,41 @@ impl CreateDeploymentInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_deployment_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_deployment(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateDeployment::new(), @@ -875,7 +829,6 @@ impl CreateDeploymentInput { "CreateDeployment", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -989,54 +942,42 @@ impl CreateDocumentationPartInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_documentation_part_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_documentation_part(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateDocumentationPart::new(), @@ -1045,7 +986,6 @@ impl CreateDocumentationPartInput { "CreateDocumentationPart", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1171,53 +1111,42 @@ impl CreateDocumentationVersionInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_create_documentation_version_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_create_documentation_version(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateDocumentationVersion::new(), @@ -1226,7 +1155,6 @@ impl CreateDocumentationVersionInput { "CreateDocumentationVersion", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1482,52 +1410,42 @@ impl CreateDomainNameInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_domain_name_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_domain_name(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateDomainName::new(), @@ -1536,7 +1454,6 @@ impl CreateDomainNameInput { "CreateDomainName", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1663,51 +1580,42 @@ impl CreateModelInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_model_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateModel::new(), @@ -1716,7 +1624,6 @@ impl CreateModelInput { "CreateModel", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1838,54 +1745,42 @@ impl CreateRequestValidatorInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_request_validator_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_request_validator(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateRequestValidator::new(), @@ -1894,7 +1789,6 @@ impl CreateRequestValidatorInput { "CreateRequestValidator", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2004,51 +1898,41 @@ impl CreateResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateResource::new(), @@ -2057,7 +1941,6 @@ impl CreateResourceInput { "CreateResource", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2278,51 +2161,41 @@ impl CreateRestApiInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_rest_api_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_rest_api(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateRestApi::new(), @@ -2331,7 +2204,6 @@ impl CreateRestApiInput { "CreateRestApi", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2557,51 +2429,42 @@ impl CreateStageInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_stage_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_stage(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateStage::new(), @@ -2610,7 +2473,6 @@ impl CreateStageInput { "CreateStage", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2773,52 +2635,41 @@ impl CreateUsagePlanInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_usage_plan_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_usage_plan(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateUsagePlan::new(), @@ -2827,7 +2678,6 @@ impl CreateUsagePlanInput { "CreateUsagePlan", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2933,52 +2783,42 @@ impl CreateUsagePlanKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_usage_plan_key_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_create_usage_plan_key(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateUsagePlanKey::new(), @@ -2987,7 +2827,6 @@ impl CreateUsagePlanKeyInput { "CreateUsagePlanKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3124,51 +2963,41 @@ impl CreateVpcLinkInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_vpc_link_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_vpc_link(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateVpcLink::new(), @@ -3177,7 +3006,6 @@ impl CreateVpcLinkInput { "CreateVpcLink", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3262,46 +3090,37 @@ impl DeleteApiKeyInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteApiKey::new(), @@ -3310,7 +3129,6 @@ impl DeleteApiKeyInput { "DeleteApiKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3412,46 +3230,37 @@ impl DeleteAuthorizerInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteAuthorizer::new(), @@ -3460,7 +3269,6 @@ impl DeleteAuthorizerInput { "DeleteAuthorizer", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3564,46 +3372,37 @@ impl DeleteBasePathMappingInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBasePathMapping::new(), @@ -3612,7 +3411,6 @@ impl DeleteBasePathMappingInput { "DeleteBasePathMapping", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3704,46 +3502,37 @@ impl DeleteClientCertificateInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteClientCertificate::new(), @@ -3752,7 +3541,6 @@ impl DeleteClientCertificateInput { "DeleteClientCertificate", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3855,46 +3643,37 @@ impl DeleteDeploymentInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteDeployment::new(), @@ -3903,7 +3682,6 @@ impl DeleteDeploymentInput { "DeleteDeployment", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4006,46 +3784,37 @@ impl DeleteDocumentationPartInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteDocumentationPart::new(), @@ -4054,7 +3823,6 @@ impl DeleteDocumentationPartInput { "DeleteDocumentationPart", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4158,46 +3926,37 @@ impl DeleteDocumentationVersionInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteDocumentationVersion::new(), @@ -4206,7 +3965,6 @@ impl DeleteDocumentationVersionInput { "DeleteDocumentationVersion", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4299,46 +4057,37 @@ impl DeleteDomainNameInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteDomainName::new(), @@ -4347,7 +4096,6 @@ impl DeleteDomainNameInput { "DeleteDomainName", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4457,46 +4205,37 @@ impl DeleteGatewayResponseInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteGatewayResponse::new(), @@ -4505,7 +4244,6 @@ impl DeleteGatewayResponseInput { "DeleteGatewayResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4619,46 +4357,37 @@ impl DeleteIntegrationInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteIntegration::new(), @@ -4667,7 +4396,6 @@ impl DeleteIntegrationInput { "DeleteIntegration", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4793,46 +4521,37 @@ impl DeleteIntegrationResponseInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteIntegrationResponse::new(), @@ -4841,7 +4560,6 @@ impl DeleteIntegrationResponseInput { "DeleteIntegrationResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4948,46 +4666,37 @@ impl DeleteMethodInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteMethod::new(), @@ -4996,7 +4705,6 @@ impl DeleteMethodInput { "DeleteMethod", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5122,46 +4830,37 @@ impl DeleteMethodResponseInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteMethodResponse::new(), @@ -5170,7 +4869,6 @@ impl DeleteMethodResponseInput { "DeleteMethodResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5266,46 +4964,37 @@ impl DeleteModelInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteModel::new(), @@ -5314,7 +5003,6 @@ impl DeleteModelInput { "DeleteModel", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5417,46 +5105,37 @@ impl DeleteRequestValidatorInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteRequestValidator::new(), @@ -5465,7 +5144,6 @@ impl DeleteRequestValidatorInput { "DeleteRequestValidator", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5567,46 +5245,37 @@ impl DeleteResourceInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteResource::new(), @@ -5615,7 +5284,6 @@ impl DeleteResourceInput { "DeleteResource", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5706,46 +5374,37 @@ impl DeleteRestApiInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteRestApi::new(), @@ -5754,7 +5413,6 @@ impl DeleteRestApiInput { "DeleteRestApi", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5855,46 +5513,37 @@ impl DeleteStageInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteStage::new(), @@ -5903,7 +5552,6 @@ impl DeleteStageInput { "DeleteStage", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5995,46 +5643,37 @@ impl DeleteUsagePlanInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteUsagePlan::new(), @@ -6043,7 +5682,6 @@ impl DeleteUsagePlanInput { "DeleteUsagePlan", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6145,46 +5783,37 @@ impl DeleteUsagePlanKeyInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteUsagePlanKey::new(), @@ -6193,7 +5822,6 @@ impl DeleteUsagePlanKeyInput { "DeleteUsagePlanKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6284,46 +5912,37 @@ impl DeleteVpcLinkInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteVpcLink::new(), @@ -6332,7 +5951,6 @@ impl DeleteVpcLinkInput { "DeleteVpcLink", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6434,46 +6052,37 @@ impl FlushStageAuthorizersCacheInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::FlushStageAuthorizersCache::new(), @@ -6482,7 +6091,6 @@ impl FlushStageAuthorizersCacheInput { "FlushStageAuthorizersCache", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6585,46 +6193,37 @@ impl FlushStageCacheInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::FlushStageCache::new(), @@ -6633,7 +6232,6 @@ impl FlushStageCacheInput { "FlushStageCache", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6746,54 +6344,42 @@ impl GenerateClientCertificateInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_generate_client_certificate_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_generate_client_certificate(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GenerateClientCertificate::new(), @@ -6802,7 +6388,6 @@ impl GenerateClientCertificateInput { "GenerateClientCertificate", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6874,46 +6459,37 @@ impl GetAccountInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetAccount::new(), @@ -6922,7 +6498,6 @@ impl GetAccountInput { "GetAccount", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7018,53 +6593,43 @@ impl GetApiKeyInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetApiKey::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetApiKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7205,46 +6770,37 @@ impl GetApiKeysInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetApiKeys::new(), @@ -7253,7 +6809,6 @@ impl GetApiKeysInput { "GetApiKeys", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7368,46 +6923,37 @@ impl GetAuthorizerInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetAuthorizer::new(), @@ -7416,7 +6962,6 @@ impl GetAuthorizerInput { "GetAuthorizer", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7529,46 +7074,37 @@ impl GetAuthorizersInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetAuthorizers::new(), @@ -7577,7 +7113,6 @@ impl GetAuthorizersInput { "GetAuthorizers", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7689,46 +7224,37 @@ impl GetBasePathMappingInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBasePathMapping::new(), @@ -7737,7 +7263,6 @@ impl GetBasePathMappingInput { "GetBasePathMapping", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7851,46 +7376,37 @@ impl GetBasePathMappingsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBasePathMappings::new(), @@ -7899,7 +7415,6 @@ impl GetBasePathMappingsInput { "GetBasePathMappings", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8000,46 +7515,37 @@ impl GetClientCertificateInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetClientCertificate::new(), @@ -8048,7 +7554,6 @@ impl GetClientCertificateInput { "GetClientCertificate", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8151,46 +7656,37 @@ impl GetClientCertificatesInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetClientCertificates::new(), @@ -8199,7 +7695,6 @@ impl GetClientCertificatesInput { "GetClientCertificates", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8320,46 +7815,37 @@ impl GetDeploymentInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDeployment::new(), @@ -8368,7 +7854,6 @@ impl GetDeploymentInput { "GetDeployment", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8490,46 +7975,37 @@ impl GetDeploymentsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDeployments::new(), @@ -8538,7 +8014,6 @@ impl GetDeploymentsInput { "GetDeployments", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8650,46 +8125,37 @@ impl GetDocumentationPartInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDocumentationPart::new(), @@ -8698,7 +8164,6 @@ impl GetDocumentationPartInput { "GetDocumentationPart", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8863,46 +8328,37 @@ impl GetDocumentationPartsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDocumentationParts::new(), @@ -8911,7 +8367,6 @@ impl GetDocumentationPartsInput { "GetDocumentationParts", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9035,46 +8490,37 @@ impl GetDocumentationVersionInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDocumentationVersion::new(), @@ -9083,7 +8529,6 @@ impl GetDocumentationVersionInput { "GetDocumentationVersion", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9198,46 +8643,37 @@ impl GetDocumentationVersionsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDocumentationVersions::new(), @@ -9246,7 +8682,6 @@ impl GetDocumentationVersionsInput { "GetDocumentationVersions", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9346,46 +8781,37 @@ impl GetDomainNameInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDomainName::new(), @@ -9394,7 +8820,6 @@ impl GetDomainNameInput { "GetDomainName", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9495,46 +8920,37 @@ impl GetDomainNamesInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDomainNames::new(), @@ -9543,7 +8959,6 @@ impl GetDomainNamesInput { "GetDomainNames", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9694,53 +9109,43 @@ impl GetExportInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetExport::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetExport", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9877,46 +9282,37 @@ impl GetGatewayResponseInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetGatewayResponse::new(), @@ -9925,7 +9321,6 @@ impl GetGatewayResponseInput { "GetGatewayResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10039,46 +9434,37 @@ impl GetGatewayResponsesInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetGatewayResponses::new(), @@ -10087,7 +9473,6 @@ impl GetGatewayResponsesInput { "GetGatewayResponses", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10209,46 +9594,37 @@ impl GetIntegrationInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetIntegration::new(), @@ -10257,7 +9633,6 @@ impl GetIntegrationInput { "GetIntegration", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10383,46 +9758,37 @@ impl GetIntegrationResponseInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetIntegrationResponse::new(), @@ -10431,7 +9797,6 @@ impl GetIntegrationResponseInput { "GetIntegrationResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10538,53 +9903,43 @@ impl GetMethodInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetMethod::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetMethod", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10710,46 +10065,37 @@ impl GetMethodResponseInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetMethodResponse::new(), @@ -10758,7 +10104,6 @@ impl GetMethodResponseInput { "GetMethodResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10865,53 +10210,43 @@ impl GetModelInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetModel::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetModel", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11031,53 +10366,43 @@ impl GetModelsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetModels::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetModels", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11189,46 +10514,37 @@ impl GetModelTemplateInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetModelTemplate::new(), @@ -11237,7 +10553,6 @@ impl GetModelTemplateInput { "GetModelTemplate", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11340,46 +10655,37 @@ impl GetRequestValidatorInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRequestValidator::new(), @@ -11388,7 +10694,6 @@ impl GetRequestValidatorInput { "GetRequestValidator", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11502,46 +10807,37 @@ impl GetRequestValidatorsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRequestValidators::new(), @@ -11550,7 +10846,6 @@ impl GetRequestValidatorsInput { "GetRequestValidators", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11676,46 +10971,37 @@ impl GetResourceInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetResource::new(), @@ -11724,7 +11010,6 @@ impl GetResourceInput { "GetResource", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11861,46 +11146,37 @@ impl GetResourcesInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetResources::new(), @@ -11909,7 +11185,6 @@ impl GetResourcesInput { "GetResources", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12014,46 +11289,37 @@ impl GetRestApiInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRestApi::new(), @@ -12062,7 +11328,6 @@ impl GetRestApiInput { "GetRestApi", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12163,46 +11428,37 @@ impl GetRestApisInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRestApis::new(), @@ -12211,7 +11467,6 @@ impl GetRestApisInput { "GetRestApis", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12348,53 +11603,43 @@ impl GetSdkInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetSdk::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetSdk", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12486,46 +11731,37 @@ impl GetSdkTypeInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetSdkType::new(), @@ -12534,7 +11770,6 @@ impl GetSdkTypeInput { "GetSdkType", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12635,46 +11870,37 @@ impl GetSdkTypesInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetSdkTypes::new(), @@ -12683,7 +11909,6 @@ impl GetSdkTypesInput { "GetSdkTypes", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12789,53 +12014,43 @@ impl GetStageInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetStage::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetStage", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12937,53 +12152,43 @@ impl GetStagesInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetStages::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetStages", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13099,53 +12304,43 @@ impl GetTagsInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetTags::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetTags", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13300,53 +12495,43 @@ impl GetUsageInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetUsage::new()) .with_metadata(smithy_http::operation::Metadata::new( "GetUsage", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13455,46 +12640,37 @@ impl GetUsagePlanInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetUsagePlan::new(), @@ -13503,7 +12679,6 @@ impl GetUsagePlanInput { "GetUsagePlan", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13605,46 +12780,37 @@ impl GetUsagePlanKeyInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetUsagePlanKey::new(), @@ -13653,7 +12819,6 @@ impl GetUsagePlanKeyInput { "GetUsagePlanKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13778,46 +12943,37 @@ impl GetUsagePlanKeysInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetUsagePlanKeys::new(), @@ -13826,7 +12982,6 @@ impl GetUsagePlanKeysInput { "GetUsagePlanKeys", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13951,46 +13106,37 @@ impl GetUsagePlansInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetUsagePlans::new(), @@ -13999,7 +13145,6 @@ impl GetUsagePlansInput { "GetUsagePlans", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14097,46 +13242,37 @@ impl GetVpcLinkInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetVpcLink::new(), @@ -14145,7 +13281,6 @@ impl GetVpcLinkInput { "GetVpcLink", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14246,46 +13381,37 @@ impl GetVpcLinksInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetVpcLinks::new(), @@ -14294,7 +13420,6 @@ impl GetVpcLinksInput { "GetVpcLinks", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14411,46 +13536,37 @@ impl ImportApiKeysInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_import_api_keys_input(self.body)?; 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ImportApiKeys::new(), @@ -14459,7 +13575,6 @@ impl ImportApiKeysInput { "ImportApiKeys", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14593,46 +13708,37 @@ impl ImportDocumentationPartsInput { let body = crate::operation_ser::ser_payload_import_documentation_parts_input(self.body)?; 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ImportDocumentationParts::new(), @@ -14641,7 +13747,6 @@ impl ImportDocumentationPartsInput { "ImportDocumentationParts", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14779,46 +13884,37 @@ impl ImportRestApiInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_import_rest_api_input(self.body)?; 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ImportRestApi::new(), @@ -14827,7 +13923,6 @@ impl ImportRestApiInput { "ImportRestApi", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15012,52 +14107,42 @@ impl PutGatewayResponseInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_gateway_response_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_put_gateway_response(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutGatewayResponse::new(), @@ -15066,7 +14151,6 @@ impl PutGatewayResponseInput { "PutGatewayResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15389,51 +14473,41 @@ impl PutIntegrationInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_integration_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_put_integration(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutIntegration::new(), @@ -15442,7 +14516,6 @@ impl PutIntegrationInput { "PutIntegration", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15645,54 +14718,42 @@ impl PutIntegrationResponseInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_integration_response_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_put_integration_response(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutIntegrationResponse::new(), @@ -15701,7 +14762,6 @@ impl PutIntegrationResponseInput { "PutIntegrationResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15925,58 +14985,48 @@ impl PutMethodInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_method_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_method(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::PutMethod::new()) .with_metadata(smithy_http::operation::Metadata::new( "PutMethod", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16143,52 +15193,42 @@ impl PutMethodResponseInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_method_response_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_put_method_response(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutMethodResponse::new(), @@ -16197,7 +15237,6 @@ impl PutMethodResponseInput { "PutMethodResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16340,46 +15379,37 @@ impl PutRestApiInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_put_rest_api_input(self.body)?; 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutRestApi::new(), @@ -16388,7 +15418,6 @@ impl PutRestApiInput { "PutRestApi", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16523,51 +15552,42 @@ impl TagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_tag_resource_input_body(&self) - .map_err(|err| { + 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TagResource::new(), @@ -16576,7 +15596,6 @@ impl TagResourceInput { "TagResource", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16793,52 +15812,42 @@ impl TestInvokeAuthorizerInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_test_invoke_authorizer_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_test_invoke_authorizer(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TestInvokeAuthorizer::new(), @@ -16847,7 +15856,6 @@ impl TestInvokeAuthorizerInput { "TestInvokeAuthorizer", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17067,52 +16075,42 @@ impl TestInvokeMethodInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_test_invoke_method_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_test_invoke_method(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TestInvokeMethod::new(), @@ -17121,7 +16119,6 @@ impl TestInvokeMethodInput { "TestInvokeMethod", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17228,46 +16225,37 @@ impl UntagResourceInput { 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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UntagResource::new(), @@ -17276,7 +16264,6 @@ impl UntagResourceInput { "UntagResource", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17378,51 +16365,42 @@ impl UpdateAccountInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_account_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_update_account(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateAccount::new(), @@ -17431,7 +16409,6 @@ impl UpdateAccountInput { "UpdateAccount", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17530,51 +16507,42 @@ impl UpdateApiKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_api_key_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_update_api_key(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateApiKey::new(), @@ -17583,7 +16551,6 @@ impl UpdateApiKeyInput { "UpdateApiKey", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17699,52 +16666,41 @@ impl UpdateAuthorizerInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_authorizer_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_authorizer(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateAuthorizer::new(), @@ -17753,7 +16709,6 @@ impl UpdateAuthorizerInput { "UpdateAuthorizer", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17871,54 +16826,42 @@ impl UpdateBasePathMappingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_base_path_mapping_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_base_path_mapping(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateBasePathMapping::new(), @@ -17927,7 +16870,6 @@ impl UpdateBasePathMappingInput { "UpdateBasePathMapping", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18033,54 +16975,42 @@ impl UpdateClientCertificateInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_client_certificate_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_client_certificate(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateClientCertificate::new(), @@ -18089,7 +17019,6 @@ impl UpdateClientCertificateInput { "UpdateClientCertificate", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18206,52 +17135,41 @@ impl UpdateDeploymentInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_deployment_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_deployment(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDeployment::new(), @@ -18260,7 +17178,6 @@ impl UpdateDeploymentInput { "UpdateDeployment", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18377,54 +17294,42 @@ impl UpdateDocumentationPartInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_documentation_part_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_documentation_part(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDocumentationPart::new(), @@ -18433,7 +17338,6 @@ impl UpdateDocumentationPartInput { "UpdateDocumentationPart", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18552,53 +17456,42 @@ impl UpdateDocumentationVersionInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_update_documentation_version_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_update_documentation_version(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDocumentationVersion::new(), @@ -18607,7 +17500,6 @@ impl UpdateDocumentationVersionInput { "UpdateDocumentationVersion", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18714,52 +17606,42 @@ impl UpdateDomainNameInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_domain_name_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_domain_name(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDomainName::new(), @@ -18768,7 +17650,6 @@ impl UpdateDomainNameInput { "UpdateDomainName", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18893,52 +17774,42 @@ impl UpdateGatewayResponseInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_gateway_response_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_gateway_response(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateGatewayResponse::new(), @@ -18947,7 +17818,6 @@ impl UpdateGatewayResponseInput { "UpdateGatewayResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19075,52 +17945,42 @@ impl UpdateIntegrationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_integration_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_integration(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateIntegration::new(), @@ -19129,7 +17989,6 @@ impl UpdateIntegrationInput { "UpdateIntegration", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19269,54 +18128,42 @@ impl UpdateIntegrationResponseInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_integration_response_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_integration_response(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateIntegrationResponse::new(), @@ -19325,7 +18172,6 @@ impl UpdateIntegrationResponseInput { "UpdateIntegrationResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19446,51 +18292,42 @@ impl UpdateMethodInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_method_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_method(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateMethod::new(), @@ -19499,7 +18336,6 @@ impl UpdateMethodInput { "UpdateMethod", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19639,52 +18475,42 @@ impl UpdateMethodResponseInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_method_response_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_method_response(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateMethodResponse::new(), @@ -19693,7 +18519,6 @@ impl UpdateMethodResponseInput { "UpdateMethodResponse", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19803,51 +18628,42 @@ impl UpdateModelInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_model_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateModel::new(), @@ -19856,7 +18672,6 @@ impl UpdateModelInput { "UpdateModel", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19973,54 +18788,42 @@ impl UpdateRequestValidatorInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_request_validator_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_request_validator(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateRequestValidator::new(), @@ -20029,7 +18832,6 @@ impl UpdateRequestValidatorInput { "UpdateRequestValidator", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20145,51 +18947,41 @@ impl UpdateResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateResource::new(), @@ -20198,7 +18990,6 @@ impl UpdateResourceInput { "UpdateResource", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20303,51 +19094,41 @@ impl UpdateRestApiInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_rest_api_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_rest_api(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateRestApi::new(), @@ -20356,7 +19137,6 @@ impl UpdateRestApiInput { "UpdateRestApi", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20471,51 +19251,42 @@ impl UpdateStageInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_stage_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_stage(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateStage::new(), @@ -20524,7 +19295,6 @@ impl UpdateStageInput { "UpdateStage", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20640,51 +19410,42 @@ impl UpdateUsageInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_usage_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_usage(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateUsage::new(), @@ -20693,7 +19454,6 @@ impl UpdateUsageInput { "UpdateUsage", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20799,52 +19559,41 @@ impl UpdateUsagePlanInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_usage_plan_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_usage_plan(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateUsagePlan::new(), @@ -20853,7 +19602,6 @@ impl UpdateUsagePlanInput { "UpdateUsagePlan", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20957,51 +19705,41 @@ impl UpdateVpcLinkInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_vpc_link_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_vpc_link(&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 .config_mut() .insert(aws_http::user_agent::AwsUserAgent::new_from_environment( crate::API_METADATA.clone(), )); - request .request_mut() .headers_mut() .insert("Accept", http::HeaderValue::from_static("application/json")); - #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateVpcLink::new(), @@ -21010,7 +19748,6 @@ impl UpdateVpcLinkInput { "UpdateVpcLink", "apigateway", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) diff --git a/sdk/apigateway/src/json_deser.rs b/sdk/apigateway/src/json_deser.rs index e151b202c333..3987cdcfc842 100644 --- a/sdk/apigateway/src/json_deser.rs +++ b/sdk/apigateway/src/json_deser.rs @@ -21,7 +21,6 @@ pub fn bad_request_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -38,7 +37,6 @@ pub fn conflict_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -55,7 +53,6 @@ pub fn limit_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_retry_after_seconds(parsed_body.retry_after_seconds); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -73,7 +70,6 @@ pub fn not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -90,7 +86,6 @@ pub fn too_many_requests_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_retry_after_seconds(parsed_body.retry_after_seconds); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -108,7 +103,6 @@ pub fn unauthorized_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -125,7 +119,6 @@ pub fn create_api_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_value(parsed_body.value); builder = builder.set_name(parsed_body.name); @@ -151,7 +144,6 @@ pub fn create_authorizer_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_type(parsed_body.r#type); @@ -179,7 +171,6 @@ pub fn create_base_path_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_base_path(parsed_body.base_path); builder = builder.set_rest_api_id(parsed_body.rest_api_id); builder = builder.set_stage(parsed_body.stage); @@ -198,7 +189,6 @@ pub fn service_unavailable_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_retry_after_seconds(parsed_body.retry_after_seconds); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -216,7 +206,6 @@ pub fn create_deployment_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_description(parsed_body.description); builder = builder.set_created_date(parsed_body.created_date); @@ -236,7 +225,6 @@ pub fn create_documentation_part_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_location(parsed_body.location); builder = builder.set_properties(parsed_body.properties); @@ -255,7 +243,6 @@ pub fn create_documentation_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_version(parsed_body.version); builder = builder.set_created_date(parsed_body.created_date); builder = builder.set_description(parsed_body.description); @@ -274,7 +261,6 @@ pub fn create_domain_name_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_domain_name(parsed_body.domain_name); builder = builder.set_certificate_name(parsed_body.certificate_name); builder = builder.set_certificate_arn(parsed_body.certificate_arn); @@ -306,7 +292,6 @@ pub fn create_model_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -327,7 +312,6 @@ pub fn create_request_validator_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_validate_request_body(parsed_body.validate_request_body); @@ -347,7 +331,6 @@ pub fn create_resource_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_parent_id(parsed_body.parent_id); builder = builder.set_path_part(parsed_body.path_part); @@ -368,7 +351,6 @@ pub fn create_rest_api_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -397,7 +379,6 @@ pub fn create_stage_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_deployment_id(parsed_body.deployment_id); builder = builder.set_client_certificate_id(parsed_body.client_certificate_id); builder = builder.set_stage_name(parsed_body.stage_name); @@ -430,7 +411,6 @@ pub fn create_usage_plan_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -454,7 +434,6 @@ pub fn create_usage_plan_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_type(parsed_body.r#type); builder = builder.set_value(parsed_body.value); @@ -474,7 +453,6 @@ pub fn create_vpc_link_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -497,7 +475,6 @@ pub fn generate_client_certificate_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_client_certificate_id(parsed_body.client_certificate_id); builder = builder.set_description(parsed_body.description); builder = builder.set_pem_encoded_certificate(parsed_body.pem_encoded_certificate); @@ -519,7 +496,6 @@ pub fn get_account_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_cloudwatch_role_arn(parsed_body.cloudwatch_role_arn); builder = builder.set_throttle_settings(parsed_body.throttle_settings); builder = builder.set_features(parsed_body.features); @@ -539,7 +515,6 @@ pub fn get_api_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_value(parsed_body.value); builder = builder.set_name(parsed_body.name); @@ -565,7 +540,6 @@ pub fn get_api_keys_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_warnings(parsed_body.warnings); builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); @@ -584,7 +558,6 @@ pub fn get_authorizer_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_type(parsed_body.r#type); @@ -612,7 +585,6 @@ pub fn get_authorizers_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -630,7 +602,6 @@ pub fn get_base_path_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_base_path(parsed_body.base_path); builder = builder.set_rest_api_id(parsed_body.rest_api_id); builder = builder.set_stage(parsed_body.stage); @@ -649,7 +620,6 @@ pub fn get_base_path_mappings_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -667,7 +637,6 @@ pub fn get_client_certificate_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_client_certificate_id(parsed_body.client_certificate_id); builder = builder.set_description(parsed_body.description); builder = builder.set_pem_encoded_certificate(parsed_body.pem_encoded_certificate); @@ -689,7 +658,6 @@ pub fn get_client_certificates_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -707,7 +675,6 @@ pub fn get_deployment_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_description(parsed_body.description); builder = builder.set_created_date(parsed_body.created_date); @@ -727,7 +694,6 @@ pub fn get_deployments_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -745,7 +711,6 @@ pub fn get_documentation_part_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_location(parsed_body.location); builder = builder.set_properties(parsed_body.properties); @@ -764,7 +729,6 @@ pub fn get_documentation_parts_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -782,7 +746,6 @@ pub fn get_documentation_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_version(parsed_body.version); builder = builder.set_created_date(parsed_body.created_date); builder = builder.set_description(parsed_body.description); @@ -801,7 +764,6 @@ pub fn get_documentation_versions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -819,7 +781,6 @@ pub fn get_domain_name_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_domain_name(parsed_body.domain_name); builder = builder.set_certificate_name(parsed_body.certificate_name); builder = builder.set_certificate_arn(parsed_body.certificate_arn); @@ -851,7 +812,6 @@ pub fn get_domain_names_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -869,7 +829,6 @@ pub fn get_gateway_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_response_type(parsed_body.response_type); builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_response_parameters(parsed_body.response_parameters); @@ -890,7 +849,6 @@ pub fn get_gateway_responses_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -908,7 +866,6 @@ pub fn get_integration_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_http_method(parsed_body.http_method); builder = builder.set_uri(parsed_body.uri); @@ -939,7 +896,6 @@ pub fn get_integration_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_selection_pattern(parsed_body.selection_pattern); builder = builder.set_response_parameters(parsed_body.response_parameters); @@ -960,7 +916,6 @@ pub fn get_method_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_http_method(parsed_body.http_method); builder = builder.set_authorization_type(parsed_body.authorization_type); builder = builder.set_authorizer_id(parsed_body.authorizer_id); @@ -987,7 +942,6 @@ pub fn get_method_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_response_parameters(parsed_body.response_parameters); builder = builder.set_response_models(parsed_body.response_models); @@ -1006,7 +960,6 @@ pub fn get_model_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1027,7 +980,6 @@ pub fn get_models_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1045,7 +997,6 @@ pub fn get_model_template_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_value(parsed_body.value); Ok(builder) } @@ -1062,7 +1013,6 @@ pub fn get_request_validator_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_validate_request_body(parsed_body.validate_request_body); @@ -1082,7 +1032,6 @@ pub fn get_request_validators_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1100,7 +1049,6 @@ pub fn get_resource_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_parent_id(parsed_body.parent_id); builder = builder.set_path_part(parsed_body.path_part); @@ -1121,7 +1069,6 @@ pub fn get_resources_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1139,7 +1086,6 @@ pub fn get_rest_api_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1168,7 +1114,6 @@ pub fn get_rest_apis_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1186,7 +1131,6 @@ pub fn get_sdk_type_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_friendly_name(parsed_body.friendly_name); builder = builder.set_description(parsed_body.description); @@ -1206,7 +1150,6 @@ pub fn get_sdk_types_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); Ok(builder) } @@ -1223,7 +1166,6 @@ pub fn get_stage_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_deployment_id(parsed_body.deployment_id); builder = builder.set_client_certificate_id(parsed_body.client_certificate_id); builder = builder.set_stage_name(parsed_body.stage_name); @@ -1256,7 +1198,6 @@ pub fn get_stages_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_item(parsed_body.item); Ok(builder) } @@ -1273,7 +1214,6 @@ pub fn get_tags_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tags(parsed_body.tags); Ok(builder) } @@ -1290,7 +1230,6 @@ pub fn get_usage_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_usage_plan_id(parsed_body.usage_plan_id); builder = builder.set_start_date(parsed_body.start_date); builder = builder.set_end_date(parsed_body.end_date); @@ -1311,7 +1250,6 @@ pub fn get_usage_plan_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1335,7 +1273,6 @@ pub fn get_usage_plan_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_type(parsed_body.r#type); builder = builder.set_value(parsed_body.value); @@ -1355,7 +1292,6 @@ pub fn get_usage_plan_keys_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1373,7 +1309,6 @@ pub fn get_usage_plans_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1391,7 +1326,6 @@ pub fn get_vpc_link_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1414,7 +1348,6 @@ pub fn get_vpc_links_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_position(parsed_body.position); Ok(builder) @@ -1432,7 +1365,6 @@ pub fn import_api_keys_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ids(parsed_body.ids); builder = builder.set_warnings(parsed_body.warnings); Ok(builder) @@ -1450,7 +1382,6 @@ pub fn import_documentation_parts_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ids(parsed_body.ids); builder = builder.set_warnings(parsed_body.warnings); Ok(builder) @@ -1468,7 +1399,6 @@ pub fn import_rest_api_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1497,7 +1427,6 @@ pub fn put_gateway_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_response_type(parsed_body.response_type); builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_response_parameters(parsed_body.response_parameters); @@ -1518,7 +1447,6 @@ pub fn put_integration_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_http_method(parsed_body.http_method); builder = builder.set_uri(parsed_body.uri); @@ -1549,7 +1477,6 @@ pub fn put_integration_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_selection_pattern(parsed_body.selection_pattern); builder = builder.set_response_parameters(parsed_body.response_parameters); @@ -1570,7 +1497,6 @@ pub fn put_method_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_http_method(parsed_body.http_method); builder = builder.set_authorization_type(parsed_body.authorization_type); builder = builder.set_authorizer_id(parsed_body.authorizer_id); @@ -1597,7 +1523,6 @@ pub fn put_method_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_response_parameters(parsed_body.response_parameters); builder = builder.set_response_models(parsed_body.response_models); @@ -1616,7 +1541,6 @@ pub fn put_rest_api_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1645,7 +1569,6 @@ pub fn test_invoke_authorizer_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_client_status(parsed_body.client_status); builder = builder.set_log(parsed_body.log); builder = builder.set_latency(parsed_body.latency); @@ -1668,7 +1591,6 @@ pub fn test_invoke_method_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status(parsed_body.status); builder = builder.set_body(parsed_body.body); builder = builder.set_headers(parsed_body.headers); @@ -1690,7 +1612,6 @@ pub fn update_account_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_cloudwatch_role_arn(parsed_body.cloudwatch_role_arn); builder = builder.set_throttle_settings(parsed_body.throttle_settings); builder = builder.set_features(parsed_body.features); @@ -1710,7 +1631,6 @@ pub fn update_api_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_value(parsed_body.value); builder = builder.set_name(parsed_body.name); @@ -1736,7 +1656,6 @@ pub fn update_authorizer_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_type(parsed_body.r#type); @@ -1764,7 +1683,6 @@ pub fn update_base_path_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_base_path(parsed_body.base_path); builder = builder.set_rest_api_id(parsed_body.rest_api_id); builder = builder.set_stage(parsed_body.stage); @@ -1783,7 +1701,6 @@ pub fn update_client_certificate_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_client_certificate_id(parsed_body.client_certificate_id); builder = builder.set_description(parsed_body.description); builder = builder.set_pem_encoded_certificate(parsed_body.pem_encoded_certificate); @@ -1805,7 +1722,6 @@ pub fn update_deployment_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_description(parsed_body.description); builder = builder.set_created_date(parsed_body.created_date); @@ -1825,7 +1741,6 @@ pub fn update_documentation_part_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_location(parsed_body.location); builder = builder.set_properties(parsed_body.properties); @@ -1844,7 +1759,6 @@ pub fn update_documentation_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_version(parsed_body.version); builder = builder.set_created_date(parsed_body.created_date); builder = builder.set_description(parsed_body.description); @@ -1863,7 +1777,6 @@ pub fn update_domain_name_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_domain_name(parsed_body.domain_name); builder = builder.set_certificate_name(parsed_body.certificate_name); builder = builder.set_certificate_arn(parsed_body.certificate_arn); @@ -1895,7 +1808,6 @@ pub fn update_gateway_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_response_type(parsed_body.response_type); builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_response_parameters(parsed_body.response_parameters); @@ -1916,7 +1828,6 @@ pub fn update_integration_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_http_method(parsed_body.http_method); builder = builder.set_uri(parsed_body.uri); @@ -1947,7 +1858,6 @@ pub fn update_integration_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_selection_pattern(parsed_body.selection_pattern); builder = builder.set_response_parameters(parsed_body.response_parameters); @@ -1968,7 +1878,6 @@ pub fn update_method_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_http_method(parsed_body.http_method); builder = builder.set_authorization_type(parsed_body.authorization_type); builder = builder.set_authorizer_id(parsed_body.authorizer_id); @@ -1995,7 +1904,6 @@ pub fn update_method_response_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_status_code(parsed_body.status_code); builder = builder.set_response_parameters(parsed_body.response_parameters); builder = builder.set_response_models(parsed_body.response_models); @@ -2014,7 +1922,6 @@ pub fn update_model_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -2035,7 +1942,6 @@ pub fn update_request_validator_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_validate_request_body(parsed_body.validate_request_body); @@ -2055,7 +1961,6 @@ pub fn update_resource_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_parent_id(parsed_body.parent_id); builder = builder.set_path_part(parsed_body.path_part); @@ -2076,7 +1981,6 @@ pub fn update_rest_api_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -2105,7 +2009,6 @@ pub fn update_stage_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_deployment_id(parsed_body.deployment_id); builder = builder.set_client_certificate_id(parsed_body.client_certificate_id); builder = builder.set_stage_name(parsed_body.stage_name); @@ -2138,7 +2041,6 @@ pub fn update_usage_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_usage_plan_id(parsed_body.usage_plan_id); builder = builder.set_start_date(parsed_body.start_date); builder = builder.set_end_date(parsed_body.end_date); @@ -2159,7 +2061,6 @@ pub fn update_usage_plan_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -2183,7 +2084,6 @@ pub fn update_vpc_link_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_id(parsed_body.id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); diff --git a/sdk/apigateway/src/json_ser.rs b/sdk/apigateway/src/json_ser.rs new file mode 100644 index 000000000000..2da8ab77e9d0 --- /dev/null +++ b/sdk/apigateway/src/json_ser.rs @@ -0,0 +1,1225 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_create_api_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateApiKeyInput, +) { + if let Some(var_1) = &input.name { + object.key("name").string(var_1); + } + if let Some(var_2) = &input.description { + object.key("description").string(var_2); + } + object.key("enabled").boolean(input.enabled); + object + .key("generateDistinctId") + .boolean(input.generate_distinct_id); + if let Some(var_3) = &input.value { + object.key("value").string(var_3); + } + if let Some(var_4) = &input.stage_keys { + let mut array_5 = object.key("stageKeys").start_array(); + for item_6 in var_4 { + let mut object_7 = array_5.value().start_object(); + crate::json_ser::serialize_structure_stage_key(&mut object_7, item_6); + object_7.finish(); + } + array_5.finish(); + } + if let Some(var_8) = &input.customer_id { + object.key("customerId").string(var_8); + } + if let Some(var_9) = &input.tags { + let mut object_10 = object.key("tags").start_object(); + for (key_11, value_12) in var_9 { + object_10.key(key_11).string(value_12); + } + object_10.finish(); + } +} + +pub fn serialize_structure_create_authorizer_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAuthorizerInput, +) { + if let Some(var_13) = &input.name { + object.key("name").string(var_13); + } + if let Some(var_14) = &input.r#type { + object.key("type").string(var_14.as_str()); + } + if let Some(var_15) = &input.provider_ar_ns { + let mut array_16 = object.key("providerARNs").start_array(); + for item_17 in var_15 { + array_16.value().string(item_17); + } + array_16.finish(); + } + if let Some(var_18) = &input.auth_type { + object.key("authType").string(var_18); + } + if let Some(var_19) = &input.authorizer_uri { + object.key("authorizerUri").string(var_19); + } + if let Some(var_20) = &input.authorizer_credentials { + object.key("authorizerCredentials").string(var_20); + } + if let Some(var_21) = &input.identity_source { + object.key("identitySource").string(var_21); + } + if let Some(var_22) = &input.identity_validation_expression { + object.key("identityValidationExpression").string(var_22); + } + if let Some(var_23) = &input.authorizer_result_ttl_in_seconds { + object.key("authorizerResultTtlInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_23).into()), + ); + } +} + +pub fn serialize_structure_create_base_path_mapping_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateBasePathMappingInput, +) { + if let Some(var_24) = &input.base_path { + object.key("basePath").string(var_24); + } + if let Some(var_25) = &input.rest_api_id { + object.key("restApiId").string(var_25); + } + if let Some(var_26) = &input.stage { + object.key("stage").string(var_26); + } +} + +pub fn serialize_structure_create_deployment_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateDeploymentInput, +) { + if let Some(var_27) = &input.stage_name { + object.key("stageName").string(var_27); + } + if let Some(var_28) = &input.stage_description { + object.key("stageDescription").string(var_28); + } + if let Some(var_29) = &input.description { + object.key("description").string(var_29); + } + if let Some(var_30) = &input.cache_cluster_enabled { + object.key("cacheClusterEnabled").boolean(*var_30); + } + if let Some(var_31) = &input.cache_cluster_size { + object.key("cacheClusterSize").string(var_31.as_str()); + } + if let Some(var_32) = &input.variables { + let mut object_33 = object.key("variables").start_object(); + for (key_34, value_35) in var_32 { + object_33.key(key_34).string(value_35); + } + object_33.finish(); + } + if let Some(var_36) = &input.canary_settings { + let mut object_37 = object.key("canarySettings").start_object(); + crate::json_ser::serialize_structure_deployment_canary_settings(&mut object_37, var_36); + object_37.finish(); + } + if let Some(var_38) = &input.tracing_enabled { + object.key("tracingEnabled").boolean(*var_38); + } +} + +pub fn serialize_structure_create_documentation_part_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateDocumentationPartInput, +) { + if let Some(var_39) = &input.location { + let mut object_40 = object.key("location").start_object(); + crate::json_ser::serialize_structure_documentation_part_location(&mut object_40, var_39); + object_40.finish(); + } + if let Some(var_41) = &input.properties { + object.key("properties").string(var_41); + } +} + +pub fn serialize_structure_create_documentation_version_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateDocumentationVersionInput, +) { + if let Some(var_42) = &input.documentation_version { + object.key("documentationVersion").string(var_42); + } + if let Some(var_43) = &input.stage_name { + object.key("stageName").string(var_43); + } + if let Some(var_44) = &input.description { + object.key("description").string(var_44); + } +} + +pub fn serialize_structure_create_domain_name_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateDomainNameInput, +) { + if let Some(var_45) = &input.domain_name { + object.key("domainName").string(var_45); + } + if let Some(var_46) = &input.certificate_name { + object.key("certificateName").string(var_46); + } + if let Some(var_47) = &input.certificate_body { + object.key("certificateBody").string(var_47); + } + if let Some(var_48) = &input.certificate_private_key { + object.key("certificatePrivateKey").string(var_48); + } + if let Some(var_49) = &input.certificate_chain { + object.key("certificateChain").string(var_49); + } + if let Some(var_50) = &input.certificate_arn { + object.key("certificateArn").string(var_50); + } + if let Some(var_51) = &input.regional_certificate_name { + object.key("regionalCertificateName").string(var_51); + } + if let Some(var_52) = &input.regional_certificate_arn { + object.key("regionalCertificateArn").string(var_52); + } + if let Some(var_53) = &input.endpoint_configuration { + let mut object_54 = object.key("endpointConfiguration").start_object(); + crate::json_ser::serialize_structure_endpoint_configuration(&mut object_54, var_53); + object_54.finish(); + } + if let Some(var_55) = &input.tags { + let mut object_56 = object.key("tags").start_object(); + for (key_57, value_58) in var_55 { + object_56.key(key_57).string(value_58); + } + object_56.finish(); + } + if let Some(var_59) = &input.security_policy { + object.key("securityPolicy").string(var_59.as_str()); + } + if let Some(var_60) = &input.mutual_tls_authentication { + let mut object_61 = object.key("mutualTlsAuthentication").start_object(); + crate::json_ser::serialize_structure_mutual_tls_authentication_input( + &mut object_61, + var_60, + ); + object_61.finish(); + } +} + +pub fn serialize_structure_create_model_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateModelInput, +) { + if let Some(var_62) = &input.name { + object.key("name").string(var_62); + } + if let Some(var_63) = &input.description { + object.key("description").string(var_63); + } + if let Some(var_64) = &input.schema { + object.key("schema").string(var_64); + } + if let Some(var_65) = &input.content_type { + object.key("contentType").string(var_65); + } +} + +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); + } + object + .key("validateRequestBody") + .boolean(input.validate_request_body); + object + .key("validateRequestParameters") + .boolean(input.validate_request_parameters); +} + +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); + } +} + +pub fn serialize_structure_create_rest_api_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateRestApiInput, +) { + if let Some(var_68) = &input.name { + object.key("name").string(var_68); + } + if let Some(var_69) = &input.description { + object.key("description").string(var_69); + } + if let Some(var_70) = &input.version { + object.key("version").string(var_70); + } + if let Some(var_71) = &input.clone_from { + object.key("cloneFrom").string(var_71); + } + if let Some(var_72) = &input.binary_media_types { + let mut array_73 = object.key("binaryMediaTypes").start_array(); + for item_74 in var_72 { + array_73.value().string(item_74); + } + array_73.finish(); + } + if let Some(var_75) = &input.minimum_compression_size { + object.key("minimumCompressionSize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_75).into()), + ); + } + if let Some(var_76) = &input.api_key_source { + object.key("apiKeySource").string(var_76.as_str()); + } + if let Some(var_77) = &input.endpoint_configuration { + let mut object_78 = object.key("endpointConfiguration").start_object(); + crate::json_ser::serialize_structure_endpoint_configuration(&mut object_78, var_77); + object_78.finish(); + } + if let Some(var_79) = &input.policy { + object.key("policy").string(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_81.key(key_82).string(value_83); + } + object_81.finish(); + } + object + .key("disableExecuteApiEndpoint") + .boolean(input.disable_execute_api_endpoint); +} + +pub fn serialize_structure_create_stage_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateStageInput, +) { + if let Some(var_84) = &input.stage_name { + object.key("stageName").string(var_84); + } + if let Some(var_85) = &input.deployment_id { + object.key("deploymentId").string(var_85); + } + if let Some(var_86) = &input.description { + object.key("description").string(var_86); + } + object + .key("cacheClusterEnabled") + .boolean(input.cache_cluster_enabled); + if let Some(var_87) = &input.cache_cluster_size { + object.key("cacheClusterSize").string(var_87.as_str()); + } + if let Some(var_88) = &input.variables { + let mut object_89 = object.key("variables").start_object(); + for (key_90, value_91) in var_88 { + object_89.key(key_90).string(value_91); + } + object_89.finish(); + } + if let Some(var_92) = &input.documentation_version { + object.key("documentationVersion").string(var_92); + } + if let Some(var_93) = &input.canary_settings { + let mut object_94 = object.key("canarySettings").start_object(); + crate::json_ser::serialize_structure_canary_settings(&mut object_94, var_93); + object_94.finish(); + } + object.key("tracingEnabled").boolean(input.tracing_enabled); + if let Some(var_95) = &input.tags { + let mut object_96 = object.key("tags").start_object(); + for (key_97, value_98) in var_95 { + object_96.key(key_97).string(value_98); + } + object_96.finish(); + } +} + +pub fn serialize_structure_create_usage_plan_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateUsagePlanInput, +) { + if let Some(var_99) = &input.name { + object.key("name").string(var_99); + } + if let Some(var_100) = &input.description { + object.key("description").string(var_100); + } + if let Some(var_101) = &input.api_stages { + let mut array_102 = object.key("apiStages").start_array(); + for item_103 in var_101 { + let mut object_104 = array_102.value().start_object(); + crate::json_ser::serialize_structure_api_stage(&mut object_104, item_103); + object_104.finish(); + } + array_102.finish(); + } + if let Some(var_105) = &input.throttle { + let mut object_106 = object.key("throttle").start_object(); + crate::json_ser::serialize_structure_throttle_settings(&mut object_106, var_105); + object_106.finish(); + } + if let Some(var_107) = &input.quota { + let mut object_108 = object.key("quota").start_object(); + crate::json_ser::serialize_structure_quota_settings(&mut object_108, var_107); + object_108.finish(); + } + if let Some(var_109) = &input.tags { + let mut object_110 = object.key("tags").start_object(); + for (key_111, value_112) in var_109 { + object_110.key(key_111).string(value_112); + } + object_110.finish(); + } +} + +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_type { + object.key("keyType").string(var_114); + } +} + +pub fn serialize_structure_create_vpc_link_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateVpcLinkInput, +) { + if let Some(var_115) = &input.name { + object.key("name").string(var_115); + } + if let Some(var_116) = &input.description { + object.key("description").string(var_116); + } + if let Some(var_117) = &input.target_arns { + let mut array_118 = object.key("targetArns").start_array(); + for item_119 in var_117 { + array_118.value().string(item_119); + } + array_118.finish(); + } + if let Some(var_120) = &input.tags { + let mut object_121 = object.key("tags").start_object(); + for (key_122, value_123) in var_120 { + object_121.key(key_122).string(value_123); + } + object_121.finish(); + } +} + +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.tags { + let mut object_126 = object.key("tags").start_object(); + for (key_127, value_128) in var_125 { + object_126.key(key_127).string(value_128); + } + object_126.finish(); + } +} + +pub fn serialize_structure_put_gateway_response_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutGatewayResponseInput, +) { + if let Some(var_129) = &input.status_code { + object.key("statusCode").string(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_131.key(key_132).string(value_133); + } + object_131.finish(); + } + 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_135.key(key_136).string(value_137); + } + object_135.finish(); + } +} + +pub fn serialize_structure_put_integration_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutIntegrationInput, +) { + if let Some(var_138) = &input.r#type { + object.key("type").string(var_138.as_str()); + } + if let Some(var_139) = &input.integration_http_method { + object.key("httpMethod").string(var_139); + } + if let Some(var_140) = &input.uri { + object.key("uri").string(var_140); + } + if let Some(var_141) = &input.connection_type { + object.key("connectionType").string(var_141.as_str()); + } + if let Some(var_142) = &input.connection_id { + object.key("connectionId").string(var_142); + } + if let Some(var_143) = &input.credentials { + object.key("credentials").string(var_143); + } + if let Some(var_144) = &input.request_parameters { + let mut object_145 = object.key("requestParameters").start_object(); + for (key_146, value_147) in var_144 { + object_145.key(key_146).string(value_147); + } + object_145.finish(); + } + if let Some(var_148) = &input.request_templates { + let mut object_149 = object.key("requestTemplates").start_object(); + for (key_150, value_151) in var_148 { + object_149.key(key_150).string(value_151); + } + object_149.finish(); + } + if let Some(var_152) = &input.passthrough_behavior { + object.key("passthroughBehavior").string(var_152); + } + if let Some(var_153) = &input.cache_namespace { + object.key("cacheNamespace").string(var_153); + } + if let Some(var_154) = &input.cache_key_parameters { + let mut array_155 = object.key("cacheKeyParameters").start_array(); + for item_156 in var_154 { + array_155.value().string(item_156); + } + array_155.finish(); + } + if let Some(var_157) = &input.content_handling { + object.key("contentHandling").string(var_157.as_str()); + } + if let Some(var_158) = &input.timeout_in_millis { + object.key("timeoutInMillis").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_158).into()), + ); + } + if let Some(var_159) = &input.tls_config { + let mut object_160 = object.key("tlsConfig").start_object(); + crate::json_ser::serialize_structure_tls_config(&mut object_160, var_159); + object_160.finish(); + } +} + +pub fn serialize_structure_put_integration_response_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutIntegrationResponseInput, +) { + if let Some(var_161) = &input.selection_pattern { + object.key("selectionPattern").string(var_161); + } + 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 { + object_163.key(key_164).string(value_165); + } + object_163.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 { + object_167.key(key_168).string(value_169); + } + object_167.finish(); + } + if let Some(var_170) = &input.content_handling { + object.key("contentHandling").string(var_170.as_str()); + } +} + +pub fn serialize_structure_put_method_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutMethodInput, +) { + if let Some(var_171) = &input.authorization_type { + object.key("authorizationType").string(var_171); + } + if let Some(var_172) = &input.authorizer_id { + object.key("authorizerId").string(var_172); + } + object.key("apiKeyRequired").boolean(input.api_key_required); + if let Some(var_173) = &input.operation_name { + object.key("operationName").string(var_173); + } + if let Some(var_174) = &input.request_parameters { + let mut object_175 = object.key("requestParameters").start_object(); + for (key_176, value_177) in var_174 { + object_175.key(key_176).boolean(*value_177); + } + object_175.finish(); + } + 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_179.key(key_180).string(value_181); + } + object_179.finish(); + } + if let Some(var_182) = &input.request_validator_id { + object.key("requestValidatorId").string(var_182); + } + if let Some(var_183) = &input.authorization_scopes { + let mut array_184 = object.key("authorizationScopes").start_array(); + for item_185 in var_183 { + array_184.value().string(item_185); + } + array_184.finish(); + } +} + +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_parameters { + let mut object_187 = object.key("responseParameters").start_object(); + for (key_188, value_189) in var_186 { + object_187.key(key_188).boolean(*value_189); + } + object_187.finish(); + } + if let Some(var_190) = &input.response_models { + let mut object_191 = object.key("responseModels").start_object(); + for (key_192, value_193) in var_190 { + object_191.key(key_192).string(value_193); + } + object_191.finish(); + } +} + +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 { + object_195.key(key_196).string(value_197); + } + object_195.finish(); + } +} + +pub fn serialize_structure_test_invoke_authorizer_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TestInvokeAuthorizerInput, +) { + if let Some(var_198) = &input.headers { + let mut object_199 = object.key("headers").start_object(); + for (key_200, value_201) in var_198 { + object_199.key(key_200).string(value_201); + } + object_199.finish(); + } + if let Some(var_202) = &input.multi_value_headers { + let mut object_203 = object.key("multiValueHeaders").start_object(); + for (key_204, value_205) in var_202 { + let mut array_206 = object_203.key(key_204).start_array(); + for item_207 in value_205 { + array_206.value().string(item_207); + } + array_206.finish(); + } + object_203.finish(); + } + if let Some(var_208) = &input.path_with_query_string { + object.key("pathWithQueryString").string(var_208); + } + if let Some(var_209) = &input.body { + object.key("body").string(var_209); + } + if let Some(var_210) = &input.stage_variables { + let mut object_211 = object.key("stageVariables").start_object(); + for (key_212, value_213) in var_210 { + object_211.key(key_212).string(value_213); + } + object_211.finish(); + } + if let Some(var_214) = &input.additional_context { + let mut object_215 = object.key("additionalContext").start_object(); + for (key_216, value_217) in var_214 { + object_215.key(key_216).string(value_217); + } + object_215.finish(); + } +} + +pub fn serialize_structure_test_invoke_method_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TestInvokeMethodInput, +) { + if let Some(var_218) = &input.path_with_query_string { + object.key("pathWithQueryString").string(var_218); + } + if let Some(var_219) = &input.body { + object.key("body").string(var_219); + } + if let Some(var_220) = &input.headers { + let mut object_221 = object.key("headers").start_object(); + for (key_222, value_223) in var_220 { + object_221.key(key_222).string(value_223); + } + object_221.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 { + let mut array_228 = object_225.key(key_226).start_array(); + for item_229 in value_227 { + array_228.value().string(item_229); + } + array_228.finish(); + } + object_225.finish(); + } + if let Some(var_230) = &input.client_certificate_id { + object.key("clientCertificateId").string(var_230); + } + 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 { + object_232.key(key_233).string(value_234); + } + object_232.finish(); + } +} + +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 { + let mut object_238 = array_236.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_238, item_237); + object_238.finish(); + } + array_236.finish(); + } +} + +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 { + let mut object_242 = array_240.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_242, item_241); + object_242.finish(); + } + array_240.finish(); + } +} + +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 { + let mut object_246 = array_244.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_246, item_245); + object_246.finish(); + } + array_244.finish(); + } +} + +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 { + let mut object_250 = array_248.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_250, item_249); + object_250.finish(); + } + array_248.finish(); + } +} + +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 { + let mut object_254 = array_252.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_254, item_253); + object_254.finish(); + } + array_252.finish(); + } +} + +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 { + let mut object_258 = array_256.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_258, item_257); + object_258.finish(); + } + array_256.finish(); + } +} + +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 { + let mut object_262 = array_260.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_262, item_261); + object_262.finish(); + } + array_260.finish(); + } +} + +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 { + let mut object_266 = array_264.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_266, item_265); + object_266.finish(); + } + array_264.finish(); + } +} + +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 { + let mut object_270 = array_268.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_270, item_269); + object_270.finish(); + } + array_268.finish(); + } +} + +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 { + let mut object_274 = array_272.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_274, item_273); + object_274.finish(); + } + array_272.finish(); + } +} + +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 { + let mut object_278 = array_276.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_278, item_277); + object_278.finish(); + } + array_276.finish(); + } +} + +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 { + let mut object_282 = array_280.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_282, item_281); + object_282.finish(); + } + array_280.finish(); + } +} + +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 { + let mut object_286 = array_284.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_286, item_285); + object_286.finish(); + } + array_284.finish(); + } +} + +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 { + let mut object_290 = array_288.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_290, item_289); + object_290.finish(); + } + array_288.finish(); + } +} + +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 { + let mut object_294 = array_292.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_294, item_293); + object_294.finish(); + } + array_292.finish(); + } +} + +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 { + let mut object_298 = array_296.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_298, item_297); + object_298.finish(); + } + array_296.finish(); + } +} + +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 { + let mut object_302 = array_300.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_302, item_301); + object_302.finish(); + } + array_300.finish(); + } +} + +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 { + let mut object_306 = array_304.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_306, item_305); + object_306.finish(); + } + array_304.finish(); + } +} + +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 { + let mut object_310 = array_308.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_310, item_309); + object_310.finish(); + } + array_308.finish(); + } +} + +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 { + let mut object_314 = array_312.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_314, item_313); + object_314.finish(); + } + array_312.finish(); + } +} + +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 { + let mut object_318 = array_316.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_318, item_317); + object_318.finish(); + } + array_316.finish(); + } +} + +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 { + let mut object_322 = array_320.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_322, item_321); + object_322.finish(); + } + array_320.finish(); + } +} + +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.stage_name { + object.key("stageName").string(var_324); + } +} + +pub fn serialize_structure_deployment_canary_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeploymentCanarySettings, +) { + object.key("percentTraffic").number( + #[allow(clippy::useless_conversion)] + 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 { + object_326.key(key_327).string(value_328); + } + object_326.finish(); + } + object.key("useStageCache").boolean(input.use_stage_cache); +} + +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.path { + object.key("path").string(var_330); + } + if let Some(var_331) = &input.method { + object.key("method").string(var_331); + } + if let Some(var_332) = &input.status_code { + object.key("statusCode").string(var_332); + } + if let Some(var_333) = &input.name { + object.key("name").string(var_333); + } +} + +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 { + array_335.value().string(item_336.as_str()); + } + array_335.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 { + array_338.value().string(item_339); + } + array_338.finish(); + } +} + +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_version { + object.key("truststoreVersion").string(var_341); + } +} + +pub fn serialize_structure_canary_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CanarySettings, +) { + object.key("percentTraffic").number( + #[allow(clippy::useless_conversion)] + 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.stage_variable_overrides { + let mut object_344 = object.key("stageVariableOverrides").start_object(); + for (key_345, value_346) in var_343 { + object_344.key(key_345).string(value_346); + } + object_344.finish(); + } + object.key("useStageCache").boolean(input.use_stage_cache); +} + +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.stage { + object.key("stage").string(var_348); + } + if let Some(var_349) = &input.throttle { + let mut object_350 = object.key("throttle").start_object(); + for (key_351, value_352) in var_349 { + 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(); + } + object_350.finish(); + } +} + +pub fn serialize_structure_throttle_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ThrottleSettings, +) { + object.key("burstLimit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.burst_limit).into()), + ); + object.key("rateLimit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((input.rate_limit).into()), + ); +} + +pub fn serialize_structure_quota_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::QuotaSettings, +) { + object.key("limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.limit).into()), + ); + object.key("offset").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.offset).into()), + ); + if let Some(var_354) = &input.period { + object.key("period").string(var_354.as_str()); + } +} + +pub fn serialize_structure_tls_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TlsConfig, +) { + object + .key("insecureSkipVerification") + .boolean(input.insecure_skip_verification); +} + +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.path { + object.key("path").string(var_356); + } + if let Some(var_357) = &input.value { + object.key("value").string(var_357); + } + if let Some(var_358) = &input.from { + object.key("from").string(var_358); + } +} diff --git a/sdk/apigateway/src/lib.rs b/sdk/apigateway/src/lib.rs index c569961b32db..0212b4cda87e 100644 --- a/sdk/apigateway/src/lib.rs +++ b/sdk/apigateway/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! Amazon API Gateway //!

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.

@@ -20,6 +21,7 @@ mod http_serde; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_deser; @@ -28,6 +30,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/apigateway/src/model.rs b/sdk/apigateway/src/model.rs index efaefb165177..507ab4b321f3 100644 --- a/sdk/apigateway/src/model.rs +++ b/sdk/apigateway/src/model.rs @@ -27,7 +27,6 @@ impl std::convert::From<&str> for VpcLinkStatus { } } } - impl std::str::FromStr for VpcLinkStatus { type Err = std::convert::Infallible; @@ -35,7 +34,6 @@ impl std::str::FromStr for VpcLinkStatus { Ok(VpcLinkStatus::from(s)) } } - impl VpcLinkStatus { pub fn as_str(&self) -> &str { match self { @@ -52,19 +50,6 @@ impl AsRef for VpcLinkStatus { self.as_str() } } - -impl serde::Serialize for VpcLinkStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for VpcLinkStatus { fn deserialize(deserializer: D) -> Result where @@ -78,26 +63,22 @@ impl<'de> serde::Deserialize<'de> for VpcLinkStatus { /// A single patch operation to apply to the specified resource. Please refer to /// http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used. #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchOperation { ///

An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

#[serde(rename = "op")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub op: std::option::Option, ///

The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

#[serde(rename = "path")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub path: std::option::Option, ///

The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.

#[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

#[serde(rename = "from")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub from: std::option::Option, } @@ -209,7 +190,6 @@ impl std::convert::From<&str> for Op { } } } - impl std::str::FromStr for Op { type Err = std::convert::Infallible; @@ -217,7 +197,6 @@ impl std::str::FromStr for Op { Ok(Op::from(s)) } } - impl Op { pub fn as_str(&self) -> &str { match self { @@ -236,19 +215,6 @@ impl AsRef for Op { self.as_str() } } - -impl serde::Serialize for Op { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Op { fn deserialize(deserializer: D) -> Result where @@ -261,7 +227,7 @@ impl<'de> serde::Deserialize<'de> for Op { ///

Quotas configured for a usage plan.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct QuotaSettings { ///

The maximum number of requests that can be made in a given time period.

#[serde(rename = "limit")] @@ -271,7 +237,6 @@ pub struct QuotaSettings { pub offset: i32, ///

The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".

#[serde(rename = "period")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub period: std::option::Option, } @@ -368,7 +333,6 @@ impl std::convert::From<&str> for QuotaPeriodType { } } } - impl std::str::FromStr for QuotaPeriodType { type Err = std::convert::Infallible; @@ -376,7 +340,6 @@ impl std::str::FromStr for QuotaPeriodType { Ok(QuotaPeriodType::from(s)) } } - impl QuotaPeriodType { pub fn as_str(&self) -> &str { match self { @@ -392,19 +355,6 @@ impl AsRef for QuotaPeriodType { self.as_str() } } - -impl serde::Serialize for QuotaPeriodType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for QuotaPeriodType { fn deserialize(deserializer: D) -> Result where @@ -417,7 +367,7 @@ impl<'de> serde::Deserialize<'de> for QuotaPeriodType { ///

The API request rate limits.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ThrottleSettings { ///

The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.

#[serde(rename = "burstLimit")] @@ -480,21 +430,18 @@ impl ThrottleSettings { ///

API stage name of the associated API stage in a usage plan.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ApiStage { ///

API Id of the associated API stage in a usage plan.

#[serde(rename = "apiId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub api_id: std::option::Option, ///

API stage name of the associated API stage in a usage plan.

#[serde(rename = "stage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage: std::option::Option, ///

Map containing method level throttling information for API stage in a usage plan.

#[serde(rename = "throttle")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub throttle: std::option::Option< std::collections::HashMap, @@ -578,19 +525,17 @@ impl ApiStage { ///

Configuration settings of a canary deployment.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CanarySettings { ///

The percent (0-100) of traffic diverted to a canary deployment.

#[serde(rename = "percentTraffic")] pub percent_traffic: f64, ///

The ID of the canary deployment.

#[serde(rename = "deploymentId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub deployment_id: std::option::Option, ///

Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

#[serde(rename = "stageVariableOverrides")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage_variable_overrides: std::option::Option>, @@ -688,16 +633,14 @@ impl CanarySettings { ///

Access log settings, including the access log format and access log destination ARN.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AccessLogSettings { ///

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

#[serde(rename = "format")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub format: std::option::Option, ///

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.

#[serde(rename = "destinationArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_arn: std::option::Option, } @@ -758,14 +701,13 @@ impl AccessLogSettings { ///

Specifies the method setting properties.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MethodSetting { ///

Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled, and the value is a Boolean.

#[serde(rename = "metricsEnabled")] pub metrics_enabled: bool, ///

Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO. Choose ERROR to write only error-level entries to CloudWatch Logs, or choose INFO to include all ERROR events as well as extra informational events.

#[serde(rename = "loggingLevel")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub logging_level: std::option::Option, ///

Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

@@ -791,7 +733,6 @@ pub struct MethodSetting { pub require_authorization_for_cache_control: bool, ///

Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, SUCCEED_WITHOUT_RESPONSE_HEADER.

#[serde(rename = "unauthorizedCacheControlHeaderStrategy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub unauthorized_cache_control_header_strategy: std::option::Option, @@ -990,7 +931,6 @@ impl std::convert::From<&str> for UnauthorizedCacheControlHeaderStrategy { } } } - impl std::str::FromStr for UnauthorizedCacheControlHeaderStrategy { type Err = std::convert::Infallible; @@ -998,7 +938,6 @@ impl std::str::FromStr for UnauthorizedCacheControlHeaderStrategy { Ok(UnauthorizedCacheControlHeaderStrategy::from(s)) } } - impl UnauthorizedCacheControlHeaderStrategy { pub fn as_str(&self) -> &str { match self { @@ -1018,19 +957,6 @@ impl AsRef for UnauthorizedCacheControlHeaderStrategy { self.as_str() } } - -impl serde::Serialize for UnauthorizedCacheControlHeaderStrategy { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for UnauthorizedCacheControlHeaderStrategy { fn deserialize(deserializer: D) -> Result where @@ -1072,7 +998,6 @@ impl std::convert::From<&str> for CacheClusterStatus { } } } - impl std::str::FromStr for CacheClusterStatus { type Err = std::convert::Infallible; @@ -1080,7 +1005,6 @@ impl std::str::FromStr for CacheClusterStatus { Ok(CacheClusterStatus::from(s)) } } - impl CacheClusterStatus { pub fn as_str(&self) -> &str { match self { @@ -1098,19 +1022,6 @@ impl AsRef for CacheClusterStatus { self.as_str() } } - -impl serde::Serialize for CacheClusterStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CacheClusterStatus { fn deserialize(deserializer: D) -> Result where @@ -1158,7 +1069,6 @@ impl std::convert::From<&str> for CacheClusterSize { } } } - impl std::str::FromStr for CacheClusterSize { type Err = std::convert::Infallible; @@ -1166,7 +1076,6 @@ impl std::str::FromStr for CacheClusterSize { Ok(CacheClusterSize::from(s)) } } - impl CacheClusterSize { pub fn as_str(&self) -> &str { match self { @@ -1187,19 +1096,6 @@ impl AsRef for CacheClusterSize { self.as_str() } } - -impl serde::Serialize for CacheClusterSize { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CacheClusterSize { fn deserialize(deserializer: D) -> Result where @@ -1212,16 +1108,14 @@ impl<'de> serde::Deserialize<'de> for CacheClusterSize { ///

The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.

#[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EndpointConfiguration { ///

A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is "EDGE". For a regional API and its custom domain name, the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.

#[serde(rename = "types")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub types: std::option::Option>, ///

A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

#[serde(rename = "vpcEndpointIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub vpc_endpoint_ids: std::option::Option>, } @@ -1312,7 +1206,6 @@ impl std::convert::From<&str> for EndpointType { } } } - impl std::str::FromStr for EndpointType { type Err = std::convert::Infallible; @@ -1320,7 +1213,6 @@ impl std::str::FromStr for EndpointType { Ok(EndpointType::from(s)) } } - impl EndpointType { pub fn as_str(&self) -> &str { match self { @@ -1336,19 +1228,6 @@ impl AsRef for EndpointType { self.as_str() } } - -impl serde::Serialize for EndpointType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for EndpointType { fn deserialize(deserializer: D) -> Result where @@ -1383,7 +1262,6 @@ impl std::convert::From<&str> for ApiKeySourceType { } } } - impl std::str::FromStr for ApiKeySourceType { type Err = std::convert::Infallible; @@ -1391,7 +1269,6 @@ impl std::str::FromStr for ApiKeySourceType { Ok(ApiKeySourceType::from(s)) } } - impl ApiKeySourceType { pub fn as_str(&self) -> &str { match self { @@ -1406,19 +1283,6 @@ impl AsRef for ApiKeySourceType { self.as_str() } } - -impl serde::Serialize for ApiKeySourceType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ApiKeySourceType { fn deserialize(deserializer: D) -> Result where @@ -1594,47 +1458,39 @@ impl<'de> serde::Deserialize<'de> for ApiKeySourceType { /// Set up an API's method /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Method { ///

The method's HTTP verb.

#[serde(rename = "httpMethod")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub http_method: std::option::Option, ///

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

#[serde(rename = "authorizationType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorization_type: std::option::Option, ///

The identifier of an Authorizer to use on this method. The authorizationType must be CUSTOM.

#[serde(rename = "authorizerId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorizer_id: std::option::Option, ///

A boolean flag specifying whether a valid ApiKey is required to invoke this method.

#[serde(rename = "apiKeyRequired")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub api_key_required: std::option::Option, ///

The identifier of a RequestValidator for request validation.

#[serde(rename = "requestValidatorId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub request_validator_id: std::option::Option, ///

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

#[serde(rename = "operationName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operation_name: std::option::Option, ///

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.

#[serde(rename = "requestParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub request_parameters: std::option::Option>, ///

A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).

#[serde(rename = "requestModels")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub request_models: std::option::Option>, @@ -1686,7 +1542,6 @@ pub struct Method { /// AWS CLI /// #[serde(rename = "methodResponses")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub method_responses: std::option::Option< std::collections::HashMap, @@ -1782,12 +1637,10 @@ pub struct Method { /// AWS CLI /// #[serde(rename = "methodIntegration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub method_integration: std::option::Option, ///

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

#[serde(rename = "authorizationScopes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorization_scopes: std::option::Option>, } @@ -2092,7 +1945,7 @@ impl Method { /// Creating an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Integration { ///

Specifies an API method integration type. The valid value is one of the following:

///
    @@ -2104,12 +1957,10 @@ pub struct Integration { ///
///

For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.

#[serde(rename = "type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

Specifies the integration's HTTP method type.

#[serde(rename = "httpMethod")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub http_method: std::option::Option, ///

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

@@ -2119,33 +1970,27 @@ pub struct Integration { ///
  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    ///
  • #[serde(rename = "uri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub uri: std::option::Option, ///

    The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

    #[serde(rename = "connectionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub connection_type: std::option::Option, ///

    The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

    #[serde(rename = "connectionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub connection_id: std::option::Option, ///

    Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\*:user/\*. To use resource-based permissions on supported AWS services, specify null.

    #[serde(rename = "credentials")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub credentials: std::option::Option, ///

    A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

    #[serde(rename = "requestParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub request_parameters: std::option::Option>, ///

    Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.

    #[serde(rename = "requestTemplates")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub request_templates: std::option::Option>, @@ -2174,7 +2019,6 @@ pub struct Integration { /// /// #[serde(rename = "passthroughBehavior")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub passthrough_behavior: std::option::Option, ///

    Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

    @@ -2184,7 +2028,6 @@ pub struct Integration { /// ///

    If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.

    #[serde(rename = "contentHandling")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content_handling: std::option::Option, ///

    Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

    @@ -2192,12 +2035,10 @@ pub struct Integration { pub timeout_in_millis: i32, ///

    Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace. You can specify the same cacheNamespace across resources to return the same cached data for requests to different resources.

    #[serde(rename = "cacheNamespace")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cache_namespace: std::option::Option, ///

    A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

    #[serde(rename = "cacheKeyParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cache_key_parameters: std::option::Option>, ///

    Specifies the integration's responses.

    @@ -2246,14 +2087,12 @@ pub struct Integration { /// Creating an API /// #[serde(rename = "integrationResponses")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub integration_responses: std::option::Option< std::collections::HashMap, >, ///

    Specifies the TLS configuration for an integration.

    #[serde(rename = "tlsConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tls_config: std::option::Option, } @@ -2559,7 +2398,7 @@ impl Integration { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TlsConfig { ///

    Specifies whether or not API Gateway skips verification that the certificate for an integration endpoint is /// issued by a supported certificate authority. This isn’t recommended, but it enables you to @@ -2625,28 +2464,24 @@ impl TlsConfig { /// Creating an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IntegrationResponse { ///

    Specifies the status code that is used to map the integration response to an existing MethodResponse.

    #[serde(rename = "statusCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_code: std::option::Option, ///

    Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.

    #[serde(rename = "selectionPattern")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub selection_pattern: std::option::Option, ///

    A key-value map specifying response parameters that are passed to the method response from the back end. /// The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

    #[serde(rename = "responseParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_parameters: std::option::Option>, ///

    Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

    #[serde(rename = "responseTemplates")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_templates: std::option::Option>, @@ -2657,7 +2492,6 @@ pub struct IntegrationResponse { /// ///

    If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

    #[serde(rename = "contentHandling")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content_handling: std::option::Option, } @@ -2808,7 +2642,6 @@ impl std::convert::From<&str> for ContentHandlingStrategy { } } } - impl std::str::FromStr for ContentHandlingStrategy { type Err = std::convert::Infallible; @@ -2816,7 +2649,6 @@ impl std::str::FromStr for ContentHandlingStrategy { Ok(ContentHandlingStrategy::from(s)) } } - impl ContentHandlingStrategy { pub fn as_str(&self) -> &str { match self { @@ -2831,19 +2663,6 @@ impl AsRef for ContentHandlingStrategy { self.as_str() } } - -impl serde::Serialize for ContentHandlingStrategy { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ContentHandlingStrategy { fn deserialize(deserializer: D) -> Result where @@ -2878,7 +2697,6 @@ impl std::convert::From<&str> for ConnectionType { } } } - impl std::str::FromStr for ConnectionType { type Err = std::convert::Infallible; @@ -2886,7 +2704,6 @@ impl std::str::FromStr for ConnectionType { Ok(ConnectionType::from(s)) } } - impl ConnectionType { pub fn as_str(&self) -> &str { match self { @@ -2901,19 +2718,6 @@ impl AsRef for ConnectionType { self.as_str() } } - -impl serde::Serialize for ConnectionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ConnectionType { fn deserialize(deserializer: D) -> Result where @@ -2955,7 +2759,6 @@ impl std::convert::From<&str> for IntegrationType { } } } - impl std::str::FromStr for IntegrationType { type Err = std::convert::Infallible; @@ -2963,7 +2766,6 @@ impl std::str::FromStr for IntegrationType { Ok(IntegrationType::from(s)) } } - impl IntegrationType { pub fn as_str(&self) -> &str { match self { @@ -2981,19 +2783,6 @@ impl AsRef for IntegrationType { self.as_str() } } - -impl serde::Serialize for IntegrationType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for IntegrationType { fn deserialize(deserializer: D) -> Result where @@ -3050,22 +2839,19 @@ impl<'de> serde::Deserialize<'de> for IntegrationType { /// Creating an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MethodResponse { ///

    The method response's status code.

    #[serde(rename = "statusCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_code: std::option::Option, ///

    A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

    #[serde(rename = "responseParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_parameters: std::option::Option>, ///

    Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.

    #[serde(rename = "responseModels")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_models: std::option::Option>, @@ -3215,7 +3001,6 @@ impl std::convert::From<&str> for GatewayResponseType { } } } - impl std::str::FromStr for GatewayResponseType { type Err = std::convert::Infallible; @@ -3223,7 +3008,6 @@ impl std::str::FromStr for GatewayResponseType { Ok(GatewayResponseType::from(s)) } } - impl GatewayResponseType { pub fn as_str(&self) -> &str { match self { @@ -3256,19 +3040,6 @@ impl AsRef for GatewayResponseType { self.as_str() } } - -impl serde::Serialize for GatewayResponseType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for GatewayResponseType { fn deserialize(deserializer: D) -> Result where @@ -3281,7 +3052,7 @@ impl<'de> serde::Deserialize<'de> for GatewayResponseType { ///

    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.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MutualTlsAuthentication { ///

    An Amazon S3 URL that specifies the truststore for mutual TLS authentication, /// for example s3://bucket-name/key-name. @@ -3290,13 +3061,11 @@ pub struct MutualTlsAuthentication { /// name to use the new version. To update the truststore, you must have permissions to /// access the S3 object.

    #[serde(rename = "truststoreUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub truststore_uri: std::option::Option, ///

    The version of the S3 object that contains your truststore. To /// specify a version, you must have versioning enabled for the S3 bucket.

    #[serde(rename = "truststoreVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub truststore_version: std::option::Option, ///

    A list of warnings that API Gateway returns while processing your truststore. Invalid @@ -3304,7 +3073,6 @@ pub struct MutualTlsAuthentication { /// be able to access your API. To resolve warnings, upload a new truststore to S3, and then /// update you domain name to use the new version.

    #[serde(rename = "truststoreWarnings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub truststore_warnings: std::option::Option>, } @@ -3409,7 +3177,6 @@ impl std::convert::From<&str> for SecurityPolicy { } } } - impl std::str::FromStr for SecurityPolicy { type Err = std::convert::Infallible; @@ -3417,7 +3184,6 @@ impl std::str::FromStr for SecurityPolicy { Ok(SecurityPolicy::from(s)) } } - impl SecurityPolicy { pub fn as_str(&self) -> &str { match self { @@ -3432,19 +3198,6 @@ impl AsRef for SecurityPolicy { self.as_str() } } - -impl serde::Serialize for SecurityPolicy { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SecurityPolicy { fn deserialize(deserializer: D) -> Result where @@ -3481,7 +3234,6 @@ impl std::convert::From<&str> for DomainNameStatus { } } } - impl std::str::FromStr for DomainNameStatus { type Err = std::convert::Infallible; @@ -3489,7 +3241,6 @@ impl std::str::FromStr for DomainNameStatus { Ok(DomainNameStatus::from(s)) } } - impl DomainNameStatus { pub fn as_str(&self) -> &str { match self { @@ -3505,19 +3256,6 @@ impl AsRef for DomainNameStatus { self.as_str() } } - -impl serde::Serialize for DomainNameStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DomainNameStatus { fn deserialize(deserializer: D) -> Result where @@ -3530,31 +3268,26 @@ impl<'de> serde::Deserialize<'de> for DomainNameStatus { ///

    Specifies the target API entity to which the documentation applies.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentationPartLocation { ///

    [Required] The type of API entity to which the documentation content applies. Valid values are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.

    #[serde(rename = "type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    The URL path of the target. It is a valid field for the API entity types of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other location attributes, the child entity's path attribute must match that of the parent entity as a prefix.

    #[serde(rename = "path")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub path: std::option::Option, ///

    The HTTP verb of a method. It is a valid field for the API entity types of METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's method attribute must match that of the parent entity exactly.

    #[serde(rename = "method")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub method: std::option::Option, ///

    The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's statusCode attribute must match that of the parent entity exactly.

    #[serde(rename = "statusCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_code: std::option::Option, ///

    The name of the targeted API entity. It is a valid and required field for the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field for any other entity type.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -3693,7 +3426,6 @@ impl std::convert::From<&str> for DocumentationPartType { } } } - impl std::str::FromStr for DocumentationPartType { type Err = std::convert::Infallible; @@ -3701,7 +3433,6 @@ impl std::str::FromStr for DocumentationPartType { Ok(DocumentationPartType::from(s)) } } - impl DocumentationPartType { pub fn as_str(&self) -> &str { match self { @@ -3726,19 +3457,6 @@ impl AsRef for DocumentationPartType { self.as_str() } } - -impl serde::Serialize for DocumentationPartType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentationPartType { fn deserialize(deserializer: D) -> Result where @@ -3751,11 +3469,10 @@ impl<'de> serde::Deserialize<'de> for DocumentationPartType { ///

    Represents a summary of a Method resource, given a particular date and time.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MethodSnapshot { ///

    The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

    #[serde(rename = "authorizationType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorization_type: std::option::Option, ///

    Specifies whether the method requires a valid ApiKey.

    @@ -3844,7 +3561,6 @@ impl std::convert::From<&str> for AuthorizerType { } } } - impl std::str::FromStr for AuthorizerType { type Err = std::convert::Infallible; @@ -3852,7 +3568,6 @@ impl std::str::FromStr for AuthorizerType { Ok(AuthorizerType::from(s)) } } - impl AuthorizerType { pub fn as_str(&self) -> &str { match self { @@ -3868,19 +3583,6 @@ impl AsRef for AuthorizerType { self.as_str() } } - -impl serde::Serialize for AuthorizerType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AuthorizerType { fn deserialize(deserializer: D) -> Result where @@ -3915,7 +3617,6 @@ impl std::convert::From<&str> for PutMode { } } } - impl std::str::FromStr for PutMode { type Err = std::convert::Infallible; @@ -3923,7 +3624,6 @@ impl std::str::FromStr for PutMode { Ok(PutMode::from(s)) } } - impl PutMode { pub fn as_str(&self) -> &str { match self { @@ -3938,19 +3638,6 @@ impl AsRef for PutMode { self.as_str() } } - -impl serde::Serialize for PutMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PutMode { fn deserialize(deserializer: D) -> Result where @@ -3983,7 +3670,6 @@ impl std::convert::From<&str> for ApiKeysFormat { } } } - impl std::str::FromStr for ApiKeysFormat { type Err = std::convert::Infallible; @@ -3991,7 +3677,6 @@ impl std::str::FromStr for ApiKeysFormat { Ok(ApiKeysFormat::from(s)) } } - impl ApiKeysFormat { pub fn as_str(&self) -> &str { match self { @@ -4005,19 +3690,6 @@ impl AsRef for ApiKeysFormat { self.as_str() } } - -impl serde::Serialize for ApiKeysFormat { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ApiKeysFormat { fn deserialize(deserializer: D) -> Result where @@ -4033,41 +3705,34 @@ impl<'de> serde::Deserialize<'de> for ApiKeysFormat { ///

    To enable access to a resource in an Amazon Virtual Private Cloud through Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted for one or more network load balancers of the VPC and then integrate an API method with a private integration that uses the VpcLink. The private integration has an integration type of HTTP or HTTP_PROXY and has a connection type of VPC_LINK. The integration uses the connectionId property to identify the VpcLink used.

    /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct VpcLink { ///

    The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The name used to label and identify the VPC link.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The description of the VPC link.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

    #[serde(rename = "targetArns")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_arns: std::option::Option>, ///

    The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING, or FAILED. Deploying an API will wait if the status is PENDING and will fail if the status is DELETING.

    #[serde(rename = "status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A description about the VPC link status.

    #[serde(rename = "statusMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_message: std::option::Option, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, @@ -4208,46 +3873,38 @@ impl VpcLink { /// Create and Use Usage Plans /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UsagePlan { ///

    The identifier of a UsagePlan resource.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The name of a usage plan.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The description of a usage plan.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The associated API stages of a usage plan.

    #[serde(rename = "apiStages")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub api_stages: std::option::Option>, ///

    The request throttle limits of a usage plan.

    #[serde(rename = "throttle")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub throttle: std::option::Option, ///

    The maximum number of permitted requests per a given unit time interval.

    #[serde(rename = "quota")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub quota: std::option::Option, ///

    The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.

    #[serde(rename = "productCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub product_code: std::option::Option, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, @@ -4403,26 +4060,22 @@ impl UsagePlan { /// Create and Use Usage Plans /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UsagePlanKey { ///

    The Id of a usage plan key.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The type of a usage plan key. Currently, the valid key type is API_KEY.

    #[serde(rename = "type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    The value of a usage plan key.

    #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    The name of a usage plan key.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -4507,26 +4160,22 @@ impl UsagePlanKey { /// Deploy an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Stage { ///

    The identifier of the Deployment that the stage points to.

    #[serde(rename = "deploymentId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub deployment_id: std::option::Option, ///

    The identifier of a client certificate for an API stage.

    #[serde(rename = "clientCertificateId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub client_certificate_id: std::option::Option, ///

    The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

    #[serde(rename = "stageName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage_name: std::option::Option, ///

    The stage's description.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    Specifies whether a cache cluster is enabled for the stage.

    @@ -4534,17 +4183,14 @@ pub struct Stage { pub cache_cluster_enabled: bool, ///

    The size of the cache cluster for the stage, if enabled.

    #[serde(rename = "cacheClusterSize")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cache_cluster_size: std::option::Option, ///

    The status of the cache cluster for the stage, if enabled.

    #[serde(rename = "cacheClusterStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cache_cluster_status: std::option::Option, ///

    A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage.

    #[serde(rename = "methodSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub method_settings: std::option::Option< std::collections::HashMap, @@ -4552,23 +4198,19 @@ pub struct Stage { ///

    A map that defines the stage variables for a Stage resource. Variable names can /// have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

    #[serde(rename = "variables")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub variables: std::option::Option>, ///

    The version of the associated API documentation.

    #[serde(rename = "documentationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub documentation_version: std::option::Option, ///

    Settings for logging access in this stage.

    #[serde(rename = "accessLogSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub access_log_settings: std::option::Option, ///

    Settings for the canary deployment in this stage.

    #[serde(rename = "canarySettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub canary_settings: std::option::Option, ///

    Specifies whether active tracing with X-ray is enabled for the Stage.

    @@ -4576,21 +4218,15 @@ pub struct Stage { pub tracing_enabled: bool, ///

    The ARN of the WebAcl associated with the Stage.

    #[serde(rename = "webAclArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub web_acl_arn: std::option::Option, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, ///

    The timestamp when the stage was created.

    #[serde(rename = "createdDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4598,10 +4234,6 @@ pub struct Stage { pub created_date: std::option::Option, ///

    The timestamp when the stage last updated.

    #[serde(rename = "lastUpdatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4899,26 +4531,22 @@ impl Stage { ///

    A type of SDK that API Gateway can generate.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SdkType { ///

    The identifier of an SdkType instance.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The user-friendly name of an SdkType instance.

    #[serde(rename = "friendlyName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub friendly_name: std::option::Option, ///

    The description of an SdkType.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    A list of configuration properties of an SdkType.

    #[serde(rename = "configurationProperties")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub configuration_properties: std::option::Option>, @@ -5009,21 +4637,18 @@ impl SdkType { ///

    A configuration property of an SDK type.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SdkConfigurationProperty { ///

    The name of a an SdkType configuration property.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The user-friendly name of an SdkType configuration property.

    #[serde(rename = "friendlyName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub friendly_name: std::option::Option, ///

    The description of an SdkType configuration property.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    A boolean flag of an SdkType configuration property to indicate if the associated SDK configuration property is required (true) or not (false).

    @@ -5031,7 +4656,6 @@ pub struct SdkConfigurationProperty { pub required: bool, ///

    The default value of an SdkType configuration property.

    #[serde(rename = "defaultValue")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub default_value: std::option::Option, } @@ -5128,29 +4752,22 @@ impl SdkConfigurationProperty { /// Create an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RestApi { ///

    The API's identifier. This identifier is unique across all of your APIs in API Gateway.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The API's name.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The API's description.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The timestamp when the API was created.

    #[serde(rename = "createdDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -5158,42 +4775,34 @@ pub struct RestApi { pub created_date: std::option::Option, ///

    A version identifier for the API.

    #[serde(rename = "version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

    The warning messages reported when failonwarnings is turned on during API import.

    #[serde(rename = "warnings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub warnings: std::option::Option>, ///

    The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

    #[serde(rename = "binaryMediaTypes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub binary_media_types: std::option::Option>, ///

    A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

    #[serde(rename = "minimumCompressionSize")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub minimum_compression_size: std::option::Option, ///

    The source of the API key for metering requests according to a usage plan. Valid values are:

    • HEADER to read the API key from the X-API-Key header of a request.
    • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

    #[serde(rename = "apiKeySource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub api_key_source: std::option::Option, ///

    The endpoint configuration of this RestApi showing the endpoint types of the API.

    #[serde(rename = "endpointConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub endpoint_configuration: std::option::Option, ///

    A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.

    #[serde(rename = "policy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policy: std::option::Option, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, @@ -5419,26 +5028,22 @@ impl RestApi { /// Create an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Resource { ///

    The resource's identifier.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The parent resource's identifier.

    #[serde(rename = "parentId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parent_id: std::option::Option, ///

    The last path segment for this resource.

    #[serde(rename = "pathPart")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub path_part: std::option::Option, ///

    The full path for this resource.

    #[serde(rename = "path")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub path: std::option::Option, ///

    Gets an API resource's method of a given HTTP verb.

    @@ -5595,7 +5200,6 @@ pub struct Resource { ///
    ///
    #[serde(rename = "resourceMethods")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_methods: std::option::Option>, @@ -5706,16 +5310,14 @@ impl Resource { /// /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RequestValidator { ///

    The identifier of this RequestValidator.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The name of this RequestValidator

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    A Boolean flag to indicate whether to validate a request body according to the configured Model schema.

    @@ -5813,31 +5415,26 @@ impl RequestValidator { /// Method, MethodResponse, Models and Mappings /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Model { ///

    The identifier for the model resource.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The name of the model. Must be an alphanumeric string.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The description of the model.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The schema for the model. For application/json models, this should be JSON schema draft 4 model. Do not include "\*/" characters in the description of any properties because such "\*/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

    #[serde(rename = "schema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schema: std::option::Option, ///

    The content-type for the model.

    #[serde(rename = "contentType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content_type: std::option::Option, } @@ -5988,27 +5585,23 @@ impl Model { /// Customize Gateway Responses /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GatewayResponse { ///

    The response type of the associated GatewayResponse. Valid values are

    • ACCESS_DENIED
    • API_CONFIGURATION_ERROR
    • AUTHORIZER_FAILURE
    • AUTHORIZER_CONFIGURATION_ERROR
    • BAD_REQUEST_PARAMETERS
    • BAD_REQUEST_BODY
    • DEFAULT_4XX
    • DEFAULT_5XX
    • EXPIRED_TOKEN
    • INVALID_SIGNATURE
    • INTEGRATION_FAILURE
    • INTEGRATION_TIMEOUT
    • INVALID_API_KEY
    • MISSING_AUTHENTICATION_TOKEN
    • QUOTA_EXCEEDED
    • REQUEST_TOO_LARGE
    • RESOURCE_NOT_FOUND
    • THROTTLED
    • UNAUTHORIZED
    • UNSUPPORTED_MEDIA_TYPE

    #[serde(rename = "responseType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_type: std::option::Option, ///

    The HTTP status code for this GatewayResponse.

    #[serde(rename = "statusCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_code: std::option::Option, ///

    Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

    #[serde(rename = "responseParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_parameters: std::option::Option>, ///

    Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

    #[serde(rename = "responseTemplates")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_templates: std::option::Option>, @@ -6140,29 +5733,22 @@ impl GatewayResponse { /// Set a Custom Host Name for an API /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DomainName { ///

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

    #[serde(rename = "domainName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub domain_name: std::option::Option, ///

    The name of the certificate that will be used by edge-optimized endpoint for this domain name.

    #[serde(rename = "certificateName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub certificate_name: std::option::Option, ///

    The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

    #[serde(rename = "certificateArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub certificate_arn: std::option::Option, ///

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

    #[serde(rename = "certificateUploadDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6170,63 +5756,51 @@ pub struct DomainName { pub certificate_upload_date: std::option::Option, ///

    The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

    #[serde(rename = "regionalDomainName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub regional_domain_name: std::option::Option, ///

    The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    #[serde(rename = "regionalHostedZoneId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub regional_hosted_zone_id: std::option::Option, ///

    The name of the certificate that will be used for validating the regional domain name.

    #[serde(rename = "regionalCertificateName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub regional_certificate_name: std::option::Option, ///

    The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.

    #[serde(rename = "regionalCertificateArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub regional_certificate_arn: std::option::Option, ///

    The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

    #[serde(rename = "distributionDomainName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub distribution_domain_name: std::option::Option, ///

    The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

    #[serde(rename = "distributionHostedZoneId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub distribution_hosted_zone_id: std::option::Option, ///

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

    #[serde(rename = "endpointConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] 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.

    #[serde(rename = "domainNameStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub domain_name_status: std::option::Option, ///

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

    #[serde(rename = "domainNameStatusMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub domain_name_status_message: std::option::Option, ///

    The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

    #[serde(rename = "securityPolicy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub security_policy: std::option::Option, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: 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.

    #[serde(rename = "mutualTlsAuthentication")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub mutual_tls_authentication: std::option::Option, } @@ -6520,19 +6094,14 @@ impl DomainName { /// Documenting an API, DocumentationPart, DocumentationVersions /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentationVersion { ///

    The version identifier of the API documentation snapshot.

    #[serde(rename = "version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

    The date when the API documentation snapshot is created.

    #[serde(rename = "createdDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6540,7 +6109,6 @@ pub struct DocumentationVersion { pub created_date: std::option::Option, ///

    The description of the API documentation snapshot.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, } @@ -6616,21 +6184,18 @@ impl DocumentationVersion { /// Documenting an API, DocumentationParts /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentationPart { ///

    The DocumentationPart identifier, generated by API Gateway when the DocumentationPart is created.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The location of the API entity to which the documentation applies. Valid fields depend on the targeted API entity type. All the valid location fields are not required. If not explicitly specified, a valid location field is treated as a wildcard and associated documentation content may be inherited by matching entities, unless overridden.

    #[serde(rename = "location")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub location: std::option::Option, ///

    A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., "{ \"description\": \"The API does ...\" }". Only OpenAPI-compliant documentation-related fields from the properties map are exported and, hence, published as part of the API entity definitions, while the original documentation parts are exported in a OpenAPI extension of x-amazon-apigateway-documentation.

    #[serde(rename = "properties")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub properties: std::option::Option, } @@ -6725,7 +6290,6 @@ impl std::convert::From<&str> for LocationStatusType { } } } - impl std::str::FromStr for LocationStatusType { type Err = std::convert::Infallible; @@ -6733,7 +6297,6 @@ impl std::str::FromStr for LocationStatusType { Ok(LocationStatusType::from(s)) } } - impl LocationStatusType { pub fn as_str(&self) -> &str { match self { @@ -6748,19 +6311,6 @@ impl AsRef for LocationStatusType { self.as_str() } } - -impl serde::Serialize for LocationStatusType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for LocationStatusType { fn deserialize(deserializer: D) -> Result where @@ -6779,24 +6329,18 @@ impl<'de> serde::Deserialize<'de> for LocationStatusType { /// AWS SDKs /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Deployment { ///

    The identifier for the deployment resource.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The description for the deployment resource.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The date and time that the deployment resource was created.

    #[serde(rename = "createdDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6804,7 +6348,6 @@ pub struct Deployment { pub created_date: std::option::Option, ///

    A summary of the RestApi at the date and time that the deployment resource was created.

    #[serde(rename = "apiSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub api_summary: std::option::Option< std::collections::HashMap< @@ -6913,29 +6456,22 @@ impl Deployment { /// Use Client-Side Certificate /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ClientCertificate { ///

    The identifier of the client certificate.

    #[serde(rename = "clientCertificateId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub client_certificate_id: std::option::Option, ///

    The description of the client certificate.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication in the integration endpoint .

    #[serde(rename = "pemEncodedCertificate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub pem_encoded_certificate: std::option::Option, ///

    The timestamp when the client certificate was created.

    #[serde(rename = "createdDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6943,10 +6479,6 @@ pub struct ClientCertificate { pub created_date: std::option::Option, ///

    The timestamp when the client certificate will expire.

    #[serde(rename = "expirationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6954,7 +6486,6 @@ pub struct ClientCertificate { pub expiration_date: std::option::Option, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, @@ -7086,21 +6617,18 @@ impl ClientCertificate { /// Use Custom Domain Names /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BasePathMapping { ///

    The base path name that callers of the API must provide as part of the URL after the domain name.

    #[serde(rename = "basePath")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub base_path: std::option::Option, ///

    The string identifier of the associated RestApi.

    #[serde(rename = "restApiId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rest_api_id: std::option::Option, ///

    The name of the associated stage.

    #[serde(rename = "stage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage: std::option::Option, } @@ -7174,56 +6702,46 @@ impl BasePathMapping { /// Use Cognito User Pool as Authorizer /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Authorizer { ///

    The identifier for the authorizer resource.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    [Required] The name of the authorizer.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

    #[serde(rename = "type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

    #[serde(rename = "providerARNs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provider_ar_ns: std::option::Option>, ///

    Optional customer-defined field, used in OpenAPI imports and exports without functional impact.

    #[serde(rename = "authType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub auth_type: std::option::Option, ///

    Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

    #[serde(rename = "authorizerUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorizer_uri: std::option::Option, ///

    Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

    #[serde(rename = "authorizerCredentials")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorizer_credentials: std::option::Option, ///

    The identity source for which authorization is requested.

    • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
    • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

    #[serde(rename = "identitySource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub identity_source: std::option::Option, ///

    A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. For COGNITO_USER_POOLS authorizers, API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

    #[serde(rename = "identityValidationExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub identity_validation_expression: std::option::Option, ///

    The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

    #[serde(rename = "authorizerResultTtlInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub authorizer_result_ttl_in_seconds: std::option::Option, } @@ -7405,31 +6923,26 @@ impl Authorizer { /// Use API Keys /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ApiKey { ///

    The identifier of the API Key.

    #[serde(rename = "id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The value of the API Key.

    #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    The name of the API Key.

    #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

    #[serde(rename = "customerId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub customer_id: std::option::Option, ///

    The description of the API Key.

    #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    Specifies whether the API Key can be used by callers.

    @@ -7437,10 +6950,6 @@ pub struct ApiKey { pub enabled: bool, ///

    The timestamp when the API Key was created.

    #[serde(rename = "createdDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -7448,10 +6957,6 @@ pub struct ApiKey { pub created_date: std::option::Option, ///

    The timestamp when the API Key was last updated.

    #[serde(rename = "lastUpdatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -7459,12 +6964,10 @@ pub struct ApiKey { pub last_updated_date: std::option::Option, ///

    A list of Stage resources that are associated with the ApiKey resource.

    #[serde(rename = "stageKeys")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage_keys: std::option::Option>, ///

    The collection of tags. Each tag element is associated with a given resource.

    #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, @@ -7638,7 +7141,7 @@ impl ApiKey { ///

    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.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MutualTlsAuthenticationInput { ///

    An Amazon S3 resource ARN that specifies the truststore for mutual TLS authentication, /// for example, @@ -7648,13 +7151,11 @@ pub struct MutualTlsAuthenticationInput { /// name to use the new version. To update the truststore, you must have permissions to /// access the S3 object.

    #[serde(rename = "truststoreUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub truststore_uri: std::option::Option, ///

    The version of the S3 object that contains your truststore. To /// specify a version, you must have versioning enabled for the S3 bucket.

    #[serde(rename = "truststoreVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub truststore_version: std::option::Option, } @@ -7722,14 +7223,13 @@ impl MutualTlsAuthenticationInput { ///

    The input configuration for a canary deployment.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DeploymentCanarySettings { ///

    The percentage (0.0-100.0) of traffic routed to the canary deployment.

    #[serde(rename = "percentTraffic")] pub percent_traffic: f64, ///

    A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.

    #[serde(rename = "stageVariableOverrides")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage_variable_overrides: std::option::Option>, @@ -7815,16 +7315,14 @@ impl DeploymentCanarySettings { ///

    A reference to a unique stage identified in the format {restApiId}/{stage}.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StageKey { ///

    The string identifier of the associated RestApi.

    #[serde(rename = "restApiId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rest_api_id: std::option::Option, ///

    The stage name associated with the stage key.

    #[serde(rename = "stageName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stage_name: std::option::Option, } diff --git a/sdk/apigateway/src/operation.rs b/sdk/apigateway/src/operation.rs index d3d38cce310b..e73483e6ce62 100644 --- a/sdk/apigateway/src/operation.rs +++ b/sdk/apigateway/src/operation.rs @@ -1,7 +1,7 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

    Create an ApiKey resource.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateApiKey { _private: (), } @@ -14,7 +14,6 @@ impl CreateApiKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateApiKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -28,7 +27,7 @@ impl smithy_http::response::ParseStrictResponse for CreateApiKey { ///

    Adds a new Authorizer resource to an existing RestApi resource.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateAuthorizer { _private: (), } @@ -41,7 +40,6 @@ impl CreateAuthorizer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateAuthorizer { type Output = Result; @@ -55,7 +53,7 @@ impl smithy_http::response::ParseStrictResponse for CreateAuthorizer { } ///

    Creates a new BasePathMapping resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateBasePathMapping { _private: (), } @@ -68,7 +66,6 @@ impl CreateBasePathMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateBasePathMapping { type Output = Result< crate::output::CreateBasePathMappingOutput, @@ -84,7 +81,7 @@ impl smithy_http::response::ParseStrictResponse for CreateBasePathMapping { } ///

    Creates a Deployment resource, which makes a specified RestApi callable over the internet.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDeployment { _private: (), } @@ -97,7 +94,6 @@ impl CreateDeployment { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateDeployment { type Output = Result; @@ -110,7 +106,7 @@ impl smithy_http::response::ParseStrictResponse for CreateDeployment { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDocumentationPart { _private: (), } @@ -123,7 +119,6 @@ impl CreateDocumentationPart { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateDocumentationPart { type Output = Result< crate::output::CreateDocumentationPartOutput, @@ -138,7 +133,7 @@ impl smithy_http::response::ParseStrictResponse for CreateDocumentationPart { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDocumentationVersion { _private: (), } @@ -151,7 +146,6 @@ impl CreateDocumentationVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateDocumentationVersion { type Output = Result< crate::output::CreateDocumentationVersionOutput, @@ -167,7 +161,7 @@ impl smithy_http::response::ParseStrictResponse for CreateDocumentationVersion { } ///

    Creates a new domain name.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDomainName { _private: (), } @@ -180,7 +174,6 @@ impl CreateDomainName { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateDomainName { type Output = Result; @@ -194,7 +187,7 @@ impl smithy_http::response::ParseStrictResponse for CreateDomainName { } ///

    Adds a new Model resource to an existing RestApi resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateModel { _private: (), } @@ -207,7 +200,6 @@ impl CreateModel { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateModel { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -220,7 +212,7 @@ impl smithy_http::response::ParseStrictResponse for CreateModel { } ///

    Creates a ReqeustValidator of a given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateRequestValidator { _private: (), } @@ -233,7 +225,6 @@ impl CreateRequestValidator { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateRequestValidator { type Output = Result< crate::output::CreateRequestValidatorOutput, @@ -249,7 +240,7 @@ impl smithy_http::response::ParseStrictResponse for CreateRequestValidator { } ///

    Creates a Resource resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateResource { _private: (), } @@ -262,7 +253,6 @@ impl CreateResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -275,7 +265,7 @@ impl smithy_http::response::ParseStrictResponse for CreateResource { } ///

    Creates a new RestApi resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateRestApi { _private: (), } @@ -288,7 +278,6 @@ impl CreateRestApi { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateRestApi { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -302,7 +291,7 @@ impl smithy_http::response::ParseStrictResponse for CreateRestApi { ///

    Creates a new Stage resource that references a pre-existing Deployment for the API.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateStage { _private: (), } @@ -315,7 +304,6 @@ impl CreateStage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateStage { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -328,7 +316,7 @@ impl smithy_http::response::ParseStrictResponse for CreateStage { } ///

    Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateUsagePlan { _private: (), } @@ -341,7 +329,6 @@ impl CreateUsagePlan { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateUsagePlan { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -354,7 +341,7 @@ impl smithy_http::response::ParseStrictResponse for CreateUsagePlan { } ///

    Creates a usage plan key for adding an existing API key to a usage plan.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateUsagePlanKey { _private: (), } @@ -367,7 +354,6 @@ impl CreateUsagePlanKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateUsagePlanKey { type Output = Result; @@ -381,7 +367,7 @@ impl smithy_http::response::ParseStrictResponse for CreateUsagePlanKey { } ///

    Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateVpcLink { _private: (), } @@ -394,7 +380,6 @@ impl CreateVpcLink { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateVpcLink { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -407,7 +392,7 @@ impl smithy_http::response::ParseStrictResponse for CreateVpcLink { } ///

    Deletes the ApiKey resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteApiKey { _private: (), } @@ -420,7 +405,6 @@ impl DeleteApiKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteApiKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -434,7 +418,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteApiKey { ///

    Deletes an existing Authorizer resource.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteAuthorizer { _private: (), } @@ -447,7 +431,6 @@ impl DeleteAuthorizer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteAuthorizer { type Output = Result; @@ -461,7 +444,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteAuthorizer { } ///

    Deletes the BasePathMapping resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBasePathMapping { _private: (), } @@ -474,7 +457,6 @@ impl DeleteBasePathMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBasePathMapping { type Output = Result< crate::output::DeleteBasePathMappingOutput, @@ -490,7 +472,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBasePathMapping { } ///

    Deletes the ClientCertificate resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteClientCertificate { _private: (), } @@ -503,7 +485,6 @@ impl DeleteClientCertificate { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteClientCertificate { type Output = Result< crate::output::DeleteClientCertificateOutput, @@ -519,7 +500,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteClientCertificate { } ///

    Deletes a Deployment resource. Deleting a deployment will only succeed if there are no Stage resources associated with it.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteDeployment { _private: (), } @@ -532,7 +513,6 @@ impl DeleteDeployment { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteDeployment { type Output = Result; @@ -545,7 +525,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteDeployment { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteDocumentationPart { _private: (), } @@ -558,7 +538,6 @@ impl DeleteDocumentationPart { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteDocumentationPart { type Output = Result< crate::output::DeleteDocumentationPartOutput, @@ -573,7 +552,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteDocumentationPart { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteDocumentationVersion { _private: (), } @@ -586,7 +565,6 @@ impl DeleteDocumentationVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteDocumentationVersion { type Output = Result< crate::output::DeleteDocumentationVersionOutput, @@ -602,7 +580,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteDocumentationVersion { } ///

    Deletes the DomainName resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteDomainName { _private: (), } @@ -615,7 +593,6 @@ impl DeleteDomainName { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteDomainName { type Output = Result; @@ -629,7 +606,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteDomainName { } ///

    Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteGatewayResponse { _private: (), } @@ -642,7 +619,6 @@ impl DeleteGatewayResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteGatewayResponse { type Output = Result< crate::output::DeleteGatewayResponseOutput, @@ -658,7 +634,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteGatewayResponse { } ///

    Represents a delete integration.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteIntegration { _private: (), } @@ -671,7 +647,6 @@ impl DeleteIntegration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteIntegration { type Output = Result; @@ -685,7 +660,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteIntegration { } ///

    Represents a delete integration response.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteIntegrationResponse { _private: (), } @@ -698,7 +673,6 @@ impl DeleteIntegrationResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteIntegrationResponse { type Output = Result< crate::output::DeleteIntegrationResponseOutput, @@ -714,7 +688,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteIntegrationResponse { } ///

    Deletes an existing Method resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteMethod { _private: (), } @@ -727,7 +701,6 @@ impl DeleteMethod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteMethod { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -740,7 +713,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteMethod { } ///

    Deletes an existing MethodResponse resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteMethodResponse { _private: (), } @@ -753,7 +726,6 @@ impl DeleteMethodResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteMethodResponse { type Output = Result; @@ -767,7 +739,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteMethodResponse { } ///

    Deletes a model.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteModel { _private: (), } @@ -780,7 +752,6 @@ impl DeleteModel { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteModel { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -793,7 +764,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteModel { } ///

    Deletes a RequestValidator of a given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteRequestValidator { _private: (), } @@ -806,7 +777,6 @@ impl DeleteRequestValidator { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteRequestValidator { type Output = Result< crate::output::DeleteRequestValidatorOutput, @@ -822,7 +792,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteRequestValidator { } ///

    Deletes a Resource resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteResource { _private: (), } @@ -835,7 +805,6 @@ impl DeleteResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -848,7 +817,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteResource { } ///

    Deletes the specified API.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteRestApi { _private: (), } @@ -861,7 +830,6 @@ impl DeleteRestApi { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteRestApi { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -874,7 +842,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteRestApi { } ///

    Deletes a Stage resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteStage { _private: (), } @@ -887,7 +855,6 @@ impl DeleteStage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteStage { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -900,7 +867,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteStage { } ///

    Deletes a usage plan of a given plan Id.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteUsagePlan { _private: (), } @@ -913,7 +880,6 @@ impl DeleteUsagePlan { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteUsagePlan { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -926,7 +892,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteUsagePlan { } ///

    Deletes a usage plan key and remove the underlying API key from the associated usage plan.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteUsagePlanKey { _private: (), } @@ -939,7 +905,6 @@ impl DeleteUsagePlanKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteUsagePlanKey { type Output = Result; @@ -953,7 +918,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteUsagePlanKey { } ///

    Deletes an existing VpcLink of a specified identifier.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteVpcLink { _private: (), } @@ -966,7 +931,6 @@ impl DeleteVpcLink { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteVpcLink { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -979,7 +943,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteVpcLink { } ///

    Flushes all authorizer cache entries on a stage.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct FlushStageAuthorizersCache { _private: (), } @@ -992,7 +956,6 @@ impl FlushStageAuthorizersCache { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for FlushStageAuthorizersCache { type Output = Result< crate::output::FlushStageAuthorizersCacheOutput, @@ -1008,7 +971,7 @@ impl smithy_http::response::ParseStrictResponse for FlushStageAuthorizersCache { } ///

    Flushes a stage's cache.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct FlushStageCache { _private: (), } @@ -1021,7 +984,6 @@ impl FlushStageCache { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for FlushStageCache { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1034,7 +996,7 @@ impl smithy_http::response::ParseStrictResponse for FlushStageCache { } ///

    Generates a ClientCertificate resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GenerateClientCertificate { _private: (), } @@ -1047,7 +1009,6 @@ impl GenerateClientCertificate { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GenerateClientCertificate { type Output = Result< crate::output::GenerateClientCertificateOutput, @@ -1063,7 +1024,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateClientCertificate { } ///

    Gets information about the current Account resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAccount { _private: (), } @@ -1076,7 +1037,6 @@ impl GetAccount { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetAccount { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1089,7 +1049,7 @@ impl smithy_http::response::ParseStrictResponse for GetAccount { } ///

    Gets information about the current ApiKey resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetApiKey { _private: (), } @@ -1102,7 +1062,6 @@ impl GetApiKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetApiKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1115,7 +1074,7 @@ impl smithy_http::response::ParseStrictResponse for GetApiKey { } ///

    Gets information about the current ApiKeys resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetApiKeys { _private: (), } @@ -1128,7 +1087,6 @@ impl GetApiKeys { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetApiKeys { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1142,7 +1100,7 @@ impl smithy_http::response::ParseStrictResponse for GetApiKeys { ///

    Describe an existing Authorizer resource.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAuthorizer { _private: (), } @@ -1155,7 +1113,6 @@ impl GetAuthorizer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetAuthorizer { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1169,7 +1126,7 @@ impl smithy_http::response::ParseStrictResponse for GetAuthorizer { ///

    Describe an existing Authorizers resource.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAuthorizers { _private: (), } @@ -1182,7 +1139,6 @@ impl GetAuthorizers { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetAuthorizers { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1195,7 +1151,7 @@ impl smithy_http::response::ParseStrictResponse for GetAuthorizers { } ///

    Describe a BasePathMapping resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBasePathMapping { _private: (), } @@ -1208,7 +1164,6 @@ impl GetBasePathMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBasePathMapping { type Output = Result; @@ -1222,7 +1177,7 @@ impl smithy_http::response::ParseStrictResponse for GetBasePathMapping { } ///

    Represents a collection of BasePathMapping resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBasePathMappings { _private: (), } @@ -1235,7 +1190,6 @@ impl GetBasePathMappings { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBasePathMappings { type Output = Result; @@ -1249,7 +1203,7 @@ impl smithy_http::response::ParseStrictResponse for GetBasePathMappings { } ///

    Gets information about the current ClientCertificate resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetClientCertificate { _private: (), } @@ -1262,7 +1216,6 @@ impl GetClientCertificate { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetClientCertificate { type Output = Result; @@ -1276,7 +1229,7 @@ impl smithy_http::response::ParseStrictResponse for GetClientCertificate { } ///

    Gets a collection of ClientCertificate resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetClientCertificates { _private: (), } @@ -1289,7 +1242,6 @@ impl GetClientCertificates { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetClientCertificates { type Output = Result< crate::output::GetClientCertificatesOutput, @@ -1305,7 +1257,7 @@ impl smithy_http::response::ParseStrictResponse for GetClientCertificates { } ///

    Gets information about a Deployment resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDeployment { _private: (), } @@ -1318,7 +1270,6 @@ impl GetDeployment { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDeployment { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1331,7 +1282,7 @@ impl smithy_http::response::ParseStrictResponse for GetDeployment { } ///

    Gets information about a Deployments collection.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDeployments { _private: (), } @@ -1344,7 +1295,6 @@ impl GetDeployments { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDeployments { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1356,7 +1306,7 @@ impl smithy_http::response::ParseStrictResponse for GetDeployments { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDocumentationPart { _private: (), } @@ -1369,7 +1319,6 @@ impl GetDocumentationPart { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDocumentationPart { type Output = Result; @@ -1382,7 +1331,7 @@ impl smithy_http::response::ParseStrictResponse for GetDocumentationPart { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDocumentationParts { _private: (), } @@ -1395,7 +1344,6 @@ impl GetDocumentationParts { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDocumentationParts { type Output = Result< crate::output::GetDocumentationPartsOutput, @@ -1410,7 +1358,7 @@ impl smithy_http::response::ParseStrictResponse for GetDocumentationParts { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDocumentationVersion { _private: (), } @@ -1423,7 +1371,6 @@ impl GetDocumentationVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDocumentationVersion { type Output = Result< crate::output::GetDocumentationVersionOutput, @@ -1438,7 +1385,7 @@ impl smithy_http::response::ParseStrictResponse for GetDocumentationVersion { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDocumentationVersions { _private: (), } @@ -1451,7 +1398,6 @@ impl GetDocumentationVersions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDocumentationVersions { type Output = Result< crate::output::GetDocumentationVersionsOutput, @@ -1467,7 +1413,7 @@ impl smithy_http::response::ParseStrictResponse for GetDocumentationVersions { } ///

    Represents a domain name that is contained in a simpler, more intuitive URL that can be called.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDomainName { _private: (), } @@ -1480,7 +1426,6 @@ impl GetDomainName { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDomainName { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1493,7 +1438,7 @@ impl smithy_http::response::ParseStrictResponse for GetDomainName { } ///

    Represents a collection of DomainName resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDomainNames { _private: (), } @@ -1506,7 +1451,6 @@ impl GetDomainNames { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDomainNames { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1519,7 +1463,7 @@ impl smithy_http::response::ParseStrictResponse for GetDomainNames { } ///

    Exports a deployed version of a RestApi in a specified format.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetExport { _private: (), } @@ -1532,7 +1476,6 @@ impl GetExport { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetExport { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1545,7 +1488,7 @@ impl smithy_http::response::ParseStrictResponse for GetExport { } ///

    Gets a GatewayResponse of a specified response type on the given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetGatewayResponse { _private: (), } @@ -1558,7 +1501,6 @@ impl GetGatewayResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetGatewayResponse { type Output = Result; @@ -1572,7 +1514,7 @@ impl smithy_http::response::ParseStrictResponse for GetGatewayResponse { } ///

    Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetGatewayResponses { _private: (), } @@ -1585,7 +1527,6 @@ impl GetGatewayResponses { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetGatewayResponses { type Output = Result; @@ -1599,7 +1540,7 @@ impl smithy_http::response::ParseStrictResponse for GetGatewayResponses { } ///

    Get the integration settings.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetIntegration { _private: (), } @@ -1612,7 +1553,6 @@ impl GetIntegration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetIntegration { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1625,7 +1565,7 @@ impl smithy_http::response::ParseStrictResponse for GetIntegration { } ///

    Represents a get integration response.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetIntegrationResponse { _private: (), } @@ -1638,7 +1578,6 @@ impl GetIntegrationResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetIntegrationResponse { type Output = Result< crate::output::GetIntegrationResponseOutput, @@ -1654,7 +1593,7 @@ impl smithy_http::response::ParseStrictResponse for GetIntegrationResponse { } ///

    Describe an existing Method resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMethod { _private: (), } @@ -1667,7 +1606,6 @@ impl GetMethod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMethod { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1680,7 +1618,7 @@ impl smithy_http::response::ParseStrictResponse for GetMethod { } ///

    Describes a MethodResponse resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMethodResponse { _private: (), } @@ -1693,7 +1631,6 @@ impl GetMethodResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMethodResponse { type Output = Result; @@ -1707,7 +1644,7 @@ impl smithy_http::response::ParseStrictResponse for GetMethodResponse { } ///

    Describes an existing model defined for a RestApi resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetModel { _private: (), } @@ -1720,7 +1657,6 @@ impl GetModel { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetModel { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1733,7 +1669,7 @@ impl smithy_http::response::ParseStrictResponse for GetModel { } ///

    Describes existing Models defined for a RestApi resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetModels { _private: (), } @@ -1746,7 +1682,6 @@ impl GetModels { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetModels { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1759,7 +1694,7 @@ impl smithy_http::response::ParseStrictResponse for GetModels { } ///

    Generates a sample mapping template that can be used to transform a payload into the structure of a model.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetModelTemplate { _private: (), } @@ -1772,7 +1707,6 @@ impl GetModelTemplate { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetModelTemplate { type Output = Result; @@ -1786,7 +1720,7 @@ impl smithy_http::response::ParseStrictResponse for GetModelTemplate { } ///

    Gets a RequestValidator of a given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRequestValidator { _private: (), } @@ -1799,7 +1733,6 @@ impl GetRequestValidator { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRequestValidator { type Output = Result; @@ -1813,7 +1746,7 @@ impl smithy_http::response::ParseStrictResponse for GetRequestValidator { } ///

    Gets the RequestValidators collection of a given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRequestValidators { _private: (), } @@ -1826,7 +1759,6 @@ impl GetRequestValidators { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRequestValidators { type Output = Result; @@ -1840,7 +1772,7 @@ impl smithy_http::response::ParseStrictResponse for GetRequestValidators { } ///

    Lists information about a resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetResource { _private: (), } @@ -1853,7 +1785,6 @@ impl GetResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1866,7 +1797,7 @@ impl smithy_http::response::ParseStrictResponse for GetResource { } ///

    Lists information about a collection of Resource resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetResources { _private: (), } @@ -1879,7 +1810,6 @@ impl GetResources { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetResources { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1892,7 +1822,7 @@ impl smithy_http::response::ParseStrictResponse for GetResources { } ///

    Lists the RestApi resource in the collection.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRestApi { _private: (), } @@ -1905,7 +1835,6 @@ impl GetRestApi { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRestApi { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1918,7 +1847,7 @@ impl smithy_http::response::ParseStrictResponse for GetRestApi { } ///

    Lists the RestApis resources for your collection.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRestApis { _private: (), } @@ -1931,7 +1860,6 @@ impl GetRestApis { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRestApis { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1944,7 +1872,7 @@ impl smithy_http::response::ParseStrictResponse for GetRestApis { } ///

    Generates a client SDK for a RestApi and Stage.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetSdk { _private: (), } @@ -1957,7 +1885,6 @@ impl GetSdk { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetSdk { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1969,7 +1896,7 @@ impl smithy_http::response::ParseStrictResponse for GetSdk { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetSdkType { _private: (), } @@ -1982,7 +1909,6 @@ impl GetSdkType { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetSdkType { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1994,7 +1920,7 @@ impl smithy_http::response::ParseStrictResponse for GetSdkType { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetSdkTypes { _private: (), } @@ -2007,7 +1933,6 @@ impl GetSdkTypes { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetSdkTypes { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2020,7 +1945,7 @@ impl smithy_http::response::ParseStrictResponse for GetSdkTypes { } ///

    Gets information about a Stage resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetStage { _private: (), } @@ -2033,7 +1958,6 @@ impl GetStage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetStage { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2046,7 +1970,7 @@ impl smithy_http::response::ParseStrictResponse for GetStage { } ///

    Gets information about one or more Stage resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetStages { _private: (), } @@ -2059,7 +1983,6 @@ impl GetStages { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetStages { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2072,7 +1995,7 @@ impl smithy_http::response::ParseStrictResponse for GetStages { } ///

    Gets the Tags collection for a given resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetTags { _private: (), } @@ -2085,7 +2008,6 @@ impl GetTags { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetTags { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2098,7 +2020,7 @@ impl smithy_http::response::ParseStrictResponse for GetTags { } ///

    Gets the usage data of a usage plan in a specified time interval.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetUsage { _private: (), } @@ -2111,7 +2033,6 @@ impl GetUsage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetUsage { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2124,7 +2045,7 @@ impl smithy_http::response::ParseStrictResponse for GetUsage { } ///

    Gets a usage plan of a given plan identifier.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetUsagePlan { _private: (), } @@ -2137,7 +2058,6 @@ impl GetUsagePlan { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetUsagePlan { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2150,7 +2070,7 @@ impl smithy_http::response::ParseStrictResponse for GetUsagePlan { } ///

    Gets a usage plan key of a given key identifier.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetUsagePlanKey { _private: (), } @@ -2163,7 +2083,6 @@ impl GetUsagePlanKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetUsagePlanKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2176,7 +2095,7 @@ impl smithy_http::response::ParseStrictResponse for GetUsagePlanKey { } ///

    Gets all the usage plan keys representing the API keys added to a specified usage plan.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetUsagePlanKeys { _private: (), } @@ -2189,7 +2108,6 @@ impl GetUsagePlanKeys { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetUsagePlanKeys { type Output = Result; @@ -2203,7 +2121,7 @@ impl smithy_http::response::ParseStrictResponse for GetUsagePlanKeys { } ///

    Gets all the usage plans of the caller's account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetUsagePlans { _private: (), } @@ -2216,7 +2134,6 @@ impl GetUsagePlans { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetUsagePlans { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2229,7 +2146,7 @@ impl smithy_http::response::ParseStrictResponse for GetUsagePlans { } ///

    Gets a specified VPC link under the caller's account in a region.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetVpcLink { _private: (), } @@ -2242,7 +2159,6 @@ impl GetVpcLink { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetVpcLink { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2255,7 +2171,7 @@ impl smithy_http::response::ParseStrictResponse for GetVpcLink { } ///

    Gets the VpcLinks collection under the caller's account in a selected region.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetVpcLinks { _private: (), } @@ -2268,7 +2184,6 @@ impl GetVpcLinks { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetVpcLinks { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2281,7 +2196,7 @@ impl smithy_http::response::ParseStrictResponse for GetVpcLinks { } ///

    Import API keys from an external source, such as a CSV-formatted file.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ImportApiKeys { _private: (), } @@ -2294,7 +2209,6 @@ impl ImportApiKeys { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ImportApiKeys { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2306,7 +2220,7 @@ impl smithy_http::response::ParseStrictResponse for ImportApiKeys { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ImportDocumentationParts { _private: (), } @@ -2319,7 +2233,6 @@ impl ImportDocumentationParts { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ImportDocumentationParts { type Output = Result< crate::output::ImportDocumentationPartsOutput, @@ -2335,7 +2248,7 @@ impl smithy_http::response::ParseStrictResponse for ImportDocumentationParts { } ///

    A feature of the API Gateway control service for creating a new API from an external API definition file.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ImportRestApi { _private: (), } @@ -2348,7 +2261,6 @@ impl ImportRestApi { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ImportRestApi { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2361,7 +2273,7 @@ impl smithy_http::response::ParseStrictResponse for ImportRestApi { } ///

    Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutGatewayResponse { _private: (), } @@ -2374,7 +2286,6 @@ impl PutGatewayResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutGatewayResponse { type Output = Result; @@ -2388,7 +2299,7 @@ impl smithy_http::response::ParseStrictResponse for PutGatewayResponse { } ///

    Sets up a method's integration.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutIntegration { _private: (), } @@ -2401,7 +2312,6 @@ impl PutIntegration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutIntegration { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2414,7 +2324,7 @@ impl smithy_http::response::ParseStrictResponse for PutIntegration { } ///

    Represents a put integration.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutIntegrationResponse { _private: (), } @@ -2427,7 +2337,6 @@ impl PutIntegrationResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutIntegrationResponse { type Output = Result< crate::output::PutIntegrationResponseOutput, @@ -2443,7 +2352,7 @@ impl smithy_http::response::ParseStrictResponse for PutIntegrationResponse { } ///

    Add a method to an existing Resource resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutMethod { _private: (), } @@ -2456,7 +2365,6 @@ impl PutMethod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutMethod { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2469,7 +2377,7 @@ impl smithy_http::response::ParseStrictResponse for PutMethod { } ///

    Adds a MethodResponse to an existing Method resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutMethodResponse { _private: (), } @@ -2482,7 +2390,6 @@ impl PutMethodResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutMethodResponse { type Output = Result; @@ -2497,7 +2404,7 @@ impl smithy_http::response::ParseStrictResponse for PutMethodResponse { ///

    A feature of the API Gateway control service for updating an existing API with an input of external API definitions. /// The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutRestApi { _private: (), } @@ -2510,7 +2417,6 @@ impl PutRestApi { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutRestApi { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2523,7 +2429,7 @@ impl smithy_http::response::ParseStrictResponse for PutRestApi { } ///

    Adds or updates a tag on a given resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), } @@ -2536,7 +2442,6 @@ impl TagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2553,7 +2458,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { /// Use Lambda Function as Authorizer /// Use Cognito User Pool as Authorizer /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TestInvokeAuthorizer { _private: (), } @@ -2566,7 +2471,6 @@ impl TestInvokeAuthorizer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TestInvokeAuthorizer { type Output = Result; @@ -2580,7 +2484,7 @@ impl smithy_http::response::ParseStrictResponse for TestInvokeAuthorizer { } ///

    Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TestInvokeMethod { _private: (), } @@ -2593,7 +2497,6 @@ impl TestInvokeMethod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TestInvokeMethod { type Output = Result; @@ -2607,7 +2510,7 @@ impl smithy_http::response::ParseStrictResponse for TestInvokeMethod { } ///

    Removes a tag from a given resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), } @@ -2620,7 +2523,6 @@ impl UntagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UntagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2633,7 +2535,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { } ///

    Changes information about the current Account resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAccount { _private: (), } @@ -2646,7 +2548,6 @@ impl UpdateAccount { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateAccount { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2659,7 +2560,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAccount { } ///

    Changes information about an ApiKey resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateApiKey { _private: (), } @@ -2672,7 +2573,6 @@ impl UpdateApiKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateApiKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2686,7 +2586,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateApiKey { ///

    Updates an existing Authorizer resource.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAuthorizer { _private: (), } @@ -2699,7 +2599,6 @@ impl UpdateAuthorizer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateAuthorizer { type Output = Result; @@ -2713,7 +2612,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAuthorizer { } ///

    Changes information about the BasePathMapping resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateBasePathMapping { _private: (), } @@ -2726,7 +2625,6 @@ impl UpdateBasePathMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateBasePathMapping { type Output = Result< crate::output::UpdateBasePathMappingOutput, @@ -2742,7 +2640,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateBasePathMapping { } ///

    Changes information about an ClientCertificate resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateClientCertificate { _private: (), } @@ -2755,7 +2653,6 @@ impl UpdateClientCertificate { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateClientCertificate { type Output = Result< crate::output::UpdateClientCertificateOutput, @@ -2771,7 +2668,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateClientCertificate { } ///

    Changes information about a Deployment resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDeployment { _private: (), } @@ -2784,7 +2681,6 @@ impl UpdateDeployment { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDeployment { type Output = Result; @@ -2797,7 +2693,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDeployment { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDocumentationPart { _private: (), } @@ -2810,7 +2706,6 @@ impl UpdateDocumentationPart { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDocumentationPart { type Output = Result< crate::output::UpdateDocumentationPartOutput, @@ -2825,7 +2720,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDocumentationPart { } } -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDocumentationVersion { _private: (), } @@ -2838,7 +2733,6 @@ impl UpdateDocumentationVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDocumentationVersion { type Output = Result< crate::output::UpdateDocumentationVersionOutput, @@ -2854,7 +2748,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDocumentationVersion { } ///

    Changes information about the DomainName resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDomainName { _private: (), } @@ -2867,7 +2761,6 @@ impl UpdateDomainName { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDomainName { type Output = Result; @@ -2881,7 +2774,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDomainName { } ///

    Updates a GatewayResponse of a specified response type on the given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateGatewayResponse { _private: (), } @@ -2894,7 +2787,6 @@ impl UpdateGatewayResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateGatewayResponse { type Output = Result< crate::output::UpdateGatewayResponseOutput, @@ -2910,7 +2802,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateGatewayResponse { } ///

    Represents an update integration.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateIntegration { _private: (), } @@ -2923,7 +2815,6 @@ impl UpdateIntegration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateIntegration { type Output = Result; @@ -2937,7 +2828,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateIntegration { } ///

    Represents an update integration response.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateIntegrationResponse { _private: (), } @@ -2950,7 +2841,6 @@ impl UpdateIntegrationResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateIntegrationResponse { type Output = Result< crate::output::UpdateIntegrationResponseOutput, @@ -2966,7 +2856,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateIntegrationResponse { } ///

    Updates an existing Method resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateMethod { _private: (), } @@ -2979,7 +2869,6 @@ impl UpdateMethod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateMethod { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2992,7 +2881,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateMethod { } ///

    Updates an existing MethodResponse resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateMethodResponse { _private: (), } @@ -3005,7 +2894,6 @@ impl UpdateMethodResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateMethodResponse { type Output = Result; @@ -3019,7 +2907,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateMethodResponse { } ///

    Changes information about a model.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateModel { _private: (), } @@ -3032,7 +2920,6 @@ impl UpdateModel { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateModel { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3045,7 +2932,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateModel { } ///

    Updates a RequestValidator of a given RestApi.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateRequestValidator { _private: (), } @@ -3058,7 +2945,6 @@ impl UpdateRequestValidator { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateRequestValidator { type Output = Result< crate::output::UpdateRequestValidatorOutput, @@ -3074,7 +2960,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateRequestValidator { } ///

    Changes information about a Resource resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateResource { _private: (), } @@ -3087,7 +2973,6 @@ impl UpdateResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3100,7 +2985,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateResource { } ///

    Changes information about the specified API.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateRestApi { _private: (), } @@ -3113,7 +2998,6 @@ impl UpdateRestApi { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateRestApi { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3126,7 +3010,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateRestApi { } ///

    Changes information about a Stage resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateStage { _private: (), } @@ -3139,7 +3023,6 @@ impl UpdateStage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateStage { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3152,7 +3035,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateStage { } ///

    Grants a temporary extension to the remaining quota of a usage plan associated with a specified API key.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateUsage { _private: (), } @@ -3165,7 +3048,6 @@ impl UpdateUsage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateUsage { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3178,7 +3060,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateUsage { } ///

    Updates a usage plan of a given plan Id.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateUsagePlan { _private: (), } @@ -3191,7 +3073,6 @@ impl UpdateUsagePlan { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateUsagePlan { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3204,7 +3085,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateUsagePlan { } ///

    Updates an existing VpcLink of a specified identifier.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateVpcLink { _private: (), } @@ -3217,7 +3098,6 @@ impl UpdateVpcLink { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateVpcLink { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { diff --git a/sdk/apigateway/src/operation_deser.rs b/sdk/apigateway/src/operation_deser.rs index 9ecbbda928bf..5ef70bf6feef 100644 --- a/sdk/apigateway/src/operation_deser.rs +++ b/sdk/apigateway/src/operation_deser.rs @@ -5,7 +5,6 @@ pub fn parse_create_api_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateApiKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateApiKeyError::unhandled(generic)), @@ -127,7 +126,6 @@ pub fn parse_create_authorizer_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateAuthorizerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateAuthorizerError::unhandled(generic)), @@ -238,7 +236,6 @@ pub fn parse_create_base_path_mapping_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateBasePathMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateBasePathMappingError::unhandled(generic)), @@ -290,10 +287,8 @@ pub fn parse_create_base_path_mapping_error( ) .map_err(crate::error::CreateBasePathMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_base_path_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_base_path_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateBasePathMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -338,7 +333,6 @@ pub fn parse_create_deployment_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateDeploymentError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateDeploymentError::unhandled(generic)), @@ -485,7 +479,6 @@ pub fn parse_create_documentation_part_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateDocumentationPartError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -530,10 +523,8 @@ pub fn parse_create_documentation_part_error( ) .map_err(crate::error::CreateDocumentationPartError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_documentation_part_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_documentation_part_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateDocumentationPartError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -563,10 +554,8 @@ pub fn parse_create_documentation_part_error( ) .map_err(crate::error::CreateDocumentationPartError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_documentation_part_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_documentation_part_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateDocumentationPartError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -615,7 +604,6 @@ pub fn parse_create_documentation_version_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateDocumentationVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -657,10 +645,8 @@ pub fn parse_create_documentation_version_error( crate::json_deser::limit_exceeded_exception(response.body().as_ref(), output) .map_err(crate::error::CreateDocumentationVersionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_documentation_version_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_documentation_version_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateDocumentationVersionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -688,10 +674,8 @@ pub fn parse_create_documentation_version_error( ) .map_err(crate::error::CreateDocumentationVersionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_documentation_version_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_documentation_version_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateDocumentationVersionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -738,7 +722,6 @@ pub fn parse_create_domain_name_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateDomainNameError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateDomainNameError::unhandled(generic)), @@ -827,7 +810,6 @@ pub fn parse_create_model_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateModelError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateModelError::unhandled(generic)), @@ -949,7 +931,6 @@ pub fn parse_create_request_validator_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateRequestValidatorError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -983,10 +964,8 @@ pub fn parse_create_request_validator_error( ) .map_err(crate::error::CreateRequestValidatorError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_request_validator_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_request_validator_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateRequestValidatorError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1016,10 +995,8 @@ pub fn parse_create_request_validator_error( ) .map_err(crate::error::CreateRequestValidatorError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_request_validator_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_request_validator_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateRequestValidatorError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1065,7 +1042,6 @@ pub fn parse_create_resource_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateResourceError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateResourceError::unhandled(generic)), @@ -1187,7 +1163,6 @@ pub fn parse_create_rest_api_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateRestApiError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateRestApiError::unhandled(generic)), @@ -1287,7 +1262,6 @@ pub fn parse_create_stage_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateStageError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateStageError::unhandled(generic)), @@ -1408,7 +1382,6 @@ pub fn parse_create_usage_plan_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateUsagePlanError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateUsagePlanError::unhandled(generic)), @@ -1530,7 +1503,6 @@ pub fn parse_create_usage_plan_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateUsagePlanKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateUsagePlanKeyError::unhandled(generic)), @@ -1632,7 +1604,6 @@ pub fn parse_create_vpc_link_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateVpcLinkError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateVpcLinkError::unhandled(generic)), @@ -1710,7 +1681,6 @@ pub fn parse_delete_api_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteApiKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteApiKeyError::unhandled(generic)), @@ -1785,7 +1755,6 @@ pub fn parse_delete_authorizer_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteAuthorizerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteAuthorizerError::unhandled(generic)), @@ -1882,7 +1851,6 @@ pub fn parse_delete_base_path_mapping_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteBasePathMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteBasePathMappingError::unhandled(generic)), @@ -1934,10 +1902,8 @@ pub fn parse_delete_base_path_mapping_error( ) .map_err(crate::error::DeleteBasePathMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_base_path_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_base_path_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteBasePathMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1978,7 +1944,6 @@ pub fn parse_delete_client_certificate_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteClientCertificateError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2023,10 +1988,8 @@ pub fn parse_delete_client_certificate_error( ) .map_err(crate::error::DeleteClientCertificateError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_client_certificate_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_client_certificate_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteClientCertificateError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2067,7 +2030,6 @@ pub fn parse_delete_deployment_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteDeploymentError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteDeploymentError::unhandled(generic)), @@ -2154,7 +2116,6 @@ pub fn parse_delete_documentation_part_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteDocumentationPartError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2210,10 +2171,8 @@ pub fn parse_delete_documentation_part_error( ) .map_err(crate::error::DeleteDocumentationPartError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_documentation_part_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_documentation_part_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteDocumentationPartError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2257,7 +2216,6 @@ pub fn parse_delete_documentation_version_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteDocumentationVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2312,10 +2270,8 @@ pub fn parse_delete_documentation_version_error( ) .map_err(crate::error::DeleteDocumentationVersionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_documentation_version_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_documentation_version_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteDocumentationVersionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2357,7 +2313,6 @@ pub fn parse_delete_domain_name_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteDomainNameError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteDomainNameError::unhandled(generic)), @@ -2443,7 +2398,6 @@ pub fn parse_delete_gateway_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteGatewayResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteGatewayResponseError::unhandled(generic)), @@ -2495,10 +2449,8 @@ pub fn parse_delete_gateway_response_error( ) .map_err(crate::error::DeleteGatewayResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_gateway_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_gateway_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteGatewayResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2538,7 +2490,6 @@ pub fn parse_delete_integration_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteIntegrationError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteIntegrationError::unhandled(generic)), @@ -2627,7 +2578,6 @@ pub fn parse_delete_integration_response_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteIntegrationResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2682,10 +2632,8 @@ pub fn parse_delete_integration_response_error( ) .map_err(crate::error::DeleteIntegrationResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_integration_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_integration_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteIntegrationResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2727,7 +2675,6 @@ pub fn parse_delete_method_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteMethodError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteMethodError::unhandled(generic)), @@ -2813,7 +2760,6 @@ pub fn parse_delete_method_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteMethodResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteMethodResponseError::unhandled(generic)), @@ -2910,7 +2856,6 @@ pub fn parse_delete_model_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteModelError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteModelError::unhandled(generic)), @@ -3008,7 +2953,6 @@ pub fn parse_delete_request_validator_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteRequestValidatorError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -3064,10 +3008,8 @@ pub fn parse_delete_request_validator_error( ) .map_err(crate::error::DeleteRequestValidatorError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_request_validator_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_request_validator_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteRequestValidatorError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -3108,7 +3050,6 @@ pub fn parse_delete_resource_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteResourceError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteResourceError::unhandled(generic)), @@ -3205,7 +3146,6 @@ pub fn parse_delete_rest_api_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteRestApiError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteRestApiError::unhandled(generic)), @@ -3291,7 +3231,6 @@ pub fn parse_delete_stage_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteStageError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteStageError::unhandled(generic)), @@ -3377,7 +3316,6 @@ pub fn parse_delete_usage_plan_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteUsagePlanError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteUsagePlanError::unhandled(generic)), @@ -3463,7 +3401,6 @@ pub fn parse_delete_usage_plan_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteUsagePlanKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteUsagePlanKeyError::unhandled(generic)), @@ -3560,7 +3497,6 @@ pub fn parse_delete_vpc_link_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteVpcLinkError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteVpcLinkError::unhandled(generic)), @@ -3649,7 +3585,6 @@ pub fn parse_flush_stage_authorizers_cache_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::FlushStageAuthorizersCacheError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -3693,10 +3628,8 @@ pub fn parse_flush_stage_authorizers_cache_error( ) .map_err(crate::error::FlushStageAuthorizersCacheError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_flush_stage_authorizers_cache_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_flush_stage_authorizers_cache_retry_after_seconds(response.headers()) .map_err(|_|crate::error::FlushStageAuthorizersCacheError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -3738,7 +3671,6 @@ pub fn parse_flush_stage_cache_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::FlushStageCacheError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::FlushStageCacheError::unhandled(generic)), @@ -3827,7 +3759,6 @@ pub fn parse_generate_client_certificate_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GenerateClientCertificateError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -3847,10 +3778,8 @@ pub fn parse_generate_client_certificate_error( crate::json_deser::limit_exceeded_exception(response.body().as_ref(), output) .map_err(crate::error::GenerateClientCertificateError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_generate_client_certificate_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_generate_client_certificate_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GenerateClientCertificateError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -3867,10 +3796,8 @@ pub fn parse_generate_client_certificate_error( ) .map_err(crate::error::GenerateClientCertificateError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_generate_client_certificate_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_generate_client_certificate_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GenerateClientCertificateError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -3917,7 +3844,6 @@ pub fn parse_get_account_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetAccountError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetAccountError::unhandled(generic)), @@ -3994,7 +3920,6 @@ pub fn parse_get_api_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetApiKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetApiKeyError::unhandled(generic)), @@ -4071,7 +3996,6 @@ pub fn parse_get_api_keys_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetApiKeysError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetApiKeysError::unhandled(generic)), @@ -4148,7 +4072,6 @@ pub fn parse_get_authorizer_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetAuthorizerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetAuthorizerError::unhandled(generic)), @@ -4226,7 +4149,6 @@ pub fn parse_get_authorizers_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetAuthorizersError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetAuthorizersError::unhandled(generic)), @@ -4315,7 +4237,6 @@ pub fn parse_get_base_path_mapping_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetBasePathMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetBasePathMappingError::unhandled(generic)), @@ -4395,7 +4316,6 @@ pub fn parse_get_base_path_mappings_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetBasePathMappingsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetBasePathMappingsError::unhandled(generic)), @@ -4475,7 +4395,6 @@ pub fn parse_get_client_certificate_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetClientCertificateError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetClientCertificateError::unhandled(generic)), @@ -4555,7 +4474,6 @@ pub fn parse_get_client_certificates_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetClientCertificatesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetClientCertificatesError::unhandled(generic)), @@ -4585,10 +4503,8 @@ pub fn parse_get_client_certificates_error( ) .map_err(crate::error::GetClientCertificatesError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_client_certificates_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_client_certificates_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetClientCertificatesError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -4633,7 +4549,6 @@ pub fn parse_get_deployment_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDeploymentError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDeploymentError::unhandled(generic)), @@ -4735,7 +4650,6 @@ pub fn parse_get_deployments_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDeploymentsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDeploymentsError::unhandled(generic)), @@ -4848,7 +4762,6 @@ pub fn parse_get_documentation_part_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDocumentationPartError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDocumentationPartError::unhandled(generic)), @@ -4928,7 +4841,6 @@ pub fn parse_get_documentation_parts_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDocumentationPartsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDocumentationPartsError::unhandled(generic)), @@ -4969,10 +4881,8 @@ pub fn parse_get_documentation_parts_error( ) .map_err(crate::error::GetDocumentationPartsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_documentation_parts_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_documentation_parts_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetDocumentationPartsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5018,7 +4928,6 @@ pub fn parse_get_documentation_version_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDocumentationVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -5052,10 +4961,8 @@ pub fn parse_get_documentation_version_error( ) .map_err(crate::error::GetDocumentationVersionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_documentation_version_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_documentation_version_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetDocumentationVersionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5104,7 +5011,6 @@ pub fn parse_get_documentation_versions_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDocumentationVersionsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -5149,10 +5055,8 @@ pub fn parse_get_documentation_versions_error( ) .map_err(crate::error::GetDocumentationVersionsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_documentation_versions_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_documentation_versions_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetDocumentationVersionsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5200,7 +5104,6 @@ pub fn parse_get_domain_name_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDomainNameError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDomainNameError::unhandled(generic)), @@ -5302,7 +5205,6 @@ pub fn parse_get_domain_names_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDomainNamesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDomainNamesError::unhandled(generic)), @@ -5380,7 +5282,6 @@ pub fn parse_get_export_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetExportError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetExportError::unhandled(generic)), @@ -5497,7 +5398,6 @@ pub fn parse_get_gateway_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetGatewayResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetGatewayResponseError::unhandled(generic)), @@ -5577,7 +5477,6 @@ pub fn parse_get_gateway_responses_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetGatewayResponsesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetGatewayResponsesError::unhandled(generic)), @@ -5668,7 +5567,6 @@ pub fn parse_get_integration_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetIntegrationError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetIntegrationError::unhandled(generic)), @@ -5747,7 +5645,6 @@ pub fn parse_get_integration_response_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetIntegrationResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -5781,10 +5678,8 @@ pub fn parse_get_integration_response_error( ) .map_err(crate::error::GetIntegrationResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_integration_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_integration_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetIntegrationResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5830,7 +5725,6 @@ pub fn parse_get_method_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetMethodError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetMethodError::unhandled(generic)), @@ -5907,7 +5801,6 @@ pub fn parse_get_method_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetMethodResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetMethodResponseError::unhandled(generic)), @@ -5987,7 +5880,6 @@ pub fn parse_get_model_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetModelError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetModelError::unhandled(generic)), @@ -6064,7 +5956,6 @@ pub fn parse_get_models_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetModelsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetModelsError::unhandled(generic)), @@ -6152,7 +6043,6 @@ pub fn parse_get_model_template_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetModelTemplateError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetModelTemplateError::unhandled(generic)), @@ -6241,7 +6131,6 @@ pub fn parse_get_request_validator_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetRequestValidatorError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRequestValidatorError::unhandled(generic)), @@ -6321,7 +6210,6 @@ pub fn parse_get_request_validators_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetRequestValidatorsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRequestValidatorsError::unhandled(generic)), @@ -6412,7 +6300,6 @@ pub fn parse_get_resource_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetResourceError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetResourceError::unhandled(generic)), @@ -6489,7 +6376,6 @@ pub fn parse_get_resources_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetResourcesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetResourcesError::unhandled(generic)), @@ -6577,7 +6463,6 @@ pub fn parse_get_rest_api_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetRestApiError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRestApiError::unhandled(generic)), @@ -6654,7 +6539,6 @@ pub fn parse_get_rest_apis_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetRestApisError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRestApisError::unhandled(generic)), @@ -6731,7 +6615,6 @@ pub fn parse_get_sdk_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetSdkError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetSdkError::unhandled(generic)), @@ -6846,7 +6729,6 @@ pub fn parse_get_sdk_type_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetSdkTypeError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetSdkTypeError::unhandled(generic)), @@ -6923,7 +6805,6 @@ pub fn parse_get_sdk_types_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetSdkTypesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetSdkTypesError::unhandled(generic)), @@ -6989,7 +6870,6 @@ pub fn parse_get_stage_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetStageError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetStageError::unhandled(generic)), @@ -7066,7 +6946,6 @@ pub fn parse_get_stages_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetStagesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetStagesError::unhandled(generic)), @@ -7143,7 +7022,6 @@ pub fn parse_get_tags_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetTagsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetTagsError::unhandled(generic)), @@ -7253,7 +7131,6 @@ pub fn parse_get_usage_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetUsageError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetUsageError::unhandled(generic)), @@ -7341,7 +7218,6 @@ pub fn parse_get_usage_plan_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetUsagePlanError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetUsagePlanError::unhandled(generic)), @@ -7430,7 +7306,6 @@ pub fn parse_get_usage_plan_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetUsagePlanKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetUsagePlanKeyError::unhandled(generic)), @@ -7519,7 +7394,6 @@ pub fn parse_get_usage_plan_keys_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetUsagePlanKeysError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetUsagePlanKeysError::unhandled(generic)), @@ -7610,7 +7484,6 @@ pub fn parse_get_usage_plans_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetUsagePlansError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetUsagePlansError::unhandled(generic)), @@ -7710,7 +7583,6 @@ pub fn parse_get_vpc_link_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetVpcLinkError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetVpcLinkError::unhandled(generic)), @@ -7787,7 +7659,6 @@ pub fn parse_get_vpc_links_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetVpcLinksError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetVpcLinksError::unhandled(generic)), @@ -7864,7 +7735,6 @@ pub fn parse_import_api_keys_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ImportApiKeysError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ImportApiKeysError::unhandled(generic)), @@ -7989,7 +7859,6 @@ pub fn parse_import_documentation_parts_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ImportDocumentationPartsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -8023,10 +7892,8 @@ pub fn parse_import_documentation_parts_error( ) .map_err(crate::error::ImportDocumentationPartsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_import_documentation_parts_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_import_documentation_parts_retry_after_seconds(response.headers()) .map_err(|_|crate::error::ImportDocumentationPartsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -8056,10 +7923,8 @@ pub fn parse_import_documentation_parts_error( ) .map_err(crate::error::ImportDocumentationPartsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_import_documentation_parts_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_import_documentation_parts_retry_after_seconds(response.headers()) .map_err(|_|crate::error::ImportDocumentationPartsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -8107,7 +7972,6 @@ pub fn parse_import_rest_api_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ImportRestApiError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ImportRestApiError::unhandled(generic)), @@ -8218,7 +8082,6 @@ pub fn parse_put_gateway_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutGatewayResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutGatewayResponseError::unhandled(generic)), @@ -8331,7 +8194,6 @@ pub fn parse_put_integration_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutIntegrationError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutIntegrationError::unhandled(generic)), @@ -8432,7 +8294,6 @@ pub fn parse_put_integration_response_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutIntegrationResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -8477,10 +8338,8 @@ pub fn parse_put_integration_response_error( ) .map_err(crate::error::PutIntegrationResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_put_integration_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_put_integration_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::PutIntegrationResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -8510,10 +8369,8 @@ pub fn parse_put_integration_response_error( ) .map_err(crate::error::PutIntegrationResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_put_integration_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_put_integration_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::PutIntegrationResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -8559,7 +8416,6 @@ pub fn parse_put_method_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutMethodError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutMethodError::unhandled(generic)), @@ -8680,7 +8536,6 @@ pub fn parse_put_method_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutMethodResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutMethodResponseError::unhandled(generic)), @@ -8804,7 +8659,6 @@ pub fn parse_put_rest_api_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutRestApiError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutRestApiError::unhandled(generic)), @@ -8925,7 +8779,6 @@ pub fn parse_tag_resource_error( ) -> 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)), @@ -9044,7 +8897,6 @@ pub fn parse_test_invoke_authorizer_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::TestInvokeAuthorizerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TestInvokeAuthorizerError::unhandled(generic)), @@ -9135,7 +8987,6 @@ pub fn parse_test_invoke_method_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::TestInvokeMethodError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TestInvokeMethodError::unhandled(generic)), @@ -9224,7 +9075,6 @@ pub fn parse_untag_resource_error( ) -> 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)), @@ -9321,7 +9171,6 @@ pub fn parse_update_account_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateAccountError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateAccountError::unhandled(generic)), @@ -9410,7 +9259,6 @@ pub fn parse_update_api_key_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateApiKeyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateApiKeyError::unhandled(generic)), @@ -9510,7 +9358,6 @@ pub fn parse_update_authorizer_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateAuthorizerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateAuthorizerError::unhandled(generic)), @@ -9599,7 +9446,6 @@ pub fn parse_update_base_path_mapping_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateBasePathMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateBasePathMappingError::unhandled(generic)), @@ -9651,10 +9497,8 @@ pub fn parse_update_base_path_mapping_error( ) .map_err(crate::error::UpdateBasePathMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_base_path_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_base_path_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateBasePathMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -9700,7 +9544,6 @@ pub fn parse_update_client_certificate_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateClientCertificateError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -9745,10 +9588,8 @@ pub fn parse_update_client_certificate_error( ) .map_err(crate::error::UpdateClientCertificateError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_client_certificate_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_client_certificate_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateClientCertificateError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -9794,7 +9635,6 @@ pub fn parse_update_deployment_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateDeploymentError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateDeploymentError::unhandled(generic)), @@ -9908,7 +9748,6 @@ pub fn parse_update_documentation_part_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateDocumentationPartError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -9953,10 +9792,8 @@ pub fn parse_update_documentation_part_error( ) .map_err(crate::error::UpdateDocumentationPartError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_documentation_part_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_documentation_part_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateDocumentationPartError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -9986,10 +9823,8 @@ pub fn parse_update_documentation_part_error( ) .map_err(crate::error::UpdateDocumentationPartError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_documentation_part_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_documentation_part_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateDocumentationPartError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -10038,7 +9873,6 @@ pub fn parse_update_documentation_version_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateDocumentationVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -10093,10 +9927,8 @@ pub fn parse_update_documentation_version_error( ) .map_err(crate::error::UpdateDocumentationVersionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_documentation_version_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_documentation_version_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateDocumentationVersionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -10143,7 +9975,6 @@ pub fn parse_update_domain_name_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateDomainNameError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateDomainNameError::unhandled(generic)), @@ -10243,7 +10074,6 @@ pub fn parse_update_gateway_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateGatewayResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateGatewayResponseError::unhandled(generic)), @@ -10284,10 +10114,8 @@ pub fn parse_update_gateway_response_error( ) .map_err(crate::error::UpdateGatewayResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_gateway_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_gateway_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateGatewayResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -10332,7 +10160,6 @@ pub fn parse_update_integration_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateIntegrationError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateIntegrationError::unhandled(generic)), @@ -10435,7 +10262,6 @@ pub fn parse_update_integration_response_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateIntegrationResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -10490,10 +10316,8 @@ pub fn parse_update_integration_response_error( ) .map_err(crate::error::UpdateIntegrationResponseError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_integration_response_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_integration_response_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateIntegrationResponseError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -10540,7 +10364,6 @@ pub fn parse_update_method_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateMethodError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateMethodError::unhandled(generic)), @@ -10639,7 +10462,6 @@ pub fn parse_update_method_response_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateMethodResponseError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateMethodResponseError::unhandled(generic)), @@ -10763,7 +10585,6 @@ pub fn parse_update_model_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateModelError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateModelError::unhandled(generic)), @@ -10863,7 +10684,6 @@ pub fn parse_update_request_validator_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateRequestValidatorError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -10908,10 +10728,8 @@ pub fn parse_update_request_validator_error( ) .map_err(crate::error::UpdateRequestValidatorError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_request_validator_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_request_validator_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateRequestValidatorError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -10957,7 +10775,6 @@ pub fn parse_update_resource_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateResourceError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateResourceError::unhandled(generic)), @@ -11057,7 +10874,6 @@ pub fn parse_update_rest_api_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateRestApiError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateRestApiError::unhandled(generic)), @@ -11157,7 +10973,6 @@ pub fn parse_update_stage_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateStageError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateStageError::unhandled(generic)), @@ -11256,7 +11071,6 @@ pub fn parse_update_usage_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateUsageError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateUsageError::unhandled(generic)), @@ -11344,7 +11158,6 @@ pub fn parse_update_usage_plan_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateUsagePlanError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateUsagePlanError::unhandled(generic)), @@ -11444,7 +11257,6 @@ pub fn parse_update_vpc_link_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateVpcLinkError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateVpcLinkError::unhandled(generic)), diff --git a/sdk/apigateway/src/operation_ser.rs b/sdk/apigateway/src/operation_ser.rs index 20ffb8574bb9..25671601a9e8 100644 --- a/sdk/apigateway/src/operation_ser.rs +++ b/sdk/apigateway/src/operation_ser.rs @@ -1,218 +1,162 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_create_api_key_input_body( +pub fn serialize_operation_create_api_key( input: &crate::input::CreateApiKeyInput, ) -> Result { - let body = crate::serializer::CreateApiKeyInputBody { - name: &input.name, - description: &input.description, - enabled: &input.enabled, - generate_distinct_id: &input.generate_distinct_id, - value: &input.value, - stage_keys: &input.stage_keys, - customer_id: &input.customer_id, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_api_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_authorizer_input_body( +pub fn serialize_operation_create_authorizer( input: &crate::input::CreateAuthorizerInput, ) -> Result { - let body = crate::serializer::CreateAuthorizerInputBody { - name: &input.name, - r#type: &input.r#type, - provider_ar_ns: &input.provider_ar_ns, - auth_type: &input.auth_type, - authorizer_uri: &input.authorizer_uri, - authorizer_credentials: &input.authorizer_credentials, - identity_source: &input.identity_source, - identity_validation_expression: &input.identity_validation_expression, - authorizer_result_ttl_in_seconds: &input.authorizer_result_ttl_in_seconds, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_authorizer_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_base_path_mapping_input_body( +pub fn serialize_operation_create_base_path_mapping( input: &crate::input::CreateBasePathMappingInput, ) -> Result { - let body = crate::serializer::CreateBasePathMappingInputBody { - base_path: &input.base_path, - rest_api_id: &input.rest_api_id, - stage: &input.stage, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_base_path_mapping_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_deployment_input_body( +pub fn serialize_operation_create_deployment( input: &crate::input::CreateDeploymentInput, ) -> Result { - let body = crate::serializer::CreateDeploymentInputBody { - stage_name: &input.stage_name, - stage_description: &input.stage_description, - description: &input.description, - cache_cluster_enabled: &input.cache_cluster_enabled, - cache_cluster_size: &input.cache_cluster_size, - variables: &input.variables, - canary_settings: &input.canary_settings, - tracing_enabled: &input.tracing_enabled, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_deployment_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_documentation_part_input_body( +pub fn serialize_operation_create_documentation_part( input: &crate::input::CreateDocumentationPartInput, ) -> Result { - let body = crate::serializer::CreateDocumentationPartInputBody { - location: &input.location, - properties: &input.properties, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_documentation_part_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_documentation_version_input_body( +pub fn serialize_operation_create_documentation_version( input: &crate::input::CreateDocumentationVersionInput, ) -> Result { - let body = crate::serializer::CreateDocumentationVersionInputBody { - documentation_version: &input.documentation_version, - stage_name: &input.stage_name, - description: &input.description, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_documentation_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_domain_name_input_body( +pub fn serialize_operation_create_domain_name( input: &crate::input::CreateDomainNameInput, ) -> Result { - let body = crate::serializer::CreateDomainNameInputBody { - domain_name: &input.domain_name, - certificate_name: &input.certificate_name, - certificate_body: &input.certificate_body, - certificate_private_key: &input.certificate_private_key, - certificate_chain: &input.certificate_chain, - certificate_arn: &input.certificate_arn, - regional_certificate_name: &input.regional_certificate_name, - regional_certificate_arn: &input.regional_certificate_arn, - endpoint_configuration: &input.endpoint_configuration, - tags: &input.tags, - security_policy: &input.security_policy, - mutual_tls_authentication: &input.mutual_tls_authentication, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_domain_name_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_model_input_body( +pub fn serialize_operation_create_model( input: &crate::input::CreateModelInput, ) -> Result { - let body = crate::serializer::CreateModelInputBody { - name: &input.name, - description: &input.description, - schema: &input.schema, - content_type: &input.content_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_model_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_request_validator_input_body( +pub fn serialize_operation_create_request_validator( input: &crate::input::CreateRequestValidatorInput, ) -> Result { - let body = crate::serializer::CreateRequestValidatorInputBody { - name: &input.name, - validate_request_body: &input.validate_request_body, - validate_request_parameters: &input.validate_request_parameters, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_request_validator_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_resource_input_body( +pub fn serialize_operation_create_resource( input: &crate::input::CreateResourceInput, ) -> Result { - let body = crate::serializer::CreateResourceInputBody { - path_part: &input.path_part, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_rest_api_input_body( +pub fn serialize_operation_create_rest_api( input: &crate::input::CreateRestApiInput, ) -> Result { - let body = crate::serializer::CreateRestApiInputBody { - name: &input.name, - description: &input.description, - version: &input.version, - clone_from: &input.clone_from, - binary_media_types: &input.binary_media_types, - minimum_compression_size: &input.minimum_compression_size, - api_key_source: &input.api_key_source, - endpoint_configuration: &input.endpoint_configuration, - policy: &input.policy, - tags: &input.tags, - disable_execute_api_endpoint: &input.disable_execute_api_endpoint, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_rest_api_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_stage_input_body( +pub fn serialize_operation_create_stage( input: &crate::input::CreateStageInput, ) -> Result { - let body = crate::serializer::CreateStageInputBody { - stage_name: &input.stage_name, - deployment_id: &input.deployment_id, - description: &input.description, - cache_cluster_enabled: &input.cache_cluster_enabled, - cache_cluster_size: &input.cache_cluster_size, - variables: &input.variables, - documentation_version: &input.documentation_version, - canary_settings: &input.canary_settings, - tracing_enabled: &input.tracing_enabled, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_stage_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_usage_plan_input_body( +pub fn serialize_operation_create_usage_plan( input: &crate::input::CreateUsagePlanInput, ) -> Result { - let body = crate::serializer::CreateUsagePlanInputBody { - name: &input.name, - description: &input.description, - api_stages: &input.api_stages, - throttle: &input.throttle, - quota: &input.quota, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_usage_plan_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_usage_plan_key_input_body( +pub fn serialize_operation_create_usage_plan_key( input: &crate::input::CreateUsagePlanKeyInput, ) -> Result { - let body = crate::serializer::CreateUsagePlanKeyInputBody { - key_id: &input.key_id, - key_type: &input.key_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_usage_plan_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_vpc_link_input_body( +pub fn serialize_operation_create_vpc_link( input: &crate::input::CreateVpcLinkInput, ) -> Result { - let body = crate::serializer::CreateVpcLinkInputBody { - name: &input.name, - description: &input.description, - target_arns: &input.target_arns, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_vpc_link_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_generate_client_certificate_input_body( +pub fn serialize_operation_generate_client_certificate( input: &crate::input::GenerateClientCertificateInput, ) -> Result { - let body = crate::serializer::GenerateClientCertificateInputBody { - description: &input.description, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_generate_client_certificate_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } pub fn ser_payload_import_api_keys_input( @@ -248,75 +192,54 @@ pub fn ser_payload_import_rest_api_input( Ok(smithy_http::body::SdkBody::from(payload.into_inner())) } -pub fn serialize_operation_put_gateway_response_input_body( +pub fn serialize_operation_put_gateway_response( input: &crate::input::PutGatewayResponseInput, ) -> Result { - let body = crate::serializer::PutGatewayResponseInputBody { - status_code: &input.status_code, - response_parameters: &input.response_parameters, - response_templates: &input.response_templates, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_gateway_response_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_integration_input_body( +pub fn serialize_operation_put_integration( input: &crate::input::PutIntegrationInput, ) -> Result { - let body = crate::serializer::PutIntegrationInputBody { - r#type: &input.r#type, - integration_http_method: &input.integration_http_method, - uri: &input.uri, - connection_type: &input.connection_type, - connection_id: &input.connection_id, - credentials: &input.credentials, - request_parameters: &input.request_parameters, - request_templates: &input.request_templates, - passthrough_behavior: &input.passthrough_behavior, - cache_namespace: &input.cache_namespace, - cache_key_parameters: &input.cache_key_parameters, - content_handling: &input.content_handling, - timeout_in_millis: &input.timeout_in_millis, - tls_config: &input.tls_config, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_integration_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_integration_response_input_body( +pub fn serialize_operation_put_integration_response( input: &crate::input::PutIntegrationResponseInput, ) -> Result { - let body = crate::serializer::PutIntegrationResponseInputBody { - selection_pattern: &input.selection_pattern, - response_parameters: &input.response_parameters, - response_templates: &input.response_templates, - content_handling: &input.content_handling, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_integration_response_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_method_input_body( +pub fn serialize_operation_put_method( input: &crate::input::PutMethodInput, ) -> Result { - let body = crate::serializer::PutMethodInputBody { - authorization_type: &input.authorization_type, - authorizer_id: &input.authorizer_id, - api_key_required: &input.api_key_required, - operation_name: &input.operation_name, - request_parameters: &input.request_parameters, - request_models: &input.request_models, - request_validator_id: &input.request_validator_id, - authorization_scopes: &input.authorization_scopes, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_method_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_method_response_input_body( +pub fn serialize_operation_put_method_response( input: &crate::input::PutMethodResponseInput, ) -> Result { - let body = crate::serializer::PutMethodResponseInputBody { - response_parameters: &input.response_parameters, - response_models: &input.response_models, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_method_response_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } pub fn ser_payload_put_rest_api_input( @@ -330,235 +253,252 @@ pub fn ser_payload_put_rest_api_input( Ok(smithy_http::body::SdkBody::from(payload.into_inner())) } -pub fn serialize_operation_tag_resource_input_body( +pub fn serialize_operation_tag_resource( input: &crate::input::TagResourceInput, ) -> Result { - let body = crate::serializer::TagResourceInputBody { tags: &input.tags }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + 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)) } -pub fn serialize_operation_test_invoke_authorizer_input_body( +pub fn serialize_operation_test_invoke_authorizer( input: &crate::input::TestInvokeAuthorizerInput, ) -> Result { - let body = crate::serializer::TestInvokeAuthorizerInputBody { - headers: &input.headers, - multi_value_headers: &input.multi_value_headers, - path_with_query_string: &input.path_with_query_string, - body: &input.body, - stage_variables: &input.stage_variables, - additional_context: &input.additional_context, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_test_invoke_authorizer_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_test_invoke_method_input_body( +pub fn serialize_operation_test_invoke_method( input: &crate::input::TestInvokeMethodInput, ) -> Result { - let body = crate::serializer::TestInvokeMethodInputBody { - path_with_query_string: &input.path_with_query_string, - body: &input.body, - headers: &input.headers, - multi_value_headers: &input.multi_value_headers, - client_certificate_id: &input.client_certificate_id, - stage_variables: &input.stage_variables, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_test_invoke_method_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_account_input_body( +pub fn serialize_operation_update_account( input: &crate::input::UpdateAccountInput, ) -> Result { - let body = crate::serializer::UpdateAccountInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_account_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_api_key_input_body( +pub fn serialize_operation_update_api_key( input: &crate::input::UpdateApiKeyInput, ) -> Result { - let body = crate::serializer::UpdateApiKeyInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_api_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_authorizer_input_body( +pub fn serialize_operation_update_authorizer( input: &crate::input::UpdateAuthorizerInput, ) -> Result { - let body = crate::serializer::UpdateAuthorizerInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_authorizer_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_base_path_mapping_input_body( +pub fn serialize_operation_update_base_path_mapping( input: &crate::input::UpdateBasePathMappingInput, ) -> Result { - let body = crate::serializer::UpdateBasePathMappingInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_base_path_mapping_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_client_certificate_input_body( +pub fn serialize_operation_update_client_certificate( input: &crate::input::UpdateClientCertificateInput, ) -> Result { - let body = crate::serializer::UpdateClientCertificateInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_client_certificate_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_deployment_input_body( +pub fn serialize_operation_update_deployment( input: &crate::input::UpdateDeploymentInput, ) -> Result { - let body = crate::serializer::UpdateDeploymentInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_deployment_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_documentation_part_input_body( +pub fn serialize_operation_update_documentation_part( input: &crate::input::UpdateDocumentationPartInput, ) -> Result { - let body = crate::serializer::UpdateDocumentationPartInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_documentation_part_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_documentation_version_input_body( +pub fn serialize_operation_update_documentation_version( input: &crate::input::UpdateDocumentationVersionInput, ) -> Result { - let body = crate::serializer::UpdateDocumentationVersionInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_documentation_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_domain_name_input_body( +pub fn serialize_operation_update_domain_name( input: &crate::input::UpdateDomainNameInput, ) -> Result { - let body = crate::serializer::UpdateDomainNameInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_domain_name_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_gateway_response_input_body( +pub fn serialize_operation_update_gateway_response( input: &crate::input::UpdateGatewayResponseInput, ) -> Result { - let body = crate::serializer::UpdateGatewayResponseInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_gateway_response_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_integration_input_body( +pub fn serialize_operation_update_integration( input: &crate::input::UpdateIntegrationInput, ) -> Result { - let body = crate::serializer::UpdateIntegrationInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_integration_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_integration_response_input_body( +pub fn serialize_operation_update_integration_response( input: &crate::input::UpdateIntegrationResponseInput, ) -> Result { - let body = crate::serializer::UpdateIntegrationResponseInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_integration_response_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_method_input_body( +pub fn serialize_operation_update_method( input: &crate::input::UpdateMethodInput, ) -> Result { - let body = crate::serializer::UpdateMethodInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_method_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_method_response_input_body( +pub fn serialize_operation_update_method_response( input: &crate::input::UpdateMethodResponseInput, ) -> Result { - let body = crate::serializer::UpdateMethodResponseInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_method_response_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_model_input_body( +pub fn serialize_operation_update_model( input: &crate::input::UpdateModelInput, ) -> Result { - let body = crate::serializer::UpdateModelInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_model_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_request_validator_input_body( +pub fn serialize_operation_update_request_validator( input: &crate::input::UpdateRequestValidatorInput, ) -> Result { - let body = crate::serializer::UpdateRequestValidatorInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_request_validator_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_resource_input_body( +pub fn serialize_operation_update_resource( input: &crate::input::UpdateResourceInput, ) -> Result { - let body = crate::serializer::UpdateResourceInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_rest_api_input_body( +pub fn serialize_operation_update_rest_api( input: &crate::input::UpdateRestApiInput, ) -> Result { - let body = crate::serializer::UpdateRestApiInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_rest_api_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_stage_input_body( +pub fn serialize_operation_update_stage( input: &crate::input::UpdateStageInput, ) -> Result { - let body = crate::serializer::UpdateStageInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_stage_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_usage_input_body( +pub fn serialize_operation_update_usage( input: &crate::input::UpdateUsageInput, ) -> Result { - let body = crate::serializer::UpdateUsageInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_usage_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_usage_plan_input_body( +pub fn serialize_operation_update_usage_plan( input: &crate::input::UpdateUsagePlanInput, ) -> Result { - let body = crate::serializer::UpdateUsagePlanInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_usage_plan_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_vpc_link_input_body( +pub fn serialize_operation_update_vpc_link( input: &crate::input::UpdateVpcLinkInput, ) -> Result { - let body = crate::serializer::UpdateVpcLinkInputBody { - patch_operations: &input.patch_operations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_vpc_link_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/apigateway/src/serde_util.rs b/sdk/apigateway/src/serde_util.rs index 702ab9261f63..df4f10659097 100644 --- a/sdk/apigateway/src/serde_util.rs +++ b/sdk/apigateway/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/apigateway/src/serializer.rs b/sdk/apigateway/src/serializer.rs index 6c58ab2c6a71..4ebeaa5894e3 100644 --- a/sdk/apigateway/src/serializer.rs +++ b/sdk/apigateway/src/serializer.rs @@ -1,37 +1,23 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

    Request to create an ApiKey resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateApiKeyInputBody<'a> { ///

    The name of the ApiKey.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The description of the ApiKey.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Specifies whether the ApiKey can be used by callers.

    - #[serde(rename = "enabled")] pub enabled: &'a bool, ///

    Specifies whether (true) or not (false) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.

    - #[serde(rename = "generateDistinctId")] pub generate_distinct_id: &'a bool, ///

    Specifies a value of the API key.

    - #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] pub value: &'a std::option::Option, ///

    DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.

    - #[serde(rename = "stageKeys")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_keys: &'a std::option::Option>, ///

    An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

    - #[serde(rename = "customerId")] - #[serde(skip_serializing_if = "Option::is_none")] pub customer_id: &'a std::option::Option, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -53,43 +39,25 @@ impl<'a> std::fmt::Debug for CreateApiKeyInputBody<'a> { ///

    Request to add a new Authorizer to an existing RestApi resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAuthorizerInputBody<'a> { ///

    [Required] The name of the authorizer.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    [Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

    - #[serde(rename = "type")] - #[serde(skip_serializing_if = "Option::is_none")] pub r#type: &'a std::option::Option, ///

    A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

    - #[serde(rename = "providerARNs")] - #[serde(skip_serializing_if = "Option::is_none")] pub provider_ar_ns: &'a std::option::Option>, ///

    Optional customer-defined field, used in OpenAPI imports and exports without functional impact.

    - #[serde(rename = "authType")] - #[serde(skip_serializing_if = "Option::is_none")] pub auth_type: &'a std::option::Option, ///

    Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

    - #[serde(rename = "authorizerUri")] - #[serde(skip_serializing_if = "Option::is_none")] pub authorizer_uri: &'a std::option::Option, ///

    Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

    - #[serde(rename = "authorizerCredentials")] - #[serde(skip_serializing_if = "Option::is_none")] pub authorizer_credentials: &'a std::option::Option, ///

    The identity source for which authorization is requested.

    • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
    • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

    - #[serde(rename = "identitySource")] - #[serde(skip_serializing_if = "Option::is_none")] pub identity_source: &'a std::option::Option, ///

    A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. For COGNITO_USER_POOLS authorizers, API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

    - #[serde(rename = "identityValidationExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub identity_validation_expression: &'a std::option::Option, ///

    The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

    - #[serde(rename = "authorizerResultTtlInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub authorizer_result_ttl_in_seconds: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateAuthorizerInputBody<'a> { @@ -116,19 +84,13 @@ impl<'a> std::fmt::Debug for CreateAuthorizerInputBody<'a> { ///

    Requests API Gateway to create a new BasePathMapping resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateBasePathMappingInputBody<'a> { ///

    The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify a base path name after the domain name.

    - #[serde(rename = "basePath")] - #[serde(skip_serializing_if = "Option::is_none")] pub base_path: &'a std::option::Option, ///

    [Required] The string identifier of the associated RestApi.

    - #[serde(rename = "restApiId")] - #[serde(skip_serializing_if = "Option::is_none")] pub rest_api_id: &'a std::option::Option, ///

    The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.

    - #[serde(rename = "stage")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateBasePathMappingInputBody<'a> { @@ -143,43 +105,27 @@ impl<'a> std::fmt::Debug for CreateBasePathMappingInputBody<'a> { ///

    Requests API Gateway to create a Deployment resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateDeploymentInputBody<'a> { ///

    The name of the Stage resource for the Deployment resource to create.

    - #[serde(rename = "stageName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_name: &'a std::option::Option, ///

    The description of the Stage resource for the Deployment resource to create.

    - #[serde(rename = "stageDescription")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_description: &'a std::option::Option, ///

    The description for the Deployment resource to create.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Enables a cache cluster for the Stage resource specified in the input.

    - #[serde(rename = "cacheClusterEnabled")] - #[serde(skip_serializing_if = "Option::is_none")] pub cache_cluster_enabled: &'a std::option::Option, ///

    Specifies the cache cluster size for the Stage resource specified in the input, if a cache cluster is enabled.

    - #[serde(rename = "cacheClusterSize")] - #[serde(skip_serializing_if = "Option::is_none")] pub cache_cluster_size: &'a std::option::Option, ///

    A map that defines the stage variables for the Stage resource that is associated /// with the new deployment. Variable names can have alphanumeric and underscore characters, and the values /// must match [A-Za-z0-9-._~:/?#&=,]+.

    - #[serde(rename = "variables")] - #[serde(skip_serializing_if = "Option::is_none")] pub variables: &'a std::option::Option< std::collections::HashMap, >, ///

    The input configuration for the canary deployment when the deployment is a canary release deployment.

    - #[serde(rename = "canarySettings")] - #[serde(skip_serializing_if = "Option::is_none")] pub canary_settings: &'a std::option::Option, ///

    Specifies whether active tracing with X-ray is enabled for the Stage.

    - #[serde(rename = "tracingEnabled")] - #[serde(skip_serializing_if = "Option::is_none")] pub tracing_enabled: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateDeploymentInputBody<'a> { @@ -199,15 +145,11 @@ impl<'a> std::fmt::Debug for CreateDeploymentInputBody<'a> { ///

    Creates a new documentation part of a given API.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateDocumentationPartInputBody<'a> { ///

    [Required] The location of the targeted API entity of the to-be-created documentation part.

    - #[serde(rename = "location")] - #[serde(skip_serializing_if = "Option::is_none")] pub location: &'a std::option::Option, ///

    [Required] The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.

    - #[serde(rename = "properties")] - #[serde(skip_serializing_if = "Option::is_none")] pub properties: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateDocumentationPartInputBody<'a> { @@ -221,19 +163,13 @@ impl<'a> std::fmt::Debug for CreateDocumentationPartInputBody<'a> { ///

    Creates a new documentation version of a given API.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateDocumentationVersionInputBody<'a> { ///

    [Required] The version identifier of the new snapshot.

    - #[serde(rename = "documentationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub documentation_version: &'a std::option::Option, ///

    The stage name to be associated with the new documentation snapshot.

    - #[serde(rename = "stageName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_name: &'a std::option::Option, ///

    A description about the new documentation snapshot.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateDocumentationVersionInputBody<'a> { @@ -248,57 +184,33 @@ impl<'a> std::fmt::Debug for CreateDocumentationVersionInputBody<'a> { ///

    A request to create a new domain name.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateDomainNameInputBody<'a> { ///

    [Required] The name of the DomainName resource.

    - #[serde(rename = "domainName")] - #[serde(skip_serializing_if = "Option::is_none")] pub domain_name: &'a std::option::Option, ///

    The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.

    - #[serde(rename = "certificateName")] - #[serde(skip_serializing_if = "Option::is_none")] pub certificate_name: &'a std::option::Option, ///

    [Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.

    - #[serde(rename = "certificateBody")] - #[serde(skip_serializing_if = "Option::is_none")] pub certificate_body: &'a std::option::Option, ///

    [Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

    - #[serde(rename = "certificatePrivateKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub certificate_private_key: &'a std::option::Option, ///

    [Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

    - #[serde(rename = "certificateChain")] - #[serde(skip_serializing_if = "Option::is_none")] pub certificate_chain: &'a std::option::Option, ///

    The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

    - #[serde(rename = "certificateArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub certificate_arn: &'a std::option::Option, ///

    The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

    - #[serde(rename = "regionalCertificateName")] - #[serde(skip_serializing_if = "Option::is_none")] pub regional_certificate_name: &'a std::option::Option, ///

    The reference to an AWS-managed certificate that will be used by regional endpoint for this domain name. AWS Certificate Manager is the only supported source.

    - #[serde(rename = "regionalCertificateArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub regional_certificate_arn: &'a std::option::Option, ///

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

    - #[serde(rename = "endpointConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] pub endpoint_configuration: &'a std::option::Option, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, ///

    The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

    - #[serde(rename = "securityPolicy")] - #[serde(skip_serializing_if = "Option::is_none")] pub security_policy: &'a 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.

    - #[serde(rename = "mutualTlsAuthentication")] - #[serde(skip_serializing_if = "Option::is_none")] pub mutual_tls_authentication: &'a std::option::Option, } @@ -323,23 +235,15 @@ impl<'a> std::fmt::Debug for CreateDomainNameInputBody<'a> { ///

    Request to add a new Model to an existing RestApi resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateModelInputBody<'a> { ///

    [Required] The name of the model. Must be alphanumeric.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The description of the model.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The schema for the model. For application/json models, this should be JSON schema draft 4 model.

    - #[serde(rename = "schema")] - #[serde(skip_serializing_if = "Option::is_none")] pub schema: &'a std::option::Option, ///

    [Required] The content-type for the model.

    - #[serde(rename = "contentType")] - #[serde(skip_serializing_if = "Option::is_none")] pub content_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateModelInputBody<'a> { @@ -355,17 +259,13 @@ impl<'a> std::fmt::Debug for CreateModelInputBody<'a> { ///

    Creates a RequestValidator of a given RestApi.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateRequestValidatorInputBody<'a> { ///

    The name of the to-be-created RequestValidator.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false).

    - #[serde(rename = "validateRequestBody")] pub validate_request_body: &'a bool, ///

    A Boolean flag to indicate whether to validate request parameters, true, or not false.

    - #[serde(rename = "validateRequestParameters")] pub validate_request_parameters: &'a bool, } impl<'a> std::fmt::Debug for CreateRequestValidatorInputBody<'a> { @@ -383,11 +283,9 @@ impl<'a> std::fmt::Debug for CreateRequestValidatorInputBody<'a> { ///

    Requests API Gateway to create a Resource resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateResourceInputBody<'a> { ///

    The last path segment for this resource.

    - #[serde(rename = "pathPart")] - #[serde(skip_serializing_if = "Option::is_none")] pub path_part: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateResourceInputBody<'a> { @@ -400,52 +298,31 @@ impl<'a> std::fmt::Debug for CreateResourceInputBody<'a> { ///

    The POST Request to add a new RestApi resource to your collection.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateRestApiInputBody<'a> { ///

    [Required] The name of the RestApi.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The description of the RestApi.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    A version identifier for the API.

    - #[serde(rename = "version")] - #[serde(skip_serializing_if = "Option::is_none")] pub version: &'a std::option::Option, ///

    The ID of the RestApi that you want to clone from.

    - #[serde(rename = "cloneFrom")] - #[serde(skip_serializing_if = "Option::is_none")] pub clone_from: &'a std::option::Option, ///

    The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

    - #[serde(rename = "binaryMediaTypes")] - #[serde(skip_serializing_if = "Option::is_none")] pub binary_media_types: &'a std::option::Option>, ///

    A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

    - #[serde(rename = "minimumCompressionSize")] - #[serde(skip_serializing_if = "Option::is_none")] pub minimum_compression_size: &'a std::option::Option, ///

    The source of the API key for metering requests according to a usage plan. Valid values are:

    • HEADER to read the API key from the X-API-Key header of a request.
    • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

    - #[serde(rename = "apiKeySource")] - #[serde(skip_serializing_if = "Option::is_none")] pub api_key_source: &'a std::option::Option, ///

    The endpoint configuration of this RestApi showing the endpoint types of the API.

    - #[serde(rename = "endpointConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] pub endpoint_configuration: &'a std::option::Option, /// A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. - #[serde(rename = "policy")] - #[serde(skip_serializing_if = "Option::is_none")] pub policy: &'a std::option::Option, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, ///

    Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

    - #[serde(rename = "disableExecuteApiEndpoint")] pub disable_execute_api_endpoint: &'a bool, } impl<'a> std::fmt::Debug for CreateRestApiInputBody<'a> { @@ -471,49 +348,31 @@ impl<'a> std::fmt::Debug for CreateRestApiInputBody<'a> { ///

    Requests API Gateway to create a Stage resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateStageInputBody<'a> { ///

    [Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

    - #[serde(rename = "stageName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_name: &'a std::option::Option, ///

    [Required] The identifier of the Deployment resource for the Stage resource.

    - #[serde(rename = "deploymentId")] - #[serde(skip_serializing_if = "Option::is_none")] pub deployment_id: &'a std::option::Option, ///

    The description of the Stage resource.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Whether cache clustering is enabled for the stage.

    - #[serde(rename = "cacheClusterEnabled")] pub cache_cluster_enabled: &'a bool, ///

    The stage's cache cluster size.

    - #[serde(rename = "cacheClusterSize")] - #[serde(skip_serializing_if = "Option::is_none")] pub cache_cluster_size: &'a std::option::Option, ///

    A map that defines the stage variables for the new Stage resource. Variable names /// can have alphanumeric and underscore characters, and the values must match /// [A-Za-z0-9-._~:/?#&=,]+.

    - #[serde(rename = "variables")] - #[serde(skip_serializing_if = "Option::is_none")] pub variables: &'a std::option::Option< std::collections::HashMap, >, ///

    The version of the associated API documentation.

    - #[serde(rename = "documentationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub documentation_version: &'a std::option::Option, ///

    The canary deployment settings of this stage.

    - #[serde(rename = "canarySettings")] - #[serde(skip_serializing_if = "Option::is_none")] pub canary_settings: &'a std::option::Option, ///

    Specifies whether active tracing with X-ray is enabled for the Stage.

    - #[serde(rename = "tracingEnabled")] pub tracing_enabled: &'a bool, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -537,31 +396,19 @@ impl<'a> std::fmt::Debug for CreateStageInputBody<'a> { ///

    The POST request to create a usage plan with the name, description, throttle limits and quota limits, as well as the associated API stages, specified in the payload.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateUsagePlanInputBody<'a> { ///

    [Required] The name of the usage plan.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The description of the usage plan.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The associated API stages of the usage plan.

    - #[serde(rename = "apiStages")] - #[serde(skip_serializing_if = "Option::is_none")] pub api_stages: &'a std::option::Option>, ///

    The throttling limits of the usage plan.

    - #[serde(rename = "throttle")] - #[serde(skip_serializing_if = "Option::is_none")] pub throttle: &'a std::option::Option, ///

    The quota of the usage plan.

    - #[serde(rename = "quota")] - #[serde(skip_serializing_if = "Option::is_none")] pub quota: &'a std::option::Option, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -581,15 +428,11 @@ impl<'a> std::fmt::Debug for CreateUsagePlanInputBody<'a> { ///

    The POST request to create a usage plan key for adding an existing API key to a usage plan.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateUsagePlanKeyInputBody<'a> { ///

    [Required] The identifier of a UsagePlanKey resource for a plan customer.

    - #[serde(rename = "keyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    [Required] The type of a UsagePlanKey resource for a plan customer.

    - #[serde(rename = "keyType")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateUsagePlanKeyInputBody<'a> { @@ -603,23 +446,15 @@ impl<'a> std::fmt::Debug for CreateUsagePlanKeyInputBody<'a> { ///

    Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateVpcLinkInputBody<'a> { ///

    [Required] The name used to label and identify the VPC link.

    - #[serde(rename = "name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The description of the VPC link.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    [Required] The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

    - #[serde(rename = "targetArns")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_arns: &'a std::option::Option>, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -637,15 +472,11 @@ impl<'a> std::fmt::Debug for CreateVpcLinkInputBody<'a> { ///

    A request to generate a ClientCertificate resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GenerateClientCertificateInputBody<'a> { ///

    The description of the ClientCertificate.

    - #[serde(rename = "description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -661,21 +492,15 @@ impl<'a> std::fmt::Debug for GenerateClientCertificateInputBody<'a> { ///

    Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutGatewayResponseInputBody<'a> { /// The HTTP status code of the GatewayResponse. - #[serde(rename = "statusCode")] - #[serde(skip_serializing_if = "Option::is_none")] pub status_code: &'a std::option::Option, ///

    Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

    - #[serde(rename = "responseParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub response_parameters: &'a std::option::Option< std::collections::HashMap, >, ///

    Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

    - #[serde(rename = "responseTemplates")] - #[serde(skip_serializing_if = "Option::is_none")] pub response_templates: &'a std::option::Option< std::collections::HashMap, >, @@ -692,15 +517,11 @@ impl<'a> std::fmt::Debug for PutGatewayResponseInputBody<'a> { ///

    Sets up a method's integration.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutIntegrationInputBody<'a> { ///

    [Required] Specifies a put integration input's type.

    - #[serde(rename = "type")] - #[serde(skip_serializing_if = "Option::is_none")] pub r#type: &'a std::option::Option, ///

    Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.

    - #[serde(rename = "httpMethod")] - #[serde(skip_serializing_if = "Option::is_none")] pub integration_http_method: &'a std::option::Option, ///

    Specifies Uniform Resource Identifier (URI) of the integration endpoint.

    ///
      @@ -708,30 +529,18 @@ pub struct PutIntegrationInputBody<'a> { /// ///
    • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

      ///
    - #[serde(rename = "uri")] - #[serde(skip_serializing_if = "Option::is_none")] pub uri: &'a std::option::Option, ///

    The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

    - #[serde(rename = "connectionType")] - #[serde(skip_serializing_if = "Option::is_none")] pub connection_type: &'a std::option::Option, ///

    The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

    - #[serde(rename = "connectionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: &'a std::option::Option, ///

    Specifies whether credentials are required for a put integration.

    - #[serde(rename = "credentials")] - #[serde(skip_serializing_if = "Option::is_none")] pub credentials: &'a std::option::Option, ///

    A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

    - #[serde(rename = "requestParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_parameters: &'a std::option::Option< std::collections::HashMap, >, ///

    Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.

    - #[serde(rename = "requestTemplates")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_templates: &'a std::option::Option< std::collections::HashMap, >, @@ -742,16 +551,10 @@ pub struct PutIntegrationInputBody<'a> { ///
  • NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media Type' response.

  • ///
  • WHEN_NO_TEMPLATES allows pass-through when the integration has NO content types mapped to templates. However if there is at least one content type defined, unmapped content types will be rejected with the same 415 response.

  • /// - #[serde(rename = "passthroughBehavior")] - #[serde(skip_serializing_if = "Option::is_none")] pub passthrough_behavior: &'a std::option::Option, ///

    Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace. You can specify the same cacheNamespace across resources to return the same cached data for requests to different resources.

    - #[serde(rename = "cacheNamespace")] - #[serde(skip_serializing_if = "Option::is_none")] pub cache_namespace: &'a std::option::Option, ///

    A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

    - #[serde(rename = "cacheKeyParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub cache_key_parameters: &'a std::option::Option>, ///

    Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

    ///
      @@ -759,15 +562,9 @@ pub struct PutIntegrationInputBody<'a> { ///
    • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

    • ///
    ///

    If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.

    - #[serde(rename = "contentHandling")] - #[serde(skip_serializing_if = "Option::is_none")] pub content_handling: &'a std::option::Option, ///

    Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

    - #[serde(rename = "timeoutInMillis")] - #[serde(skip_serializing_if = "Option::is_none")] pub timeout_in_millis: &'a std::option::Option, - #[serde(rename = "tlsConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub tls_config: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutIntegrationInputBody<'a> { @@ -793,22 +590,16 @@ impl<'a> std::fmt::Debug for PutIntegrationInputBody<'a> { ///

    Represents a put integration response request.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutIntegrationResponseInputBody<'a> { ///

    Specifies the selection pattern of a put integration response.

    - #[serde(rename = "selectionPattern")] - #[serde(skip_serializing_if = "Option::is_none")] pub selection_pattern: &'a std::option::Option, ///

    A key-value map specifying response parameters that are passed to the method response from the back end. /// The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the $ prefix.

    - #[serde(rename = "responseParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub response_parameters: &'a std::option::Option< std::collections::HashMap, >, ///

    Specifies a put integration response's templates.

    - #[serde(rename = "responseTemplates")] - #[serde(skip_serializing_if = "Option::is_none")] pub response_templates: &'a std::option::Option< std::collections::HashMap, >, @@ -818,8 +609,6 @@ pub struct PutIntegrationResponseInputBody<'a> { ///
  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

  • /// ///

    If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

    - #[serde(rename = "contentHandling")] - #[serde(skip_serializing_if = "Option::is_none")] pub content_handling: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutIntegrationResponseInputBody<'a> { @@ -835,41 +624,26 @@ impl<'a> std::fmt::Debug for PutIntegrationResponseInputBody<'a> { ///

    Request to add a method to an existing Resource resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutMethodInputBody<'a> { ///

    [Required] The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

    - #[serde(rename = "authorizationType")] - #[serde(skip_serializing_if = "Option::is_none")] pub authorization_type: &'a std::option::Option, ///

    Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by API Gateway when you created the authorizer.

    - #[serde(rename = "authorizerId")] - #[serde(skip_serializing_if = "Option::is_none")] pub authorizer_id: &'a std::option::Option, ///

    Specifies whether the method required a valid ApiKey.

    - #[serde(rename = "apiKeyRequired")] pub api_key_required: &'a bool, ///

    A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

    - #[serde(rename = "operationName")] - #[serde(skip_serializing_if = "Option::is_none")] pub operation_name: &'a std::option::Option, ///

    A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.

    - #[serde(rename = "requestParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_parameters: &'a std::option::Option>, ///

    Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.

    - #[serde(rename = "requestModels")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_models: &'a std::option::Option< std::collections::HashMap, >, ///

    The identifier of a RequestValidator for validating the method request.

    - #[serde(rename = "requestValidatorId")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_validator_id: &'a std::option::Option, ///

    A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

    - #[serde(rename = "authorizationScopes")] - #[serde(skip_serializing_if = "Option::is_none")] pub authorization_scopes: &'a std::option::Option>, } impl<'a> std::fmt::Debug for PutMethodInputBody<'a> { @@ -889,16 +663,12 @@ impl<'a> std::fmt::Debug for PutMethodInputBody<'a> { ///

    Request to add a MethodResponse to an existing Method resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutMethodResponseInputBody<'a> { ///

    A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

    - #[serde(rename = "responseParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub response_parameters: &'a std::option::Option>, ///

    Specifies the Model resources used for the response's content type. Response models are represented as a key/value map, with a content type as the key and a Model name as the value.

    - #[serde(rename = "responseModels")] - #[serde(skip_serializing_if = "Option::is_none")] pub response_models: &'a std::option::Option< std::collections::HashMap, >, @@ -914,11 +684,9 @@ impl<'a> std::fmt::Debug for PutMethodResponseInputBody<'a> { ///

    Adds or updates a tag on a given resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInputBody<'a> { ///

    [Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

    - #[serde(rename = "tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -933,37 +701,25 @@ impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { ///

    Make a request to simulate the execution of an Authorizer.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TestInvokeAuthorizerInputBody<'a> { ///

    [Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.

    - #[serde(rename = "headers")] - #[serde(skip_serializing_if = "Option::is_none")] pub headers: &'a std::option::Option< std::collections::HashMap, >, ///

    [Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.

    - #[serde(rename = "multiValueHeaders")] - #[serde(skip_serializing_if = "Option::is_none")] pub multi_value_headers: &'a std::option::Option< std::collections::HashMap>, >, ///

    [Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

    - #[serde(rename = "pathWithQueryString")] - #[serde(skip_serializing_if = "Option::is_none")] pub path_with_query_string: &'a std::option::Option, ///

    [Optional] The simulated request body of an incoming invocation request.

    - #[serde(rename = "body")] - #[serde(skip_serializing_if = "Option::is_none")] pub body: &'a std::option::Option, ///

    A key-value map of stage variables to simulate an invocation on a deployed Stage.

    - #[serde(rename = "stageVariables")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_variables: &'a std::option::Option< std::collections::HashMap, >, ///

    [Optional] A key-value map of additional context variables.

    - #[serde(rename = "additionalContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub additional_context: &'a std::option::Option< std::collections::HashMap, >, @@ -983,35 +739,23 @@ impl<'a> std::fmt::Debug for TestInvokeAuthorizerInputBody<'a> { ///

    Make a request to simulate the execution of a Method.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TestInvokeMethodInputBody<'a> { ///

    The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

    - #[serde(rename = "pathWithQueryString")] - #[serde(skip_serializing_if = "Option::is_none")] pub path_with_query_string: &'a std::option::Option, ///

    The simulated request body of an incoming invocation request.

    - #[serde(rename = "body")] - #[serde(skip_serializing_if = "Option::is_none")] pub body: &'a std::option::Option, ///

    A key-value map of headers to simulate an incoming invocation request.

    - #[serde(rename = "headers")] - #[serde(skip_serializing_if = "Option::is_none")] pub headers: &'a std::option::Option< std::collections::HashMap, >, ///

    The headers as a map from string to list of values to simulate an incoming invocation request.

    - #[serde(rename = "multiValueHeaders")] - #[serde(skip_serializing_if = "Option::is_none")] pub multi_value_headers: &'a std::option::Option< std::collections::HashMap>, >, ///

    A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.

    - #[serde(rename = "clientCertificateId")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_certificate_id: &'a std::option::Option, ///

    A key-value map of stage variables to simulate an invocation on a deployed Stage.

    - #[serde(rename = "stageVariables")] - #[serde(skip_serializing_if = "Option::is_none")] pub stage_variables: &'a std::option::Option< std::collections::HashMap, >, @@ -1031,11 +775,9 @@ impl<'a> std::fmt::Debug for TestInvokeMethodInputBody<'a> { ///

    Requests API Gateway to change information about the current Account resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAccountInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateAccountInputBody<'a> { @@ -1048,11 +790,9 @@ impl<'a> std::fmt::Debug for UpdateAccountInputBody<'a> { ///

    A request to change information about an ApiKey resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateApiKeyInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateApiKeyInputBody<'a> { @@ -1065,11 +805,9 @@ impl<'a> std::fmt::Debug for UpdateApiKeyInputBody<'a> { ///

    Request to update an existing Authorizer resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAuthorizerInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateAuthorizerInputBody<'a> { @@ -1082,11 +820,9 @@ impl<'a> std::fmt::Debug for UpdateAuthorizerInputBody<'a> { ///

    A request to change information about the BasePathMapping resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateBasePathMappingInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateBasePathMappingInputBody<'a> { @@ -1099,11 +835,9 @@ impl<'a> std::fmt::Debug for UpdateBasePathMappingInputBody<'a> { ///

    A request to change information about an ClientCertificate resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateClientCertificateInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateClientCertificateInputBody<'a> { @@ -1116,11 +850,9 @@ impl<'a> std::fmt::Debug for UpdateClientCertificateInputBody<'a> { ///

    Requests API Gateway to change information about a Deployment resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDeploymentInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateDeploymentInputBody<'a> { @@ -1133,11 +865,9 @@ impl<'a> std::fmt::Debug for UpdateDeploymentInputBody<'a> { ///

    Updates an existing documentation part of a given API.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDocumentationPartInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateDocumentationPartInputBody<'a> { @@ -1150,11 +880,9 @@ impl<'a> std::fmt::Debug for UpdateDocumentationPartInputBody<'a> { ///

    Updates an existing documentation version of an API.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDocumentationVersionInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateDocumentationVersionInputBody<'a> { @@ -1167,11 +895,9 @@ impl<'a> std::fmt::Debug for UpdateDocumentationVersionInputBody<'a> { ///

    A request to change information about the DomainName resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDomainNameInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateDomainNameInputBody<'a> { @@ -1184,11 +910,9 @@ impl<'a> std::fmt::Debug for UpdateDomainNameInputBody<'a> { ///

    Updates a GatewayResponse of a specified response type on the given RestApi.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateGatewayResponseInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateGatewayResponseInputBody<'a> { @@ -1201,11 +925,9 @@ impl<'a> std::fmt::Debug for UpdateGatewayResponseInputBody<'a> { ///

    Represents an update integration request.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateIntegrationInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateIntegrationInputBody<'a> { @@ -1218,11 +940,9 @@ impl<'a> std::fmt::Debug for UpdateIntegrationInputBody<'a> { ///

    Represents an update integration response request.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateIntegrationResponseInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateIntegrationResponseInputBody<'a> { @@ -1235,11 +955,9 @@ impl<'a> std::fmt::Debug for UpdateIntegrationResponseInputBody<'a> { ///

    Request to update an existing Method resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateMethodInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateMethodInputBody<'a> { @@ -1252,11 +970,9 @@ impl<'a> std::fmt::Debug for UpdateMethodInputBody<'a> { ///

    A request to update an existing MethodResponse resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateMethodResponseInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateMethodResponseInputBody<'a> { @@ -1269,11 +985,9 @@ impl<'a> std::fmt::Debug for UpdateMethodResponseInputBody<'a> { ///

    Request to update an existing model in an existing RestApi resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateModelInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateModelInputBody<'a> { @@ -1286,11 +1000,9 @@ impl<'a> std::fmt::Debug for UpdateModelInputBody<'a> { ///

    Updates a RequestValidator of a given RestApi.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateRequestValidatorInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateRequestValidatorInputBody<'a> { @@ -1303,11 +1015,9 @@ impl<'a> std::fmt::Debug for UpdateRequestValidatorInputBody<'a> { ///

    Request to change information about a Resource resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateResourceInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateResourceInputBody<'a> { @@ -1320,11 +1030,9 @@ impl<'a> std::fmt::Debug for UpdateResourceInputBody<'a> { ///

    Request to update an existing RestApi resource in your collection.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateRestApiInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateRestApiInputBody<'a> { @@ -1337,11 +1045,9 @@ impl<'a> std::fmt::Debug for UpdateRestApiInputBody<'a> { ///

    Requests API Gateway to change information about a Stage resource.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateStageInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateStageInputBody<'a> { @@ -1354,11 +1060,9 @@ impl<'a> std::fmt::Debug for UpdateStageInputBody<'a> { ///

    The PATCH request to grant a temporary extension to the remaining quota of a usage plan associated with a specified API key.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateUsageInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateUsageInputBody<'a> { @@ -1371,11 +1075,9 @@ impl<'a> std::fmt::Debug for UpdateUsageInputBody<'a> { ///

    The PATCH request to update a usage plan of a given plan Id.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateUsagePlanInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateUsagePlanInputBody<'a> { @@ -1388,11 +1090,9 @@ impl<'a> std::fmt::Debug for UpdateUsagePlanInputBody<'a> { ///

    Updates an existing VpcLink of a specified identifier.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateVpcLinkInputBody<'a> { ///

    A list of update operations to be applied to the specified resource and in the order specified in this list.

    - #[serde(rename = "patchOperations")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_operations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateVpcLinkInputBody<'a> { diff --git a/sdk/aws-http/src/lib.rs b/sdk/aws-http/src/lib.rs index 5efe85d1c8c0..3bd0f30663b0 100644 --- a/sdk/aws-http/src/lib.rs +++ b/sdk/aws-http/src/lib.rs @@ -198,11 +198,7 @@ mod test { #[test] fn classify_generic() { - let err = smithy_types::Error { - code: Some("SlowDown".to_string()), - message: None, - request_id: None, - }; + let err = smithy_types::Error::builder().code("SlowDown").build(); let test_response = http::Response::new("OK"); let policy = AwsErrorRetryPolicy::new(); assert_eq!( diff --git a/sdk/aws-hyper/src/lib.rs b/sdk/aws-hyper/src/lib.rs index fba7a20fe16b..ee2676bb7e0d 100644 --- a/sdk/aws-hyper/src/lib.rs +++ b/sdk/aws-hyper/src/lib.rs @@ -127,10 +127,14 @@ where // Create a new request-scoped policy .retry(self.retry_handler.new_handler()) .layer(ParseResponseLayer::::new()) + // These layers can be considered as occuring in order, that is: + // 1. Resolve an endpoint + // 2. Add a user agent + // 3. Sign + // 4. Dispatch over the wire .layer(endpoint_resolver) .layer(user_agent) .layer(signer) - // Apply the user agent _after signing_. We should not sign the user-agent header .layer(DispatchLayer::new()) .service(inner); svc.ready().await?.call(input).await diff --git a/sdk/dynamodb/Cargo.toml b/sdk/dynamodb/Cargo.toml index 557e813c25ea..da7a05a497ed 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.5-alpha" +version = "0.0.6-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" @@ -34,6 +34,8 @@ version = "0.2" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [dependencies.bytes] version = "1" [dev-dependencies.aws-hyper] diff --git a/sdk/dynamodb/src/aws_json_errors.rs b/sdk/dynamodb/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/dynamodb/src/aws_json_errors.rs +++ b/sdk/dynamodb/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/dynamodb/src/client.rs b/sdk/dynamodb/src/client.rs index df4c5569e823..cc2d0ace78cb 100644 --- a/sdk/dynamodb/src/client.rs +++ b/sdk/dynamodb/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,219 +33,168 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn batch_execute_statement(&self) -> fluent_builders::BatchExecuteStatement { fluent_builders::BatchExecuteStatement::new(self.handle.clone()) } - pub fn batch_get_item(&self) -> fluent_builders::BatchGetItem { fluent_builders::BatchGetItem::new(self.handle.clone()) } - pub fn batch_write_item(&self) -> fluent_builders::BatchWriteItem { fluent_builders::BatchWriteItem::new(self.handle.clone()) } - pub fn create_backup(&self) -> fluent_builders::CreateBackup { fluent_builders::CreateBackup::new(self.handle.clone()) } - pub fn create_global_table(&self) -> fluent_builders::CreateGlobalTable { fluent_builders::CreateGlobalTable::new(self.handle.clone()) } - pub fn create_table(&self) -> fluent_builders::CreateTable { fluent_builders::CreateTable::new(self.handle.clone()) } - pub fn delete_backup(&self) -> fluent_builders::DeleteBackup { fluent_builders::DeleteBackup::new(self.handle.clone()) } - pub fn delete_item(&self) -> fluent_builders::DeleteItem { fluent_builders::DeleteItem::new(self.handle.clone()) } - pub fn delete_table(&self) -> fluent_builders::DeleteTable { fluent_builders::DeleteTable::new(self.handle.clone()) } - pub fn describe_backup(&self) -> fluent_builders::DescribeBackup { fluent_builders::DescribeBackup::new(self.handle.clone()) } - pub fn describe_continuous_backups(&self) -> fluent_builders::DescribeContinuousBackups { fluent_builders::DescribeContinuousBackups::new(self.handle.clone()) } - pub fn describe_contributor_insights(&self) -> fluent_builders::DescribeContributorInsights { fluent_builders::DescribeContributorInsights::new(self.handle.clone()) } - pub fn describe_endpoints(&self) -> fluent_builders::DescribeEndpoints { fluent_builders::DescribeEndpoints::new(self.handle.clone()) } - pub fn describe_export(&self) -> fluent_builders::DescribeExport { fluent_builders::DescribeExport::new(self.handle.clone()) } - pub fn describe_global_table(&self) -> fluent_builders::DescribeGlobalTable { fluent_builders::DescribeGlobalTable::new(self.handle.clone()) } - pub fn describe_global_table_settings(&self) -> fluent_builders::DescribeGlobalTableSettings { fluent_builders::DescribeGlobalTableSettings::new(self.handle.clone()) } - pub fn describe_kinesis_streaming_destination( &self, ) -> fluent_builders::DescribeKinesisStreamingDestination { fluent_builders::DescribeKinesisStreamingDestination::new(self.handle.clone()) } - pub fn describe_limits(&self) -> fluent_builders::DescribeLimits { fluent_builders::DescribeLimits::new(self.handle.clone()) } - pub fn describe_table(&self) -> fluent_builders::DescribeTable { fluent_builders::DescribeTable::new(self.handle.clone()) } - pub fn describe_table_replica_auto_scaling( &self, ) -> fluent_builders::DescribeTableReplicaAutoScaling { fluent_builders::DescribeTableReplicaAutoScaling::new(self.handle.clone()) } - pub fn describe_time_to_live(&self) -> fluent_builders::DescribeTimeToLive { fluent_builders::DescribeTimeToLive::new(self.handle.clone()) } - pub fn disable_kinesis_streaming_destination( &self, ) -> fluent_builders::DisableKinesisStreamingDestination { fluent_builders::DisableKinesisStreamingDestination::new(self.handle.clone()) } - pub fn enable_kinesis_streaming_destination( &self, ) -> fluent_builders::EnableKinesisStreamingDestination { fluent_builders::EnableKinesisStreamingDestination::new(self.handle.clone()) } - pub fn execute_statement(&self) -> fluent_builders::ExecuteStatement { fluent_builders::ExecuteStatement::new(self.handle.clone()) } - pub fn execute_transaction(&self) -> fluent_builders::ExecuteTransaction { fluent_builders::ExecuteTransaction::new(self.handle.clone()) } - pub fn export_table_to_point_in_time(&self) -> fluent_builders::ExportTableToPointInTime { fluent_builders::ExportTableToPointInTime::new(self.handle.clone()) } - pub fn get_item(&self) -> fluent_builders::GetItem { fluent_builders::GetItem::new(self.handle.clone()) } - pub fn list_backups(&self) -> fluent_builders::ListBackups { fluent_builders::ListBackups::new(self.handle.clone()) } - pub fn list_contributor_insights(&self) -> fluent_builders::ListContributorInsights { fluent_builders::ListContributorInsights::new(self.handle.clone()) } - pub fn list_exports(&self) -> fluent_builders::ListExports { fluent_builders::ListExports::new(self.handle.clone()) } - pub fn list_global_tables(&self) -> fluent_builders::ListGlobalTables { fluent_builders::ListGlobalTables::new(self.handle.clone()) } - pub fn list_tables(&self) -> fluent_builders::ListTables { fluent_builders::ListTables::new(self.handle.clone()) } - pub fn list_tags_of_resource(&self) -> fluent_builders::ListTagsOfResource { fluent_builders::ListTagsOfResource::new(self.handle.clone()) } - pub fn put_item(&self) -> fluent_builders::PutItem { fluent_builders::PutItem::new(self.handle.clone()) } - pub fn query(&self) -> fluent_builders::Query { fluent_builders::Query::new(self.handle.clone()) } - pub fn restore_table_from_backup(&self) -> fluent_builders::RestoreTableFromBackup { fluent_builders::RestoreTableFromBackup::new(self.handle.clone()) } - pub fn restore_table_to_point_in_time(&self) -> fluent_builders::RestoreTableToPointInTime { fluent_builders::RestoreTableToPointInTime::new(self.handle.clone()) } - pub fn scan(&self) -> fluent_builders::Scan { fluent_builders::Scan::new(self.handle.clone()) } - pub fn tag_resource(&self) -> fluent_builders::TagResource { fluent_builders::TagResource::new(self.handle.clone()) } - pub fn transact_get_items(&self) -> fluent_builders::TransactGetItems { fluent_builders::TransactGetItems::new(self.handle.clone()) } - pub fn transact_write_items(&self) -> fluent_builders::TransactWriteItems { fluent_builders::TransactWriteItems::new(self.handle.clone()) } - pub fn untag_resource(&self) -> fluent_builders::UntagResource { fluent_builders::UntagResource::new(self.handle.clone()) } - pub fn update_continuous_backups(&self) -> fluent_builders::UpdateContinuousBackups { fluent_builders::UpdateContinuousBackups::new(self.handle.clone()) } - pub fn update_contributor_insights(&self) -> fluent_builders::UpdateContributorInsights { fluent_builders::UpdateContributorInsights::new(self.handle.clone()) } - pub fn update_global_table(&self) -> fluent_builders::UpdateGlobalTable { fluent_builders::UpdateGlobalTable::new(self.handle.clone()) } - pub fn update_global_table_settings(&self) -> fluent_builders::UpdateGlobalTableSettings { fluent_builders::UpdateGlobalTableSettings::new(self.handle.clone()) } - pub fn update_item(&self) -> fluent_builders::UpdateItem { fluent_builders::UpdateItem::new(self.handle.clone()) } - pub fn update_table(&self) -> fluent_builders::UpdateTable { fluent_builders::UpdateTable::new(self.handle.clone()) } - pub fn update_table_replica_auto_scaling( &self, ) -> fluent_builders::UpdateTableReplicaAutoScaling { fluent_builders::UpdateTableReplicaAutoScaling::new(self.handle.clone()) } - pub fn update_time_to_live(&self) -> fluent_builders::UpdateTimeToLive { fluent_builders::UpdateTimeToLive::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct BatchExecuteStatement { handle: std::sync::Arc, @@ -276,7 +223,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    /// The list of PartiQL statements representing the batch to run. ///

    @@ -292,7 +238,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct BatchGetItem { handle: std::sync::Arc, @@ -321,7 +266,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

    ///

    Each element in the map of items to retrieve consists of the following:

    ///
      @@ -448,7 +392,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct BatchWriteItem { handle: std::sync::Arc, @@ -477,7 +420,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A map of one or more table names and, for each table, a list of operations to be performed /// (DeleteRequest or PutRequest). Each element in the map consists of the /// following:

      @@ -582,7 +524,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateBackup { handle: std::sync::Arc, @@ -611,7 +552,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -631,7 +571,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateGlobalTable { handle: std::sync::Arc, @@ -660,7 +599,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The global table name.

      pub fn global_table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.global_table_name(inp); @@ -686,7 +624,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateTable { handle: std::sync::Arc, @@ -715,7 +652,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      An array of attributes that describe the key schema for the table and indexes.

      pub fn attribute_definitions( mut self, @@ -1045,7 +981,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBackup { handle: std::sync::Arc, @@ -1074,7 +1009,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ARN associated with the backup.

      pub fn backup_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.backup_arn(inp); @@ -1085,7 +1019,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteItem { handle: std::sync::Arc, @@ -1114,7 +1047,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table from which to delete the item.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1379,7 +1311,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteTable { handle: std::sync::Arc, @@ -1408,7 +1339,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table to delete.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1419,7 +1349,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeBackup { handle: std::sync::Arc, @@ -1448,7 +1377,6 @@ 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) associated with the backup.

      pub fn backup_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.backup_arn(inp); @@ -1459,7 +1387,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeContinuousBackups { handle: std::sync::Arc, @@ -1488,7 +1415,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1499,7 +1425,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeContributorInsights { handle: std::sync::Arc, @@ -1528,7 +1453,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table to describe.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1548,7 +1472,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeEndpoints { handle: std::sync::Arc, @@ -1578,7 +1501,6 @@ pub mod fluent_builders { self.handle.client.call(op).await } } - #[derive(std::fmt::Debug)] pub struct DescribeExport { handle: std::sync::Arc, @@ -1607,7 +1529,6 @@ 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) associated with the export.

      pub fn export_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.export_arn(inp); @@ -1618,7 +1539,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeGlobalTable { handle: std::sync::Arc, @@ -1647,7 +1567,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the global table.

      pub fn global_table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.global_table_name(inp); @@ -1661,7 +1580,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeGlobalTableSettings { handle: std::sync::Arc, @@ -1690,7 +1608,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the global table to describe.

      pub fn global_table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.global_table_name(inp); @@ -1704,7 +1621,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeKinesisStreamingDestination { handle: std::sync::Arc, @@ -1733,7 +1649,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table being described.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1744,7 +1659,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeLimits { handle: std::sync::Arc, @@ -1774,7 +1688,6 @@ pub mod fluent_builders { self.handle.client.call(op).await } } - #[derive(std::fmt::Debug)] pub struct DescribeTable { handle: std::sync::Arc, @@ -1803,7 +1716,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table to describe.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1814,7 +1726,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeTableReplicaAutoScaling { handle: std::sync::Arc, @@ -1843,7 +1754,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1854,7 +1764,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeTimeToLive { handle: std::sync::Arc, @@ -1883,7 +1792,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table to be described.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1894,7 +1802,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DisableKinesisStreamingDestination { handle: std::sync::Arc, @@ -1923,7 +1830,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the DynamoDB table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1943,7 +1849,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct EnableKinesisStreamingDestination { handle: std::sync::Arc, @@ -1972,7 +1877,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the DynamoDB table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -1992,7 +1896,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ExecuteStatement { handle: std::sync::Arc, @@ -2021,7 +1924,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      /// The PartiQL statement representing the operation to run. ///

      @@ -2070,7 +1972,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ExecuteTransaction { handle: std::sync::Arc, @@ -2099,7 +2000,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      /// The list of PartiQL statements representing the transaction to run. ///

      @@ -2132,7 +2032,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ExportTableToPointInTime { handle: std::sync::Arc, @@ -2161,7 +2060,6 @@ 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) associated with the table to export.

      pub fn table_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_arn(inp); @@ -2280,7 +2178,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetItem { handle: std::sync::Arc, @@ -2309,7 +2206,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table containing the requested item.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -2466,7 +2362,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListBackups { handle: std::sync::Arc, @@ -2495,7 +2390,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The backups from the table specified by TableName are listed.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -2583,7 +2477,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListContributorInsights { handle: std::sync::Arc, @@ -2612,7 +2505,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -2641,7 +2533,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListExports { handle: std::sync::Arc, @@ -2670,7 +2561,6 @@ 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) associated with the exported table.

      pub fn table_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_arn(inp); @@ -2701,7 +2591,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListGlobalTables { handle: std::sync::Arc, @@ -2730,7 +2619,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The first global table name that this operation will evaluate.

      pub fn exclusive_start_global_table_name( mut self, @@ -2767,7 +2655,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListTables { handle: std::sync::Arc, @@ -2796,7 +2683,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The first table name that this operation will evaluate. Use the value that was returned for /// LastEvaluatedTableName in a previous operation, so that you can obtain the next page /// of results.

      @@ -2821,7 +2707,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListTagsOfResource { handle: std::sync::Arc, @@ -2850,7 +2735,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

      pub fn resource_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_arn(inp); @@ -2871,7 +2755,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutItem { handle: std::sync::Arc, @@ -2900,7 +2783,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table to contain the item.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -3170,7 +3052,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Query { handle: std::sync::Arc, @@ -3199,7 +3080,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table containing the requested items.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -3681,7 +3561,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RestoreTableFromBackup { handle: std::sync::Arc, @@ -3710,7 +3589,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the new table to which the backup must be restored.

      pub fn target_table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.target_table_name(inp); @@ -3806,7 +3684,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RestoreTableToPointInTime { handle: std::sync::Arc, @@ -3835,7 +3712,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The DynamoDB table that will be restored. This value is an Amazon /// Resource Name (ARN).

      pub fn source_table_arn(mut self, inp: impl Into) -> Self { @@ -3969,7 +3845,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Scan { handle: std::sync::Arc, @@ -3996,7 +3871,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table containing the requested items; or, if you provide /// IndexName, the name of the table to which that index belongs.

      pub fn table_name(mut self, inp: impl Into) -> Self { @@ -4380,7 +4254,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TagResource { handle: std::sync::Arc, @@ -4409,7 +4282,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).

      pub fn resource_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_arn(inp); @@ -4432,7 +4304,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TransactGetItems { handle: std::sync::Arc, @@ -4461,7 +4332,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      An ordered array of up to 25 TransactGetItem objects, /// each of which contains a Get structure.

      pub fn transact_items(mut self, inp: impl Into) -> Self { @@ -4493,7 +4363,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TransactWriteItems { handle: std::sync::Arc, @@ -4522,7 +4391,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      An ordered array of up to 25 TransactWriteItem objects, each of which /// contains a ConditionCheck, Put, Update, or /// Delete object. These can operate on items in different tables, but the @@ -4616,7 +4484,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UntagResource { handle: std::sync::Arc, @@ -4645,7 +4512,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The DynamoDB resource that the tags will be removed from. This value is an Amazon /// Resource Name (ARN).

      pub fn resource_arn(mut self, inp: impl Into) -> Self { @@ -4670,7 +4536,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateContinuousBackups { handle: std::sync::Arc, @@ -4699,7 +4564,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -4725,7 +4589,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateContributorInsights { handle: std::sync::Arc, @@ -4754,7 +4617,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -4789,7 +4651,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateGlobalTable { handle: std::sync::Arc, @@ -4818,7 +4679,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The global table name.

      pub fn global_table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.global_table_name(inp); @@ -4844,7 +4704,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateGlobalTableSettings { handle: std::sync::Arc, @@ -4873,7 +4732,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the global table

      pub fn global_table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.global_table_name(inp); @@ -4983,7 +4841,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateItem { handle: std::sync::Arc, @@ -5012,7 +4869,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table containing the item to update.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); @@ -5410,7 +5266,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateTable { handle: std::sync::Arc, @@ -5439,7 +5294,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

      pub fn attribute_definitions( mut self, @@ -5582,7 +5436,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateTableReplicaAutoScaling { handle: std::sync::Arc, @@ -5611,7 +5464,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Represents the auto scaling settings of the global secondary indexes of the replica /// to be updated.

      pub fn global_secondary_index_updates( @@ -5676,7 +5528,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateTimeToLive { handle: std::sync::Arc, @@ -5705,7 +5556,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the table to be configured.

      pub fn table_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.table_name(inp); diff --git a/sdk/dynamodb/src/config.rs b/sdk/dynamodb/src/config.rs index fa6579aebb3f..b23c8b57a336 100644 --- a/sdk/dynamodb/src/config.rs +++ b/sdk/dynamodb/src/config.rs @@ -15,7 +15,6 @@ 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 @@ -35,7 +34,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn make_token( mut self, make_token: impl crate::idempotency_token::MakeIdempotencyToken + 'static, @@ -43,7 +41,6 @@ impl Builder { self.make_token = Some(Box::new(make_token)); self } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -51,14 +48,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -66,7 +60,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { make_token: self diff --git a/sdk/dynamodb/src/error.rs b/sdk/dynamodb/src/error.rs index e1b7be35e054..147c09ff5d1e 100644 --- a/sdk/dynamodb/src/error.rs +++ b/sdk/dynamodb/src/error.rs @@ -10,7 +10,6 @@ pub struct BatchExecuteStatementError { pub enum BatchExecuteStatementErrorKind { InternalServerError(crate::error::InternalServerError), RequestLimitExceeded(crate::error::RequestLimitExceeded), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -31,7 +30,6 @@ impl smithy_types::retry::ProvideErrorKind for BatchExecuteStatementError { None } } - impl BatchExecuteStatementError { pub fn new(kind: BatchExecuteStatementErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -54,18 +52,21 @@ impl BatchExecuteStatementError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for BatchExecuteStatementError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -90,7 +91,6 @@ pub enum BatchGetItemErrorKind { ProvisionedThroughputExceededError(crate::error::ProvisionedThroughputExceededError), RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -114,7 +114,6 @@ impl smithy_types::retry::ProvideErrorKind for BatchGetItemError { None } } - impl BatchGetItemError { pub fn new(kind: BatchGetItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -137,18 +136,21 @@ impl BatchGetItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for BatchGetItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -177,7 +179,6 @@ pub enum BatchWriteItemErrorKind { ProvisionedThroughputExceededError(crate::error::ProvisionedThroughputExceededError), RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -202,7 +203,6 @@ impl smithy_types::retry::ProvideErrorKind for BatchWriteItemError { None } } - impl BatchWriteItemError { pub fn new(kind: BatchWriteItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -225,18 +225,21 @@ impl BatchWriteItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for BatchWriteItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -267,7 +270,6 @@ pub enum CreateBackupErrorKind { LimitExceededError(crate::error::LimitExceededError), TableInUseError(crate::error::TableInUseError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -293,7 +295,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateBackupError { None } } - impl CreateBackupError { pub fn new(kind: CreateBackupErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -316,18 +317,21 @@ impl CreateBackupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateBackupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -357,7 +361,6 @@ pub enum CreateGlobalTableErrorKind { InvalidEndpointError(crate::error::InvalidEndpointError), LimitExceededError(crate::error::LimitExceededError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -381,7 +384,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateGlobalTableError { None } } - impl CreateGlobalTableError { pub fn new(kind: CreateGlobalTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -404,18 +406,21 @@ impl CreateGlobalTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateGlobalTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -442,7 +447,6 @@ pub enum CreateTableErrorKind { InvalidEndpointError(crate::error::InvalidEndpointError), LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -465,7 +469,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateTableError { None } } - impl CreateTableError { pub fn new(kind: CreateTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -488,18 +491,21 @@ impl CreateTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -526,7 +532,6 @@ pub enum DeleteBackupErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), LimitExceededError(crate::error::LimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -550,7 +555,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBackupError { None } } - impl DeleteBackupError { pub fn new(kind: DeleteBackupErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -573,18 +577,21 @@ impl DeleteBackupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBackupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -615,7 +622,6 @@ pub enum DeleteItemErrorKind { RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionConflictError(crate::error::TransactionConflictError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -642,7 +648,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteItemError { None } } - impl DeleteItemError { pub fn new(kind: DeleteItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -665,18 +670,21 @@ impl DeleteItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -707,7 +715,6 @@ pub enum DeleteTableErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -731,7 +738,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteTableError { None } } - impl DeleteTableError { pub fn new(kind: DeleteTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -754,18 +760,21 @@ impl DeleteTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -791,7 +800,6 @@ pub enum DescribeBackupErrorKind { BackupNotFoundError(crate::error::BackupNotFoundError), InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -813,7 +821,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeBackupError { None } } - impl DescribeBackupError { pub fn new(kind: DescribeBackupErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -836,18 +843,21 @@ impl DescribeBackupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeBackupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -871,7 +881,6 @@ pub enum DescribeContinuousBackupsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -893,7 +902,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeContinuousBackupsError { None } } - impl DescribeContinuousBackupsError { pub fn new(kind: DescribeContinuousBackupsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -916,18 +924,21 @@ impl DescribeContinuousBackupsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeContinuousBackupsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -950,7 +961,6 @@ pub struct DescribeContributorInsightsError { pub enum DescribeContributorInsightsErrorKind { InternalServerError(crate::error::InternalServerError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -971,7 +981,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeContributorInsightsError None } } - impl DescribeContributorInsightsError { pub fn new(kind: DescribeContributorInsightsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -994,18 +1003,21 @@ impl DescribeContributorInsightsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeContributorInsightsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1043,7 +1055,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeEndpointsError { None } } - impl DescribeEndpointsError { pub fn new(kind: DescribeEndpointsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1066,18 +1077,21 @@ impl DescribeEndpointsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeEndpointsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1098,7 +1112,6 @@ pub enum DescribeExportErrorKind { ExportNotFoundError(crate::error::ExportNotFoundError), InternalServerError(crate::error::InternalServerError), LimitExceededError(crate::error::LimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1120,7 +1133,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeExportError { None } } - impl DescribeExportError { pub fn new(kind: DescribeExportErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1143,18 +1155,21 @@ impl DescribeExportError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeExportError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1178,7 +1193,6 @@ pub enum DescribeGlobalTableErrorKind { GlobalTableNotFoundError(crate::error::GlobalTableNotFoundError), InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1200,7 +1214,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeGlobalTableError { None } } - impl DescribeGlobalTableError { pub fn new(kind: DescribeGlobalTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1223,18 +1236,21 @@ impl DescribeGlobalTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeGlobalTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1258,7 +1274,6 @@ pub enum DescribeGlobalTableSettingsErrorKind { GlobalTableNotFoundError(crate::error::GlobalTableNotFoundError), InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1280,7 +1295,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeGlobalTableSettingsError None } } - impl DescribeGlobalTableSettingsError { pub fn new(kind: DescribeGlobalTableSettingsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1303,18 +1317,21 @@ impl DescribeGlobalTableSettingsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeGlobalTableSettingsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1338,7 +1355,6 @@ pub enum DescribeKinesisStreamingDestinationErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1366,7 +1382,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeKinesisStreamingDestinati None } } - impl DescribeKinesisStreamingDestinationError { pub fn new( kind: DescribeKinesisStreamingDestinationErrorKind, @@ -1392,18 +1407,21 @@ impl DescribeKinesisStreamingDestinationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeKinesisStreamingDestinationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1434,7 +1452,6 @@ pub struct DescribeLimitsError { pub enum DescribeLimitsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1455,7 +1472,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeLimitsError { None } } - impl DescribeLimitsError { pub fn new(kind: DescribeLimitsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1478,18 +1494,21 @@ impl DescribeLimitsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeLimitsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1512,7 +1531,6 @@ pub enum DescribeTableErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1534,7 +1552,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeTableError { None } } - impl DescribeTableError { pub fn new(kind: DescribeTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1557,18 +1574,21 @@ impl DescribeTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1591,7 +1611,6 @@ pub struct DescribeTableReplicaAutoScalingError { pub enum DescribeTableReplicaAutoScalingErrorKind { InternalServerError(crate::error::InternalServerError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1614,7 +1633,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeTableReplicaAutoScalingEr None } } - impl DescribeTableReplicaAutoScalingError { pub fn new(kind: DescribeTableReplicaAutoScalingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1637,18 +1655,21 @@ impl DescribeTableReplicaAutoScalingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeTableReplicaAutoScalingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1671,7 +1692,6 @@ pub enum DescribeTimeToLiveErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1693,7 +1713,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeTimeToLiveError { None } } - impl DescribeTimeToLiveError { pub fn new(kind: DescribeTimeToLiveErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1716,18 +1735,21 @@ impl DescribeTimeToLiveError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeTimeToLiveError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1753,7 +1775,6 @@ pub enum DisableKinesisStreamingDestinationErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1787,7 +1808,6 @@ impl smithy_types::retry::ProvideErrorKind for DisableKinesisStreamingDestinatio None } } - impl DisableKinesisStreamingDestinationError { pub fn new( kind: DisableKinesisStreamingDestinationErrorKind, @@ -1813,18 +1833,21 @@ impl DisableKinesisStreamingDestinationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DisableKinesisStreamingDestinationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1858,7 +1881,6 @@ pub enum EnableKinesisStreamingDestinationErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1888,7 +1910,6 @@ impl smithy_types::retry::ProvideErrorKind for EnableKinesisStreamingDestination None } } - impl EnableKinesisStreamingDestinationError { pub fn new( kind: EnableKinesisStreamingDestinationErrorKind, @@ -1914,18 +1935,21 @@ impl EnableKinesisStreamingDestinationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for EnableKinesisStreamingDestinationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1960,7 +1984,6 @@ pub enum ExecuteStatementErrorKind { RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionConflictError(crate::error::TransactionConflictError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1989,7 +2012,6 @@ impl smithy_types::retry::ProvideErrorKind for ExecuteStatementError { None } } - impl ExecuteStatementError { pub fn new(kind: ExecuteStatementErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2012,18 +2034,21 @@ impl ExecuteStatementError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ExecuteStatementError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2056,7 +2081,6 @@ pub enum ExecuteTransactionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionCanceledError(crate::error::TransactionCanceledError), TransactionInProgressError(crate::error::TransactionInProgressError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2084,7 +2108,6 @@ impl smithy_types::retry::ProvideErrorKind for ExecuteTransactionError { None } } - impl ExecuteTransactionError { pub fn new(kind: ExecuteTransactionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2107,18 +2130,21 @@ impl ExecuteTransactionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ExecuteTransactionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2149,7 +2175,6 @@ pub enum ExportTableToPointInTimeErrorKind { LimitExceededError(crate::error::LimitExceededError), PointInTimeRecoveryUnavailableError(crate::error::PointInTimeRecoveryUnavailableError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2176,7 +2201,6 @@ impl smithy_types::retry::ProvideErrorKind for ExportTableToPointInTimeError { None } } - impl ExportTableToPointInTimeError { pub fn new(kind: ExportTableToPointInTimeErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2199,18 +2223,21 @@ impl ExportTableToPointInTimeError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ExportTableToPointInTimeError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2241,7 +2268,6 @@ pub enum GetItemErrorKind { ProvisionedThroughputExceededError(crate::error::ProvisionedThroughputExceededError), RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2265,7 +2291,6 @@ impl smithy_types::retry::ProvideErrorKind for GetItemError { None } } - impl GetItemError { pub fn new(kind: GetItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2288,18 +2313,21 @@ impl GetItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2324,7 +2352,6 @@ pub struct ListBackupsError { pub enum ListBackupsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2345,7 +2372,6 @@ impl smithy_types::retry::ProvideErrorKind for ListBackupsError { None } } - impl ListBackupsError { pub fn new(kind: ListBackupsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2368,18 +2394,21 @@ impl ListBackupsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListBackupsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2401,7 +2430,6 @@ pub struct ListContributorInsightsError { pub enum ListContributorInsightsErrorKind { InternalServerError(crate::error::InternalServerError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2422,7 +2450,6 @@ impl smithy_types::retry::ProvideErrorKind for ListContributorInsightsError { None } } - impl ListContributorInsightsError { pub fn new(kind: ListContributorInsightsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2445,18 +2472,21 @@ impl ListContributorInsightsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListContributorInsightsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2478,7 +2508,6 @@ pub struct ListExportsError { pub enum ListExportsErrorKind { InternalServerError(crate::error::InternalServerError), LimitExceededError(crate::error::LimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2499,7 +2528,6 @@ impl smithy_types::retry::ProvideErrorKind for ListExportsError { None } } - impl ListExportsError { pub fn new(kind: ListExportsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2522,18 +2550,21 @@ impl ListExportsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListExportsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2555,7 +2586,6 @@ pub struct ListGlobalTablesError { pub enum ListGlobalTablesErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2576,7 +2606,6 @@ impl smithy_types::retry::ProvideErrorKind for ListGlobalTablesError { None } } - impl ListGlobalTablesError { pub fn new(kind: ListGlobalTablesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2599,18 +2628,21 @@ impl ListGlobalTablesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListGlobalTablesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2632,7 +2664,6 @@ pub struct ListTablesError { pub enum ListTablesErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2653,7 +2684,6 @@ impl smithy_types::retry::ProvideErrorKind for ListTablesError { None } } - impl ListTablesError { pub fn new(kind: ListTablesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2676,18 +2706,21 @@ impl ListTablesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListTablesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2710,7 +2743,6 @@ pub enum ListTagsOfResourceErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2732,7 +2764,6 @@ impl smithy_types::retry::ProvideErrorKind for ListTagsOfResourceError { None } } - impl ListTagsOfResourceError { pub fn new(kind: ListTagsOfResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2755,18 +2786,21 @@ impl ListTagsOfResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListTagsOfResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2795,7 +2829,6 @@ pub enum PutItemErrorKind { RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionConflictError(crate::error::TransactionConflictError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2822,7 +2855,6 @@ impl smithy_types::retry::ProvideErrorKind for PutItemError { None } } - impl PutItemError { pub fn new(kind: PutItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2845,18 +2877,21 @@ impl PutItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2887,7 +2922,6 @@ pub enum QueryErrorKind { ProvisionedThroughputExceededError(crate::error::ProvisionedThroughputExceededError), RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2911,7 +2945,6 @@ impl smithy_types::retry::ProvideErrorKind for QueryError { None } } - impl QueryError { pub fn new(kind: QueryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2934,18 +2967,21 @@ impl QueryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for QueryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2975,7 +3011,6 @@ pub enum RestoreTableFromBackupErrorKind { LimitExceededError(crate::error::LimitExceededError), TableAlreadyExistsError(crate::error::TableAlreadyExistsError), TableInUseError(crate::error::TableInUseError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3001,7 +3036,6 @@ impl smithy_types::retry::ProvideErrorKind for RestoreTableFromBackupError { None } } - impl RestoreTableFromBackupError { pub fn new(kind: RestoreTableFromBackupErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3024,18 +3058,21 @@ impl RestoreTableFromBackupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RestoreTableFromBackupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3068,7 +3105,6 @@ pub enum RestoreTableToPointInTimeErrorKind { TableAlreadyExistsError(crate::error::TableAlreadyExistsError), TableInUseError(crate::error::TableInUseError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3097,7 +3133,6 @@ impl smithy_types::retry::ProvideErrorKind for RestoreTableToPointInTimeError { None } } - impl RestoreTableToPointInTimeError { pub fn new(kind: RestoreTableToPointInTimeErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3120,18 +3155,21 @@ impl RestoreTableToPointInTimeError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RestoreTableToPointInTimeError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3164,7 +3202,6 @@ pub enum ScanErrorKind { ProvisionedThroughputExceededError(crate::error::ProvisionedThroughputExceededError), RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3188,7 +3225,6 @@ impl smithy_types::retry::ProvideErrorKind for ScanError { None } } - impl ScanError { pub fn new(kind: ScanErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3211,18 +3247,21 @@ impl ScanError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ScanError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3250,7 +3289,6 @@ pub enum TagResourceErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3274,7 +3312,6 @@ impl smithy_types::retry::ProvideErrorKind for TagResourceError { None } } - impl TagResourceError { pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3297,18 +3334,21 @@ impl TagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3337,7 +3377,6 @@ pub enum TransactGetItemsErrorKind { RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionCanceledError(crate::error::TransactionCanceledError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3362,7 +3401,6 @@ impl smithy_types::retry::ProvideErrorKind for TransactGetItemsError { None } } - impl TransactGetItemsError { pub fn new(kind: TransactGetItemsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3385,18 +3423,21 @@ impl TransactGetItemsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TransactGetItemsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3428,7 +3469,6 @@ pub enum TransactWriteItemsErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionCanceledError(crate::error::TransactionCanceledError), TransactionInProgressError(crate::error::TransactionInProgressError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3457,7 +3497,6 @@ impl smithy_types::retry::ProvideErrorKind for TransactWriteItemsError { None } } - impl TransactWriteItemsError { pub fn new(kind: TransactWriteItemsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3480,18 +3519,21 @@ impl TransactWriteItemsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TransactWriteItemsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3522,7 +3564,6 @@ pub enum UntagResourceErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3546,7 +3587,6 @@ impl smithy_types::retry::ProvideErrorKind for UntagResourceError { None } } - impl UntagResourceError { pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3569,18 +3609,21 @@ impl UntagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UntagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3607,7 +3650,6 @@ pub enum UpdateContinuousBackupsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidEndpointError(crate::error::InvalidEndpointError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3632,7 +3674,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateContinuousBackupsError { None } } - impl UpdateContinuousBackupsError { pub fn new(kind: UpdateContinuousBackupsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3655,18 +3696,21 @@ impl UpdateContinuousBackupsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateContinuousBackupsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3692,7 +3736,6 @@ pub struct UpdateContributorInsightsError { pub enum UpdateContributorInsightsErrorKind { InternalServerError(crate::error::InternalServerError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3713,7 +3756,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateContributorInsightsError { None } } - impl UpdateContributorInsightsError { pub fn new(kind: UpdateContributorInsightsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3736,18 +3778,21 @@ impl UpdateContributorInsightsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateContributorInsightsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3773,7 +3818,6 @@ pub enum UpdateGlobalTableErrorKind { ReplicaAlreadyExistsError(crate::error::ReplicaAlreadyExistsError), ReplicaNotFoundError(crate::error::ReplicaNotFoundError), TableNotFoundError(crate::error::TableNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3798,7 +3842,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateGlobalTableError { None } } - impl UpdateGlobalTableError { pub fn new(kind: UpdateGlobalTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3821,18 +3864,21 @@ impl UpdateGlobalTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateGlobalTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3863,7 +3909,6 @@ pub enum UpdateGlobalTableSettingsErrorKind { LimitExceededError(crate::error::LimitExceededError), ReplicaNotFoundError(crate::error::ReplicaNotFoundError), ResourceInUseError(crate::error::ResourceInUseError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3889,7 +3934,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateGlobalTableSettingsError { None } } - impl UpdateGlobalTableSettingsError { pub fn new(kind: UpdateGlobalTableSettingsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3912,18 +3956,21 @@ impl UpdateGlobalTableSettingsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateGlobalTableSettingsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3956,7 +4003,6 @@ pub enum UpdateItemErrorKind { RequestLimitExceeded(crate::error::RequestLimitExceeded), ResourceNotFoundError(crate::error::ResourceNotFoundError), TransactionConflictError(crate::error::TransactionConflictError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3983,7 +4029,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateItemError { None } } - impl UpdateItemError { pub fn new(kind: UpdateItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4006,18 +4051,21 @@ impl UpdateItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4048,7 +4096,6 @@ pub enum UpdateTableErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4072,7 +4119,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateTableError { None } } - impl UpdateTableError { pub fn new(kind: UpdateTableErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4095,18 +4141,21 @@ impl UpdateTableError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateTableError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4133,7 +4182,6 @@ pub enum UpdateTableReplicaAutoScalingErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4156,7 +4204,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateTableReplicaAutoScalingErro None } } - impl UpdateTableReplicaAutoScalingError { pub fn new(kind: UpdateTableReplicaAutoScalingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4179,18 +4226,21 @@ impl UpdateTableReplicaAutoScalingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateTableReplicaAutoScalingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4217,7 +4267,6 @@ pub enum UpdateTimeToLiveErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4241,7 +4290,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateTimeToLiveError { None } } - impl UpdateTimeToLiveError { pub fn new(kind: UpdateTimeToLiveErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4264,18 +4312,21 @@ impl UpdateTimeToLiveError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateTimeToLiveError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4292,11 +4343,10 @@ impl std::error::Error for UpdateTimeToLiveError { ///

      The operation tried to access a nonexistent table or index. The resource might not be specified /// correctly, or its status might not be ACTIVE.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotFoundError { ///

      The resource which is being requested does not exist.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4359,11 +4409,10 @@ impl ResourceNotFoundError { /// recreate an existing table, or tried to delete a table currently in the CREATING /// state.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceInUseError { ///

      The resource which is being attempted to be changed is in use.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4432,11 +4481,10 @@ impl ResourceInUseError { /// reduce the number of concurrent operations.

      ///

      There is a soft account quota of 256 tables.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { ///

      Too many operations for a given subscriber.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4496,10 +4544,9 @@ impl LimitExceededError { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidEndpointError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4559,11 +4606,10 @@ impl InvalidEndpointError { ///

      An error occurred on the server side.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InternalServerError { ///

      The server encountered an internal error trying to fulfill the request.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4624,10 +4670,9 @@ impl InternalServerError { ///

      Operation was rejected because there is an ongoing transaction for the item.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TransactionConflictError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4687,10 +4732,9 @@ impl TransactionConflictError { ///

      Throughput exceeds the current throughput quota for your account. Please contact AWS Support at AWS Support to request a quota increase.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RequestLimitExceeded { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4754,11 +4798,10 @@ impl RequestLimitExceeded { /// information, go to Error Retries and Exponential /// Backoff in the Amazon DynamoDB Developer Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedThroughputExceededError { ///

      You exceeded your maximum allowed provisioned throughput.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4822,11 +4865,10 @@ impl ProvisionedThroughputExceededError { ///

      An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ItemCollectionSizeLimitExceededError { ///

      The total size of an item collection has exceeded the maximum limit of 10 gigabytes.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4890,11 +4932,10 @@ impl ItemCollectionSizeLimitExceededError { ///

      A condition specified in the operation could not be evaluated.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ConditionalCheckFailedError { ///

      The conditional request failed.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4958,10 +4999,9 @@ impl ConditionalCheckFailedError { ///

      The specified replica is no longer part of the global table.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5021,10 +5061,9 @@ impl ReplicaNotFoundError { ///

      The operation tried to access a nonexistent index.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IndexNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5084,10 +5123,9 @@ impl IndexNotFoundError { ///

      The specified global table does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalTableNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5147,10 +5185,9 @@ impl GlobalTableNotFoundError { ///

      A source table with the name TableName does not currently exist within the subscriber's account.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TableNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5210,10 +5247,9 @@ impl TableNotFoundError { ///

      The specified replica is already part of the global table.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaAlreadyExistsError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5276,10 +5312,9 @@ impl ReplicaAlreadyExistsError { ///

      Backups have not yet been enabled for this table.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ContinuousBackupsUnavailableError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5342,10 +5377,9 @@ impl ContinuousBackupsUnavailableError { ///

      The transaction with the given request token is already in progress.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TransactionInProgressError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5605,15 +5639,13 @@ impl TransactionInProgressError { /// ///
    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TransactionCanceledError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    A list of cancellation reasons.

    #[serde(rename = "CancellationReasons")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cancellation_reasons: std::option::Option>, } @@ -5694,10 +5726,9 @@ impl TransactionCanceledError { ///

    DynamoDB rejected the request because you retried a request with a different payload but /// with an idempotent token that was already used.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IdempotentParameterMismatchError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5760,10 +5791,9 @@ impl IdempotentParameterMismatchError { ///

    A target table with the specified name is either being created or deleted.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TableInUseError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5823,10 +5853,9 @@ impl TableInUseError { ///

    A target table with the specified name already exists.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TableAlreadyExistsError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5886,10 +5915,9 @@ impl TableAlreadyExistsError { ///

    Point in time recovery has not yet been enabled for this source table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PointInTimeRecoveryUnavailableError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5952,10 +5980,9 @@ impl PointInTimeRecoveryUnavailableError { ///

    An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime and LatestRestorableDateTime.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidRestoreTimeError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6015,10 +6042,9 @@ impl InvalidRestoreTimeError { ///

    Backup not found for the given BackupARN.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BackupNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6078,10 +6104,9 @@ impl BackupNotFoundError { ///

    There is another ongoing conflicting backup control plane operation on the table. The backup is either being created, deleted or restored to a table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BackupInUseError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6142,10 +6167,9 @@ impl BackupInUseError { ///

    The specified ExportTime is outside of the point in time recovery /// window.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidExportTimeError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6205,10 +6229,9 @@ impl InvalidExportTimeError { ///

    There was a conflict when writing to the specified S3 bucket.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExportConflictError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6270,10 +6293,9 @@ impl ExportConflictError { /// There was an attempt to insert an item with the same primary key as an item that already exists in the DynamoDB table. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DuplicateItemError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6333,10 +6355,9 @@ impl DuplicateItemError { ///

    The specified export was not found.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExportNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6396,10 +6417,9 @@ impl ExportNotFoundError { ///

    The specified global table already exists.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalTableAlreadyExistsError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/dynamodb/src/input.rs b/sdk/dynamodb/src/input.rs index d1fd855262e5..e6a046437934 100644 --- a/sdk/dynamodb/src/input.rs +++ b/sdk/dynamodb/src/input.rs @@ -48,47 +48,38 @@ impl BatchExecuteStatementInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_batch_execute_statement_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_batch_execute_statement(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::BatchExecuteStatement::new(), @@ -97,7 +88,6 @@ impl BatchExecuteStatementInput { "BatchExecuteStatement", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -107,7 +97,6 @@ impl BatchExecuteStatementInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -216,46 +205,38 @@ impl BatchGetItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_batch_get_item_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_batch_get_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::BatchGetItem::new(), @@ -264,7 +245,6 @@ impl BatchGetItemInput { "BatchGetItem", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -274,7 +254,6 @@ impl BatchGetItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -408,46 +387,37 @@ impl BatchWriteItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_batch_write_item_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_batch_write_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::BatchWriteItem::new(), @@ -456,7 +426,6 @@ impl BatchWriteItemInput { "BatchWriteItem", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -466,7 +435,6 @@ impl BatchWriteItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -541,46 +509,38 @@ impl CreateBackupInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_backup_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_backup(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateBackup::new(), @@ -589,7 +549,6 @@ impl CreateBackupInput { "CreateBackup", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -599,7 +558,6 @@ impl CreateBackupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -682,47 +640,38 @@ impl CreateGlobalTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_global_table_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_global_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateGlobalTable::new(), @@ -731,7 +680,6 @@ impl CreateGlobalTableInput { "CreateGlobalTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -741,7 +689,6 @@ impl CreateGlobalTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1001,46 +948,38 @@ impl CreateTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_table_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateTable::new(), @@ -1049,7 +988,6 @@ impl CreateTableInput { "CreateTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1059,7 +997,6 @@ impl CreateTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1123,46 +1060,38 @@ impl DeleteBackupInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_backup_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_backup(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBackup::new(), @@ -1171,7 +1100,6 @@ impl DeleteBackupInput { "DeleteBackup", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1181,7 +1109,6 @@ impl DeleteBackupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1474,46 +1401,38 @@ impl DeleteItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_item_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteItem::new(), @@ -1522,7 +1441,6 @@ impl DeleteItemInput { "DeleteItem", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1532,7 +1450,6 @@ impl DeleteItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1596,46 +1513,38 @@ impl DeleteTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_table_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteTable::new(), @@ -1644,7 +1553,6 @@ impl DeleteTableInput { "DeleteTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1654,7 +1562,6 @@ impl DeleteTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1718,46 +1625,37 @@ impl DescribeBackupInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_backup_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_backup(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeBackup::new(), @@ -1766,7 +1664,6 @@ impl DescribeBackupInput { "DescribeBackup", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1776,7 +1673,6 @@ impl DescribeBackupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1841,49 +1737,38 @@ impl DescribeContinuousBackupsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_continuous_backups_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_continuous_backups(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeContinuousBackups::new(), @@ -1892,7 +1777,6 @@ impl DescribeContinuousBackupsInput { "DescribeContinuousBackups", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1902,7 +1786,6 @@ impl DescribeContinuousBackupsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -1984,48 +1867,38 @@ impl DescribeContributorInsightsInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_describe_contributor_insights_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_describe_contributor_insights(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeContributorInsights::new(), @@ -2034,7 +1907,6 @@ impl DescribeContributorInsightsInput { "DescribeContributorInsights", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2044,7 +1916,6 @@ impl DescribeContributorInsightsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2101,41 +1972,33 @@ impl DescribeEndpointsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeEndpoints::new(), @@ -2144,7 +2007,6 @@ impl DescribeEndpointsInput { "DescribeEndpoints", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2154,7 +2016,6 @@ impl DescribeEndpointsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2218,46 +2079,37 @@ impl DescribeExportInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_export_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_export(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeExport::new(), @@ -2266,7 +2118,6 @@ impl DescribeExportInput { "DescribeExport", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2276,7 +2127,6 @@ impl DescribeExportInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2344,47 +2194,38 @@ impl DescribeGlobalTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_global_table_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_describe_global_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeGlobalTable::new(), @@ -2393,7 +2234,6 @@ impl DescribeGlobalTableInput { "DescribeGlobalTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2403,7 +2243,6 @@ impl DescribeGlobalTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2473,45 +2312,39 @@ impl DescribeGlobalTableSettingsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_global_table_settings_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_global_table_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeGlobalTableSettings::new(), @@ -2520,7 +2353,6 @@ impl DescribeGlobalTableSettingsInput { "DescribeGlobalTableSettings", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2530,7 +2362,6 @@ impl DescribeGlobalTableSettingsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2600,45 +2431,41 @@ impl DescribeKinesisStreamingDestinationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_kinesis_streaming_destination_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_kinesis_streaming_destination( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeKinesisStreamingDestination::new(), @@ -2647,7 +2474,6 @@ impl DescribeKinesisStreamingDestinationInput { "DescribeKinesisStreamingDestination", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2657,7 +2483,6 @@ impl DescribeKinesisStreamingDestinationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2713,41 +2538,33 @@ impl DescribeLimitsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeLimits::new(), @@ -2756,7 +2573,6 @@ impl DescribeLimitsInput { "DescribeLimits", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2766,7 +2582,6 @@ impl DescribeLimitsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2830,46 +2645,38 @@ impl DescribeTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_table_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_describe_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeTable::new(), @@ -2878,7 +2685,6 @@ impl DescribeTableInput { "DescribeTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2888,7 +2694,6 @@ impl DescribeTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -2955,45 +2760,41 @@ impl DescribeTableReplicaAutoScalingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_table_replica_auto_scaling_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_table_replica_auto_scaling( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeTableReplicaAutoScaling::new(), @@ -3002,7 +2803,6 @@ impl DescribeTableReplicaAutoScalingInput { "DescribeTableReplicaAutoScaling", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3012,7 +2812,6 @@ impl DescribeTableReplicaAutoScalingInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -3080,47 +2879,38 @@ impl DescribeTimeToLiveInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_time_to_live_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_describe_time_to_live(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeTimeToLive::new(), @@ -3129,7 +2919,6 @@ impl DescribeTimeToLiveInput { "DescribeTimeToLive", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3139,7 +2928,6 @@ impl DescribeTimeToLiveInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -3217,45 +3005,41 @@ impl DisableKinesisStreamingDestinationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_disable_kinesis_streaming_destination_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_disable_kinesis_streaming_destination( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DisableKinesisStreamingDestination::new(), @@ -3264,7 +3048,6 @@ impl DisableKinesisStreamingDestinationInput { "DisableKinesisStreamingDestination", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3274,7 +3057,6 @@ impl DisableKinesisStreamingDestinationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -3355,45 +3137,41 @@ impl EnableKinesisStreamingDestinationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_enable_kinesis_streaming_destination_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_enable_kinesis_streaming_destination( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::EnableKinesisStreamingDestination::new(), @@ -3402,7 +3180,6 @@ impl EnableKinesisStreamingDestinationInput { "EnableKinesisStreamingDestination", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3412,7 +3189,6 @@ impl EnableKinesisStreamingDestinationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -3523,47 +3299,37 @@ impl ExecuteStatementInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_execute_statement_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_execute_statement(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ExecuteStatement::new(), @@ -3572,7 +3338,6 @@ impl ExecuteStatementInput { "ExecuteStatement", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3582,7 +3347,6 @@ impl ExecuteStatementInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -3673,49 +3437,39 @@ impl ExecuteTransactionInput { 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_execute_transaction_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_execute_transaction(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ExecuteTransaction::new(), @@ -3724,7 +3478,6 @@ impl ExecuteTransactionInput { "ExecuteTransaction", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3734,7 +3487,6 @@ impl ExecuteTransactionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -3925,51 +3677,40 @@ impl ExportTableToPointInTimeInput { 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_export_table_to_point_in_time_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_export_table_to_point_in_time(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ExportTableToPointInTime::new(), @@ -3978,7 +3719,6 @@ impl ExportTableToPointInTimeInput { "ExportTableToPointInTime", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3988,7 +3728,6 @@ impl ExportTableToPointInTimeInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -4172,50 +3911,41 @@ impl GetItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_item_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetItem::new()) .with_metadata(smithy_http::operation::Metadata::new("GetItem", "dynamodb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4225,7 +3955,6 @@ impl GetItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -4376,46 +4105,38 @@ impl ListBackupsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_backups_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_backups(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListBackups::new(), @@ -4424,7 +4145,6 @@ impl ListBackupsInput { "ListBackups", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4434,7 +4154,6 @@ impl ListBackupsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -4521,49 +4240,38 @@ impl ListContributorInsightsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_contributor_insights_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_list_contributor_insights(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListContributorInsights::new(), @@ -4572,7 +4280,6 @@ impl ListContributorInsightsInput { "ListContributorInsights", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4582,7 +4289,6 @@ impl ListContributorInsightsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -4670,46 +4376,38 @@ impl ListExportsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_exports_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_exports(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListExports::new(), @@ -4718,7 +4416,6 @@ impl ListExportsInput { "ListExports", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4728,7 +4425,6 @@ impl ListExportsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -4823,47 +4519,38 @@ impl ListGlobalTablesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_global_tables_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_global_tables(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListGlobalTables::new(), @@ -4872,7 +4559,6 @@ impl ListGlobalTablesInput { "ListGlobalTables", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4882,7 +4568,6 @@ impl ListGlobalTablesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -4962,46 +4647,38 @@ impl ListTablesInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_tables_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_tables(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListTables::new(), @@ -5010,7 +4687,6 @@ impl ListTablesInput { "ListTables", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5020,7 +4696,6 @@ impl ListTablesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -5097,47 +4772,38 @@ impl ListTagsOfResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_tags_of_resource_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_list_tags_of_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListTagsOfResource::new(), @@ -5146,7 +4812,6 @@ impl ListTagsOfResourceInput { "ListTagsOfResource", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5156,7 +4821,6 @@ impl ListTagsOfResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -5447,50 +5111,41 @@ impl PutItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_item_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::PutItem::new()) .with_metadata(smithy_http::operation::Metadata::new("PutItem", "dynamodb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5500,7 +5155,6 @@ impl PutItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -6019,49 +5673,40 @@ impl QueryInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_query_input_body(&self).map_err( - |err| smithy_http::operation::BuildError::SerializationError(err.into()), - )?; + let body = crate::operation_ser::serialize_operation_query(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Query::new()) .with_metadata(smithy_http::operation::Metadata::new("Query", "dynamodb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6071,7 +5716,6 @@ impl QueryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -6234,49 +5878,38 @@ impl RestoreTableFromBackupInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_restore_table_from_backup_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_restore_table_from_backup(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RestoreTableFromBackup::new(), @@ -6285,7 +5918,6 @@ impl RestoreTableFromBackupInput { "RestoreTableFromBackup", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6295,7 +5927,6 @@ impl RestoreTableFromBackupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -6502,45 +6133,39 @@ impl RestoreTableToPointInTimeInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_restore_table_to_point_in_time_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_restore_table_to_point_in_time(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RestoreTableToPointInTime::new(), @@ -6549,7 +6174,6 @@ impl RestoreTableToPointInTimeInput { "RestoreTableToPointInTime", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6559,7 +6183,6 @@ impl RestoreTableToPointInTimeInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -6976,48 +6599,39 @@ impl ScanInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_scan_input_body(&self).map_err( - |err| smithy_http::operation::BuildError::SerializationError(err.into()), - )?; + let body = crate::operation_ser::serialize_operation_scan(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Scan::new()) .with_metadata(smithy_http::operation::Metadata::new("Scan", "dynamodb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7027,7 +6641,6 @@ impl ScanInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -7106,46 +6719,38 @@ impl TagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_tag_resource_input_body(&self) - .map_err(|err| { + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TagResource::new(), @@ -7154,7 +6759,6 @@ impl TagResourceInput { "TagResource", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7164,7 +6768,6 @@ impl TagResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -7254,47 +6857,38 @@ impl TransactGetItemsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_transact_get_items_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_transact_get_items(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TransactGetItems::new(), @@ -7303,7 +6897,6 @@ impl TransactGetItemsInput { "TransactGetItems", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7313,7 +6906,6 @@ impl TransactGetItemsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -7469,49 +7061,39 @@ impl TransactWriteItemsInput { 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_transact_write_items_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_transact_write_items(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TransactWriteItems::new(), @@ -7520,7 +7102,6 @@ impl TransactWriteItemsInput { "TransactWriteItems", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7530,7 +7111,6 @@ impl TransactWriteItemsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -7610,46 +7190,38 @@ impl UntagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_untag_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UntagResource::new(), @@ -7658,7 +7230,6 @@ impl UntagResourceInput { "UntagResource", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7668,7 +7239,6 @@ impl UntagResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -7751,49 +7321,38 @@ impl UpdateContinuousBackupsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_continuous_backups_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_continuous_backups(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateContinuousBackups::new(), @@ -7802,7 +7361,6 @@ impl UpdateContinuousBackupsInput { "UpdateContinuousBackups", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7812,7 +7370,6 @@ impl UpdateContinuousBackupsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -7906,49 +7463,38 @@ impl UpdateContributorInsightsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_contributor_insights_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_contributor_insights(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateContributorInsights::new(), @@ -7957,7 +7503,6 @@ impl UpdateContributorInsightsInput { "UpdateContributorInsights", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7967,7 +7512,6 @@ impl UpdateContributorInsightsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -8053,47 +7597,38 @@ impl UpdateGlobalTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_global_table_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_global_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateGlobalTable::new(), @@ -8102,7 +7637,6 @@ impl UpdateGlobalTableInput { "UpdateGlobalTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8112,7 +7646,6 @@ impl UpdateGlobalTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -8286,48 +7819,38 @@ impl UpdateGlobalTableSettingsInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_update_global_table_settings_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_update_global_table_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateGlobalTableSettings::new(), @@ -8336,7 +7859,6 @@ impl UpdateGlobalTableSettingsInput { "UpdateGlobalTableSettings", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8346,7 +7868,6 @@ impl UpdateGlobalTableSettingsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -8777,46 +8298,38 @@ impl UpdateItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_item_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateItem::new(), @@ -8825,7 +8338,6 @@ impl UpdateItemInput { "UpdateItem", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8835,7 +8347,6 @@ impl UpdateItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -9031,46 +8542,38 @@ impl UpdateTableInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_table_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_table(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateTable::new(), @@ -9079,7 +8582,6 @@ impl UpdateTableInput { "UpdateTable", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9089,7 +8591,6 @@ impl UpdateTableInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -9216,45 +8717,39 @@ impl UpdateTableReplicaAutoScalingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_table_replica_auto_scaling_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_update_table_replica_auto_scaling(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateTableReplicaAutoScaling::new(), @@ -9263,7 +8758,6 @@ impl UpdateTableReplicaAutoScalingInput { "UpdateTableReplicaAutoScaling", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9273,7 +8767,6 @@ impl UpdateTableReplicaAutoScalingInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") @@ -9359,47 +8852,38 @@ impl UpdateTimeToLiveInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_time_to_live_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_time_to_live(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateTimeToLive::new(), @@ -9408,7 +8892,6 @@ impl UpdateTimeToLiveInput { "UpdateTimeToLive", "dynamodb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9418,7 +8901,6 @@ impl UpdateTimeToLiveInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") diff --git a/sdk/dynamodb/src/json_deser.rs b/sdk/dynamodb/src/json_deser.rs index 26f8955988f9..fb3c970cb75f 100644 --- a/sdk/dynamodb/src/json_deser.rs +++ b/sdk/dynamodb/src/json_deser.rs @@ -11,7 +11,6 @@ pub fn batch_execute_statement_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_responses(parsed_body.responses); Ok(builder) } @@ -28,7 +27,6 @@ pub fn batch_get_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_responses(parsed_body.responses); builder = builder.set_unprocessed_keys(parsed_body.unprocessed_keys); builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); @@ -47,7 +45,6 @@ pub fn batch_write_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_unprocessed_items(parsed_body.unprocessed_items); builder = builder.set_item_collection_metrics(parsed_body.item_collection_metrics); builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); @@ -66,7 +63,6 @@ pub fn create_backup_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_backup_details(parsed_body.backup_details); Ok(builder) } @@ -83,7 +79,6 @@ pub fn create_global_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_global_table_description(parsed_body.global_table_description); Ok(builder) } @@ -100,7 +95,6 @@ pub fn create_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_description(parsed_body.table_description); Ok(builder) } @@ -117,7 +111,6 @@ pub fn delete_backup_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_backup_description(parsed_body.backup_description); Ok(builder) } @@ -134,7 +127,6 @@ pub fn delete_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_attributes(parsed_body.attributes); builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); builder = builder.set_item_collection_metrics(parsed_body.item_collection_metrics); @@ -153,7 +145,6 @@ pub fn delete_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_description(parsed_body.table_description); Ok(builder) } @@ -170,7 +161,6 @@ pub fn describe_backup_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_backup_description(parsed_body.backup_description); Ok(builder) } @@ -187,7 +177,6 @@ pub fn describe_continuous_backups_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_continuous_backups_description(parsed_body.continuous_backups_description); Ok(builder) @@ -205,7 +194,6 @@ pub fn describe_contributor_insights_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_name(parsed_body.table_name); builder = builder.set_index_name(parsed_body.index_name); builder = @@ -228,7 +216,6 @@ pub fn describe_endpoints_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_endpoints(parsed_body.endpoints); Ok(builder) } @@ -245,7 +232,6 @@ pub fn describe_export_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_export_description(parsed_body.export_description); Ok(builder) } @@ -262,7 +248,6 @@ pub fn describe_global_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_global_table_description(parsed_body.global_table_description); Ok(builder) } @@ -279,7 +264,6 @@ pub fn describe_global_table_settings_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_global_table_name(parsed_body.global_table_name); builder = builder.set_replica_settings(parsed_body.replica_settings); Ok(builder) @@ -299,7 +283,6 @@ pub fn describe_kinesis_streaming_destination_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_name(parsed_body.table_name); builder = builder.set_kinesis_data_stream_destinations(parsed_body.kinesis_data_stream_destinations); @@ -318,7 +301,6 @@ pub fn describe_limits_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_account_max_read_capacity_units(parsed_body.account_max_read_capacity_units); builder = @@ -341,7 +323,6 @@ pub fn describe_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table(parsed_body.table); Ok(builder) } @@ -359,7 +340,6 @@ pub fn describe_table_replica_auto_scaling_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_auto_scaling_description(parsed_body.table_auto_scaling_description); Ok(builder) @@ -377,7 +357,6 @@ pub fn describe_time_to_live_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_time_to_live_description(parsed_body.time_to_live_description); Ok(builder) } @@ -396,7 +375,6 @@ pub fn disable_kinesis_streaming_destination_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_name(parsed_body.table_name); builder = builder.set_stream_arn(parsed_body.stream_arn); builder = builder.set_destination_status(parsed_body.destination_status); @@ -417,7 +395,6 @@ pub fn enable_kinesis_streaming_destination_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_name(parsed_body.table_name); builder = builder.set_stream_arn(parsed_body.stream_arn); builder = builder.set_destination_status(parsed_body.destination_status); @@ -436,7 +413,6 @@ pub fn execute_statement_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -454,7 +430,6 @@ pub fn execute_transaction_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_responses(parsed_body.responses); Ok(builder) } @@ -471,7 +446,6 @@ pub fn export_table_to_point_in_time_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_export_description(parsed_body.export_description); Ok(builder) } @@ -488,7 +462,6 @@ pub fn get_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_item(parsed_body.item); builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); Ok(builder) @@ -506,7 +479,6 @@ pub fn list_backups_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_backup_summaries(parsed_body.backup_summaries); builder = builder.set_last_evaluated_backup_arn(parsed_body.last_evaluated_backup_arn); Ok(builder) @@ -524,7 +496,6 @@ pub fn list_contributor_insights_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_contributor_insights_summaries(parsed_body.contributor_insights_summaries); builder = builder.set_next_token(parsed_body.next_token); @@ -543,7 +514,6 @@ pub fn list_exports_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_export_summaries(parsed_body.export_summaries); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -561,7 +531,6 @@ pub fn list_global_tables_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_global_tables(parsed_body.global_tables); builder = builder.set_last_evaluated_global_table_name(parsed_body.last_evaluated_global_table_name); @@ -580,7 +549,6 @@ pub fn list_tables_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_names(parsed_body.table_names); builder = builder.set_last_evaluated_table_name(parsed_body.last_evaluated_table_name); Ok(builder) @@ -598,7 +566,6 @@ pub fn list_tags_of_resource_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tags(parsed_body.tags); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -616,7 +583,6 @@ pub fn put_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_attributes(parsed_body.attributes); builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); builder = builder.set_item_collection_metrics(parsed_body.item_collection_metrics); @@ -635,7 +601,6 @@ pub fn query_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_count(parsed_body.count); builder = builder.set_scanned_count(parsed_body.scanned_count); @@ -656,7 +621,6 @@ pub fn restore_table_from_backup_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_description(parsed_body.table_description); Ok(builder) } @@ -673,7 +637,6 @@ pub fn restore_table_to_point_in_time_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_description(parsed_body.table_description); Ok(builder) } @@ -690,7 +653,6 @@ pub fn scan_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_items(parsed_body.items); builder = builder.set_count(parsed_body.count); builder = builder.set_scanned_count(parsed_body.scanned_count); @@ -711,7 +673,6 @@ pub fn transact_get_items_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); builder = builder.set_responses(parsed_body.responses); Ok(builder) @@ -729,7 +690,6 @@ pub fn transact_write_items_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); builder = builder.set_item_collection_metrics(parsed_body.item_collection_metrics); Ok(builder) @@ -747,7 +707,6 @@ pub fn update_continuous_backups_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_continuous_backups_description(parsed_body.continuous_backups_description); Ok(builder) @@ -765,7 +724,6 @@ pub fn update_contributor_insights_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_name(parsed_body.table_name); builder = builder.set_index_name(parsed_body.index_name); builder = builder.set_contributor_insights_status(parsed_body.contributor_insights_status); @@ -784,7 +742,6 @@ pub fn update_global_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_global_table_description(parsed_body.global_table_description); Ok(builder) } @@ -801,7 +758,6 @@ pub fn update_global_table_settings_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_global_table_name(parsed_body.global_table_name); builder = builder.set_replica_settings(parsed_body.replica_settings); Ok(builder) @@ -819,7 +775,6 @@ pub fn update_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_attributes(parsed_body.attributes); builder = builder.set_consumed_capacity(parsed_body.consumed_capacity); builder = builder.set_item_collection_metrics(parsed_body.item_collection_metrics); @@ -838,7 +793,6 @@ pub fn update_table_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_description(parsed_body.table_description); Ok(builder) } @@ -856,7 +810,6 @@ pub fn update_table_replica_auto_scaling_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_table_auto_scaling_description(parsed_body.table_auto_scaling_description); Ok(builder) @@ -874,7 +827,6 @@ pub fn update_time_to_live_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_time_to_live_specification(parsed_body.time_to_live_specification); Ok(builder) } diff --git a/sdk/dynamodb/src/json_ser.rs b/sdk/dynamodb/src/json_ser.rs new file mode 100644 index 000000000000..6c8a468b400d --- /dev/null +++ b/sdk/dynamodb/src/json_ser.rs @@ -0,0 +1,2435 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_batch_execute_statement_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::BatchExecuteStatementInput, +) { + if let Some(var_1) = &input.statements { + let mut array_2 = object.key("Statements").start_array(); + for item_3 in var_1 { + let mut object_4 = array_2.value().start_object(); + crate::json_ser::serialize_structure_batch_statement_request(&mut object_4, item_3); + object_4.finish(); + } + array_2.finish(); + } +} + +pub fn serialize_structure_batch_get_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::BatchGetItemInput, +) { + if let Some(var_5) = &input.request_items { + let mut object_6 = object.key("RequestItems").start_object(); + for (key_7, value_8) in var_5 { + let mut object_9 = object_6.key(key_7).start_object(); + crate::json_ser::serialize_structure_keys_and_attributes(&mut object_9, value_8); + object_9.finish(); + } + object_6.finish(); + } + if let Some(var_10) = &input.return_consumed_capacity { + object.key("ReturnConsumedCapacity").string(var_10.as_str()); + } +} + +pub fn serialize_structure_batch_write_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::BatchWriteItemInput, +) { + if let Some(var_11) = &input.request_items { + let mut object_12 = object.key("RequestItems").start_object(); + for (key_13, value_14) in var_11 { + let mut array_15 = object_12.key(key_13).start_array(); + for item_16 in value_14 { + let mut object_17 = array_15.value().start_object(); + crate::json_ser::serialize_structure_write_request(&mut object_17, item_16); + object_17.finish(); + } + array_15.finish(); + } + object_12.finish(); + } + if let Some(var_18) = &input.return_consumed_capacity { + object.key("ReturnConsumedCapacity").string(var_18.as_str()); + } + if let Some(var_19) = &input.return_item_collection_metrics { + object + .key("ReturnItemCollectionMetrics") + .string(var_19.as_str()); + } +} + +pub fn serialize_structure_create_backup_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateBackupInput, +) { + if let Some(var_20) = &input.table_name { + object.key("TableName").string(var_20); + } + if let Some(var_21) = &input.backup_name { + object.key("BackupName").string(var_21); + } +} + +pub fn serialize_structure_create_global_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateGlobalTableInput, +) { + if let Some(var_22) = &input.global_table_name { + object.key("GlobalTableName").string(var_22); + } + if let Some(var_23) = &input.replication_group { + let mut array_24 = object.key("ReplicationGroup").start_array(); + for item_25 in var_23 { + let mut object_26 = array_24.value().start_object(); + crate::json_ser::serialize_structure_replica(&mut object_26, item_25); + object_26.finish(); + } + array_24.finish(); + } +} + +pub fn serialize_structure_create_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateTableInput, +) { + if let Some(var_27) = &input.attribute_definitions { + let mut array_28 = object.key("AttributeDefinitions").start_array(); + for item_29 in var_27 { + let mut object_30 = array_28.value().start_object(); + crate::json_ser::serialize_structure_attribute_definition(&mut object_30, item_29); + object_30.finish(); + } + array_28.finish(); + } + if let Some(var_31) = &input.table_name { + object.key("TableName").string(var_31); + } + if let Some(var_32) = &input.key_schema { + let mut array_33 = object.key("KeySchema").start_array(); + for item_34 in var_32 { + let mut object_35 = array_33.value().start_object(); + crate::json_ser::serialize_structure_key_schema_element(&mut object_35, item_34); + object_35.finish(); + } + array_33.finish(); + } + if let Some(var_36) = &input.local_secondary_indexes { + let mut array_37 = object.key("LocalSecondaryIndexes").start_array(); + for item_38 in var_36 { + let mut object_39 = array_37.value().start_object(); + crate::json_ser::serialize_structure_local_secondary_index(&mut object_39, item_38); + object_39.finish(); + } + array_37.finish(); + } + if let Some(var_40) = &input.global_secondary_indexes { + let mut array_41 = object.key("GlobalSecondaryIndexes").start_array(); + for item_42 in var_40 { + let mut object_43 = array_41.value().start_object(); + crate::json_ser::serialize_structure_global_secondary_index(&mut object_43, item_42); + object_43.finish(); + } + array_41.finish(); + } + if let Some(var_44) = &input.billing_mode { + object.key("BillingMode").string(var_44.as_str()); + } + if let Some(var_45) = &input.provisioned_throughput { + let mut object_46 = object.key("ProvisionedThroughput").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_46, var_45); + object_46.finish(); + } + if let Some(var_47) = &input.stream_specification { + let mut object_48 = object.key("StreamSpecification").start_object(); + crate::json_ser::serialize_structure_stream_specification(&mut object_48, var_47); + object_48.finish(); + } + if let Some(var_49) = &input.sse_specification { + let mut object_50 = object.key("SSESpecification").start_object(); + crate::json_ser::serialize_structure_sse_specification(&mut object_50, var_49); + object_50.finish(); + } + if let Some(var_51) = &input.tags { + let mut array_52 = object.key("Tags").start_array(); + for item_53 in var_51 { + let mut object_54 = array_52.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_54, item_53); + object_54.finish(); + } + array_52.finish(); + } +} + +pub fn serialize_structure_delete_backup_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteBackupInput, +) { + if let Some(var_55) = &input.backup_arn { + object.key("BackupArn").string(var_55); + } +} + +pub fn serialize_structure_delete_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteItemInput, +) { + if let Some(var_56) = &input.table_name { + object.key("TableName").string(var_56); + } + if let Some(var_57) = &input.key { + let mut object_58 = object.key("Key").start_object(); + for (key_59, value_60) in var_57 { + let mut object_61 = object_58.key(key_59).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_61, value_60); + object_61.finish(); + } + object_58.finish(); + } + if let Some(var_62) = &input.expected { + let mut object_63 = object.key("Expected").start_object(); + for (key_64, value_65) in var_62 { + let mut object_66 = object_63.key(key_64).start_object(); + crate::json_ser::serialize_structure_expected_attribute_value(&mut object_66, value_65); + object_66.finish(); + } + object_63.finish(); + } + if let Some(var_67) = &input.conditional_operator { + object.key("ConditionalOperator").string(var_67.as_str()); + } + if let Some(var_68) = &input.return_values { + object.key("ReturnValues").string(var_68.as_str()); + } + if let Some(var_69) = &input.return_consumed_capacity { + object.key("ReturnConsumedCapacity").string(var_69.as_str()); + } + if let Some(var_70) = &input.return_item_collection_metrics { + object + .key("ReturnItemCollectionMetrics") + .string(var_70.as_str()); + } + if let Some(var_71) = &input.condition_expression { + object.key("ConditionExpression").string(var_71); + } + if let Some(var_72) = &input.expression_attribute_names { + let mut object_73 = object.key("ExpressionAttributeNames").start_object(); + for (key_74, value_75) in var_72 { + object_73.key(key_74).string(value_75); + } + object_73.finish(); + } + if let Some(var_76) = &input.expression_attribute_values { + let mut object_77 = object.key("ExpressionAttributeValues").start_object(); + for (key_78, value_79) in var_76 { + let mut object_80 = object_77.key(key_78).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_80, value_79); + object_80.finish(); + } + object_77.finish(); + } +} + +pub fn serialize_structure_delete_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteTableInput, +) { + if let Some(var_81) = &input.table_name { + object.key("TableName").string(var_81); + } +} + +pub fn serialize_structure_describe_backup_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeBackupInput, +) { + if let Some(var_82) = &input.backup_arn { + object.key("BackupArn").string(var_82); + } +} + +pub fn serialize_structure_describe_continuous_backups_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeContinuousBackupsInput, +) { + if let Some(var_83) = &input.table_name { + object.key("TableName").string(var_83); + } +} + +pub fn serialize_structure_describe_contributor_insights_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeContributorInsightsInput, +) { + if let Some(var_84) = &input.table_name { + object.key("TableName").string(var_84); + } + if let Some(var_85) = &input.index_name { + object.key("IndexName").string(var_85); + } +} + +pub fn serialize_structure_describe_export_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeExportInput, +) { + if let Some(var_86) = &input.export_arn { + object.key("ExportArn").string(var_86); + } +} + +pub fn serialize_structure_describe_global_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeGlobalTableInput, +) { + if let Some(var_87) = &input.global_table_name { + object.key("GlobalTableName").string(var_87); + } +} + +pub fn serialize_structure_describe_global_table_settings_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeGlobalTableSettingsInput, +) { + if let Some(var_88) = &input.global_table_name { + object.key("GlobalTableName").string(var_88); + } +} + +pub fn serialize_structure_describe_kinesis_streaming_destination_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeKinesisStreamingDestinationInput, +) { + if let Some(var_89) = &input.table_name { + object.key("TableName").string(var_89); + } +} + +pub fn serialize_structure_describe_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeTableInput, +) { + if let Some(var_90) = &input.table_name { + object.key("TableName").string(var_90); + } +} + +pub fn serialize_structure_describe_table_replica_auto_scaling_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeTableReplicaAutoScalingInput, +) { + if let Some(var_91) = &input.table_name { + object.key("TableName").string(var_91); + } +} + +pub fn serialize_structure_describe_time_to_live_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeTimeToLiveInput, +) { + if let Some(var_92) = &input.table_name { + object.key("TableName").string(var_92); + } +} + +pub fn serialize_structure_disable_kinesis_streaming_destination_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DisableKinesisStreamingDestinationInput, +) { + if let Some(var_93) = &input.table_name { + object.key("TableName").string(var_93); + } + if let Some(var_94) = &input.stream_arn { + object.key("StreamArn").string(var_94); + } +} + +pub fn serialize_structure_enable_kinesis_streaming_destination_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::EnableKinesisStreamingDestinationInput, +) { + if let Some(var_95) = &input.table_name { + object.key("TableName").string(var_95); + } + if let Some(var_96) = &input.stream_arn { + object.key("StreamArn").string(var_96); + } +} + +pub fn serialize_structure_execute_statement_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ExecuteStatementInput, +) { + if let Some(var_97) = &input.statement { + object.key("Statement").string(var_97); + } + if let Some(var_98) = &input.parameters { + let mut array_99 = object.key("Parameters").start_array(); + for item_100 in var_98 { + let mut object_101 = array_99.value().start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_101, item_100); + object_101.finish(); + } + array_99.finish(); + } + if let Some(var_102) = &input.consistent_read { + object.key("ConsistentRead").boolean(*var_102); + } + if let Some(var_103) = &input.next_token { + object.key("NextToken").string(var_103); + } +} + +pub fn serialize_structure_execute_transaction_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ExecuteTransactionInput, +) { + if let Some(var_104) = &input.transact_statements { + let mut array_105 = object.key("TransactStatements").start_array(); + for item_106 in var_104 { + let mut object_107 = array_105.value().start_object(); + crate::json_ser::serialize_structure_parameterized_statement(&mut object_107, item_106); + object_107.finish(); + } + array_105.finish(); + } + if let Some(var_108) = &input.client_request_token { + object.key("ClientRequestToken").string(var_108); + } +} + +pub fn serialize_structure_export_table_to_point_in_time_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ExportTableToPointInTimeInput, +) { + if let Some(var_109) = &input.table_arn { + object.key("TableArn").string(var_109); + } + if let Some(var_110) = &input.export_time { + object + .key("ExportTime") + .instant(var_110, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_111) = &input.client_token { + object.key("ClientToken").string(var_111); + } + if let Some(var_112) = &input.s3_bucket { + object.key("S3Bucket").string(var_112); + } + if let Some(var_113) = &input.s3_bucket_owner { + object.key("S3BucketOwner").string(var_113); + } + if let Some(var_114) = &input.s3_prefix { + object.key("S3Prefix").string(var_114); + } + if let Some(var_115) = &input.s3_sse_algorithm { + object.key("S3SseAlgorithm").string(var_115.as_str()); + } + if let Some(var_116) = &input.s3_sse_kms_key_id { + object.key("S3SseKmsKeyId").string(var_116); + } + if let Some(var_117) = &input.export_format { + object.key("ExportFormat").string(var_117.as_str()); + } +} + +pub fn serialize_structure_get_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetItemInput, +) { + if let Some(var_118) = &input.table_name { + object.key("TableName").string(var_118); + } + if let Some(var_119) = &input.key { + let mut object_120 = object.key("Key").start_object(); + for (key_121, value_122) in var_119 { + let mut object_123 = object_120.key(key_121).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_123, value_122); + object_123.finish(); + } + object_120.finish(); + } + if let Some(var_124) = &input.attributes_to_get { + let mut array_125 = object.key("AttributesToGet").start_array(); + for item_126 in var_124 { + array_125.value().string(item_126); + } + array_125.finish(); + } + if let Some(var_127) = &input.consistent_read { + object.key("ConsistentRead").boolean(*var_127); + } + if let Some(var_128) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_128.as_str()); + } + if let Some(var_129) = &input.projection_expression { + object.key("ProjectionExpression").string(var_129); + } + if let Some(var_130) = &input.expression_attribute_names { + let mut object_131 = object.key("ExpressionAttributeNames").start_object(); + for (key_132, value_133) in var_130 { + object_131.key(key_132).string(value_133); + } + object_131.finish(); + } +} + +pub fn serialize_structure_list_backups_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListBackupsInput, +) { + if let Some(var_134) = &input.table_name { + object.key("TableName").string(var_134); + } + if let Some(var_135) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_135).into()), + ); + } + if let Some(var_136) = &input.time_range_lower_bound { + object + .key("TimeRangeLowerBound") + .instant(var_136, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_137) = &input.time_range_upper_bound { + object + .key("TimeRangeUpperBound") + .instant(var_137, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_138) = &input.exclusive_start_backup_arn { + object.key("ExclusiveStartBackupArn").string(var_138); + } + if let Some(var_139) = &input.backup_type { + object.key("BackupType").string(var_139.as_str()); + } +} + +pub fn serialize_structure_list_contributor_insights_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListContributorInsightsInput, +) { + if let Some(var_140) = &input.table_name { + object.key("TableName").string(var_140); + } + if let Some(var_141) = &input.next_token { + object.key("NextToken").string(var_141); + } + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.max_results).into()), + ); +} + +pub fn serialize_structure_list_exports_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListExportsInput, +) { + if let Some(var_142) = &input.table_arn { + object.key("TableArn").string(var_142); + } + if let Some(var_143) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_143).into()), + ); + } + if let Some(var_144) = &input.next_token { + object.key("NextToken").string(var_144); + } +} + +pub fn serialize_structure_list_global_tables_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListGlobalTablesInput, +) { + if let Some(var_145) = &input.exclusive_start_global_table_name { + object.key("ExclusiveStartGlobalTableName").string(var_145); + } + if let Some(var_146) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_146).into()), + ); + } + if let Some(var_147) = &input.region_name { + object.key("RegionName").string(var_147); + } +} + +pub fn serialize_structure_list_tables_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTablesInput, +) { + if let Some(var_148) = &input.exclusive_start_table_name { + object.key("ExclusiveStartTableName").string(var_148); + } + if let Some(var_149) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_149).into()), + ); + } +} + +pub fn serialize_structure_list_tags_of_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTagsOfResourceInput, +) { + if let Some(var_150) = &input.resource_arn { + object.key("ResourceArn").string(var_150); + } + if let Some(var_151) = &input.next_token { + object.key("NextToken").string(var_151); + } +} + +pub fn serialize_structure_put_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutItemInput, +) { + if let Some(var_152) = &input.table_name { + object.key("TableName").string(var_152); + } + if let Some(var_153) = &input.item { + let mut object_154 = object.key("Item").start_object(); + for (key_155, value_156) in var_153 { + let mut object_157 = object_154.key(key_155).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_157, value_156); + object_157.finish(); + } + object_154.finish(); + } + if let Some(var_158) = &input.expected { + let mut object_159 = object.key("Expected").start_object(); + for (key_160, value_161) in var_158 { + let mut object_162 = object_159.key(key_160).start_object(); + crate::json_ser::serialize_structure_expected_attribute_value( + &mut object_162, + value_161, + ); + object_162.finish(); + } + object_159.finish(); + } + if let Some(var_163) = &input.return_values { + object.key("ReturnValues").string(var_163.as_str()); + } + if let Some(var_164) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_164.as_str()); + } + if let Some(var_165) = &input.return_item_collection_metrics { + object + .key("ReturnItemCollectionMetrics") + .string(var_165.as_str()); + } + if let Some(var_166) = &input.conditional_operator { + object.key("ConditionalOperator").string(var_166.as_str()); + } + if let Some(var_167) = &input.condition_expression { + object.key("ConditionExpression").string(var_167); + } + if let Some(var_168) = &input.expression_attribute_names { + let mut object_169 = object.key("ExpressionAttributeNames").start_object(); + for (key_170, value_171) in var_168 { + object_169.key(key_170).string(value_171); + } + object_169.finish(); + } + if let Some(var_172) = &input.expression_attribute_values { + let mut object_173 = object.key("ExpressionAttributeValues").start_object(); + for (key_174, value_175) in var_172 { + let mut object_176 = object_173.key(key_174).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_176, value_175); + object_176.finish(); + } + object_173.finish(); + } +} + +pub fn serialize_structure_query_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::QueryInput, +) { + if let Some(var_177) = &input.table_name { + object.key("TableName").string(var_177); + } + if let Some(var_178) = &input.index_name { + object.key("IndexName").string(var_178); + } + if let Some(var_179) = &input.select { + object.key("Select").string(var_179.as_str()); + } + if let Some(var_180) = &input.attributes_to_get { + let mut array_181 = object.key("AttributesToGet").start_array(); + for item_182 in var_180 { + array_181.value().string(item_182); + } + array_181.finish(); + } + if let Some(var_183) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_183).into()), + ); + } + if let Some(var_184) = &input.consistent_read { + object.key("ConsistentRead").boolean(*var_184); + } + if let Some(var_185) = &input.key_conditions { + let mut object_186 = object.key("KeyConditions").start_object(); + for (key_187, value_188) in var_185 { + let mut object_189 = object_186.key(key_187).start_object(); + crate::json_ser::serialize_structure_condition(&mut object_189, value_188); + object_189.finish(); + } + object_186.finish(); + } + if let Some(var_190) = &input.query_filter { + let mut object_191 = object.key("QueryFilter").start_object(); + for (key_192, value_193) in var_190 { + let mut object_194 = object_191.key(key_192).start_object(); + crate::json_ser::serialize_structure_condition(&mut object_194, value_193); + object_194.finish(); + } + object_191.finish(); + } + if let Some(var_195) = &input.conditional_operator { + object.key("ConditionalOperator").string(var_195.as_str()); + } + if let Some(var_196) = &input.scan_index_forward { + object.key("ScanIndexForward").boolean(*var_196); + } + if let Some(var_197) = &input.exclusive_start_key { + let mut object_198 = object.key("ExclusiveStartKey").start_object(); + for (key_199, value_200) in var_197 { + let mut object_201 = object_198.key(key_199).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_201, value_200); + object_201.finish(); + } + object_198.finish(); + } + if let Some(var_202) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_202.as_str()); + } + if let Some(var_203) = &input.projection_expression { + object.key("ProjectionExpression").string(var_203); + } + if let Some(var_204) = &input.filter_expression { + object.key("FilterExpression").string(var_204); + } + if let Some(var_205) = &input.key_condition_expression { + object.key("KeyConditionExpression").string(var_205); + } + if let Some(var_206) = &input.expression_attribute_names { + let mut object_207 = object.key("ExpressionAttributeNames").start_object(); + for (key_208, value_209) in var_206 { + object_207.key(key_208).string(value_209); + } + object_207.finish(); + } + if let Some(var_210) = &input.expression_attribute_values { + let mut object_211 = object.key("ExpressionAttributeValues").start_object(); + for (key_212, value_213) in var_210 { + let mut object_214 = object_211.key(key_212).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_214, value_213); + object_214.finish(); + } + object_211.finish(); + } +} + +pub fn serialize_structure_restore_table_from_backup_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RestoreTableFromBackupInput, +) { + if let Some(var_215) = &input.target_table_name { + object.key("TargetTableName").string(var_215); + } + if let Some(var_216) = &input.backup_arn { + object.key("BackupArn").string(var_216); + } + if let Some(var_217) = &input.billing_mode_override { + object.key("BillingModeOverride").string(var_217.as_str()); + } + if let Some(var_218) = &input.global_secondary_index_override { + let mut array_219 = object.key("GlobalSecondaryIndexOverride").start_array(); + for item_220 in var_218 { + let mut object_221 = array_219.value().start_object(); + crate::json_ser::serialize_structure_global_secondary_index(&mut object_221, item_220); + object_221.finish(); + } + array_219.finish(); + } + if let Some(var_222) = &input.local_secondary_index_override { + let mut array_223 = object.key("LocalSecondaryIndexOverride").start_array(); + for item_224 in var_222 { + let mut object_225 = array_223.value().start_object(); + crate::json_ser::serialize_structure_local_secondary_index(&mut object_225, item_224); + object_225.finish(); + } + array_223.finish(); + } + if let Some(var_226) = &input.provisioned_throughput_override { + let mut object_227 = object.key("ProvisionedThroughputOverride").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_227, var_226); + object_227.finish(); + } + if let Some(var_228) = &input.sse_specification_override { + let mut object_229 = object.key("SSESpecificationOverride").start_object(); + crate::json_ser::serialize_structure_sse_specification(&mut object_229, var_228); + object_229.finish(); + } +} + +pub fn serialize_structure_restore_table_to_point_in_time_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RestoreTableToPointInTimeInput, +) { + if let Some(var_230) = &input.source_table_arn { + object.key("SourceTableArn").string(var_230); + } + if let Some(var_231) = &input.source_table_name { + object.key("SourceTableName").string(var_231); + } + if let Some(var_232) = &input.target_table_name { + object.key("TargetTableName").string(var_232); + } + if let Some(var_233) = &input.use_latest_restorable_time { + object.key("UseLatestRestorableTime").boolean(*var_233); + } + if let Some(var_234) = &input.restore_date_time { + object + .key("RestoreDateTime") + .instant(var_234, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_235) = &input.billing_mode_override { + object.key("BillingModeOverride").string(var_235.as_str()); + } + if let Some(var_236) = &input.global_secondary_index_override { + let mut array_237 = object.key("GlobalSecondaryIndexOverride").start_array(); + for item_238 in var_236 { + let mut object_239 = array_237.value().start_object(); + crate::json_ser::serialize_structure_global_secondary_index(&mut object_239, item_238); + object_239.finish(); + } + array_237.finish(); + } + if let Some(var_240) = &input.local_secondary_index_override { + let mut array_241 = object.key("LocalSecondaryIndexOverride").start_array(); + for item_242 in var_240 { + let mut object_243 = array_241.value().start_object(); + crate::json_ser::serialize_structure_local_secondary_index(&mut object_243, item_242); + object_243.finish(); + } + array_241.finish(); + } + if let Some(var_244) = &input.provisioned_throughput_override { + let mut object_245 = object.key("ProvisionedThroughputOverride").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_245, var_244); + object_245.finish(); + } + if let Some(var_246) = &input.sse_specification_override { + let mut object_247 = object.key("SSESpecificationOverride").start_object(); + crate::json_ser::serialize_structure_sse_specification(&mut object_247, var_246); + object_247.finish(); + } +} + +pub fn serialize_structure_scan_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ScanInput, +) { + if let Some(var_248) = &input.table_name { + object.key("TableName").string(var_248); + } + if let Some(var_249) = &input.index_name { + object.key("IndexName").string(var_249); + } + if let Some(var_250) = &input.attributes_to_get { + let mut array_251 = object.key("AttributesToGet").start_array(); + for item_252 in var_250 { + array_251.value().string(item_252); + } + array_251.finish(); + } + if let Some(var_253) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_253).into()), + ); + } + if let Some(var_254) = &input.select { + object.key("Select").string(var_254.as_str()); + } + if let Some(var_255) = &input.scan_filter { + let mut object_256 = object.key("ScanFilter").start_object(); + for (key_257, value_258) in var_255 { + let mut object_259 = object_256.key(key_257).start_object(); + crate::json_ser::serialize_structure_condition(&mut object_259, value_258); + object_259.finish(); + } + object_256.finish(); + } + if let Some(var_260) = &input.conditional_operator { + object.key("ConditionalOperator").string(var_260.as_str()); + } + if let Some(var_261) = &input.exclusive_start_key { + let mut object_262 = object.key("ExclusiveStartKey").start_object(); + for (key_263, value_264) in var_261 { + let mut object_265 = object_262.key(key_263).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_265, value_264); + object_265.finish(); + } + object_262.finish(); + } + if let Some(var_266) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_266.as_str()); + } + if let Some(var_267) = &input.total_segments { + object.key("TotalSegments").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_267).into()), + ); + } + if let Some(var_268) = &input.segment { + object.key("Segment").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_268).into()), + ); + } + if let Some(var_269) = &input.projection_expression { + object.key("ProjectionExpression").string(var_269); + } + if let Some(var_270) = &input.filter_expression { + object.key("FilterExpression").string(var_270); + } + if let Some(var_271) = &input.expression_attribute_names { + let mut object_272 = object.key("ExpressionAttributeNames").start_object(); + for (key_273, value_274) in var_271 { + object_272.key(key_273).string(value_274); + } + object_272.finish(); + } + if let Some(var_275) = &input.expression_attribute_values { + let mut object_276 = object.key("ExpressionAttributeValues").start_object(); + for (key_277, value_278) in var_275 { + let mut object_279 = object_276.key(key_277).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_279, value_278); + object_279.finish(); + } + object_276.finish(); + } + if let Some(var_280) = &input.consistent_read { + object.key("ConsistentRead").boolean(*var_280); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_281) = &input.resource_arn { + object.key("ResourceArn").string(var_281); + } + if let Some(var_282) = &input.tags { + let mut array_283 = object.key("Tags").start_array(); + for item_284 in var_282 { + let mut object_285 = array_283.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_285, item_284); + object_285.finish(); + } + array_283.finish(); + } +} + +pub fn serialize_structure_transact_get_items_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TransactGetItemsInput, +) { + if let Some(var_286) = &input.transact_items { + let mut array_287 = object.key("TransactItems").start_array(); + for item_288 in var_286 { + let mut object_289 = array_287.value().start_object(); + crate::json_ser::serialize_structure_transact_get_item(&mut object_289, item_288); + object_289.finish(); + } + array_287.finish(); + } + if let Some(var_290) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_290.as_str()); + } +} + +pub fn serialize_structure_transact_write_items_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TransactWriteItemsInput, +) { + if let Some(var_291) = &input.transact_items { + let mut array_292 = object.key("TransactItems").start_array(); + for item_293 in var_291 { + let mut object_294 = array_292.value().start_object(); + crate::json_ser::serialize_structure_transact_write_item(&mut object_294, item_293); + object_294.finish(); + } + array_292.finish(); + } + if let Some(var_295) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_295.as_str()); + } + if let Some(var_296) = &input.return_item_collection_metrics { + object + .key("ReturnItemCollectionMetrics") + .string(var_296.as_str()); + } + if let Some(var_297) = &input.client_request_token { + object.key("ClientRequestToken").string(var_297); + } +} + +pub fn serialize_structure_untag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UntagResourceInput, +) { + if let Some(var_298) = &input.resource_arn { + object.key("ResourceArn").string(var_298); + } + if let Some(var_299) = &input.tag_keys { + let mut array_300 = object.key("TagKeys").start_array(); + for item_301 in var_299 { + array_300.value().string(item_301); + } + array_300.finish(); + } +} + +pub fn serialize_structure_update_continuous_backups_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateContinuousBackupsInput, +) { + if let Some(var_302) = &input.table_name { + object.key("TableName").string(var_302); + } + if let Some(var_303) = &input.point_in_time_recovery_specification { + let mut object_304 = object + .key("PointInTimeRecoverySpecification") + .start_object(); + crate::json_ser::serialize_structure_point_in_time_recovery_specification( + &mut object_304, + var_303, + ); + object_304.finish(); + } +} + +pub fn serialize_structure_update_contributor_insights_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateContributorInsightsInput, +) { + if let Some(var_305) = &input.table_name { + object.key("TableName").string(var_305); + } + if let Some(var_306) = &input.index_name { + object.key("IndexName").string(var_306); + } + if let Some(var_307) = &input.contributor_insights_action { + object + .key("ContributorInsightsAction") + .string(var_307.as_str()); + } +} + +pub fn serialize_structure_update_global_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateGlobalTableInput, +) { + if let Some(var_308) = &input.global_table_name { + object.key("GlobalTableName").string(var_308); + } + if let Some(var_309) = &input.replica_updates { + let mut array_310 = object.key("ReplicaUpdates").start_array(); + for item_311 in var_309 { + let mut object_312 = array_310.value().start_object(); + crate::json_ser::serialize_structure_replica_update(&mut object_312, item_311); + object_312.finish(); + } + array_310.finish(); + } +} + +pub fn serialize_structure_update_global_table_settings_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateGlobalTableSettingsInput, +) { + if let Some(var_313) = &input.global_table_name { + object.key("GlobalTableName").string(var_313); + } + if let Some(var_314) = &input.global_table_billing_mode { + object + .key("GlobalTableBillingMode") + .string(var_314.as_str()); + } + if let Some(var_315) = &input.global_table_provisioned_write_capacity_units { + object + .key("GlobalTableProvisionedWriteCapacityUnits") + .number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_315).into()), + ); + } + if let Some(var_316) = + &input.global_table_provisioned_write_capacity_auto_scaling_settings_update + { + let mut object_317 = object + .key("GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_317, var_316); + object_317.finish(); + } + if let Some(var_318) = &input.global_table_global_secondary_index_settings_update { + let mut array_319 = object + .key("GlobalTableGlobalSecondaryIndexSettingsUpdate") + .start_array(); + for item_320 in var_318 { + let mut object_321 = array_319.value().start_object(); + crate::json_ser::serialize_structure_global_table_global_secondary_index_settings_update(&mut object_321, item_320); + object_321.finish(); + } + array_319.finish(); + } + if let Some(var_322) = &input.replica_settings_update { + let mut array_323 = object.key("ReplicaSettingsUpdate").start_array(); + for item_324 in var_322 { + let mut object_325 = array_323.value().start_object(); + crate::json_ser::serialize_structure_replica_settings_update(&mut object_325, item_324); + object_325.finish(); + } + array_323.finish(); + } +} + +pub fn serialize_structure_update_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateItemInput, +) { + if let Some(var_326) = &input.table_name { + object.key("TableName").string(var_326); + } + if let Some(var_327) = &input.key { + let mut object_328 = object.key("Key").start_object(); + for (key_329, value_330) in var_327 { + let mut object_331 = object_328.key(key_329).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_331, value_330); + object_331.finish(); + } + object_328.finish(); + } + if let Some(var_332) = &input.attribute_updates { + let mut object_333 = object.key("AttributeUpdates").start_object(); + for (key_334, value_335) in var_332 { + let mut object_336 = object_333.key(key_334).start_object(); + crate::json_ser::serialize_structure_attribute_value_update(&mut object_336, value_335); + object_336.finish(); + } + object_333.finish(); + } + if let Some(var_337) = &input.expected { + let mut object_338 = object.key("Expected").start_object(); + for (key_339, value_340) in var_337 { + let mut object_341 = object_338.key(key_339).start_object(); + crate::json_ser::serialize_structure_expected_attribute_value( + &mut object_341, + value_340, + ); + object_341.finish(); + } + object_338.finish(); + } + if let Some(var_342) = &input.conditional_operator { + object.key("ConditionalOperator").string(var_342.as_str()); + } + if let Some(var_343) = &input.return_values { + object.key("ReturnValues").string(var_343.as_str()); + } + if let Some(var_344) = &input.return_consumed_capacity { + object + .key("ReturnConsumedCapacity") + .string(var_344.as_str()); + } + if let Some(var_345) = &input.return_item_collection_metrics { + object + .key("ReturnItemCollectionMetrics") + .string(var_345.as_str()); + } + if let Some(var_346) = &input.update_expression { + object.key("UpdateExpression").string(var_346); + } + if let Some(var_347) = &input.condition_expression { + object.key("ConditionExpression").string(var_347); + } + if let Some(var_348) = &input.expression_attribute_names { + let mut object_349 = object.key("ExpressionAttributeNames").start_object(); + for (key_350, value_351) in var_348 { + object_349.key(key_350).string(value_351); + } + object_349.finish(); + } + if let Some(var_352) = &input.expression_attribute_values { + let mut object_353 = object.key("ExpressionAttributeValues").start_object(); + for (key_354, value_355) in var_352 { + let mut object_356 = object_353.key(key_354).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_356, value_355); + object_356.finish(); + } + object_353.finish(); + } +} + +pub fn serialize_structure_update_table_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateTableInput, +) { + if let Some(var_357) = &input.attribute_definitions { + let mut array_358 = object.key("AttributeDefinitions").start_array(); + for item_359 in var_357 { + let mut object_360 = array_358.value().start_object(); + crate::json_ser::serialize_structure_attribute_definition(&mut object_360, item_359); + object_360.finish(); + } + array_358.finish(); + } + if let Some(var_361) = &input.table_name { + object.key("TableName").string(var_361); + } + if let Some(var_362) = &input.billing_mode { + object.key("BillingMode").string(var_362.as_str()); + } + if let Some(var_363) = &input.provisioned_throughput { + let mut object_364 = object.key("ProvisionedThroughput").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_364, var_363); + object_364.finish(); + } + if let Some(var_365) = &input.global_secondary_index_updates { + let mut array_366 = object.key("GlobalSecondaryIndexUpdates").start_array(); + for item_367 in var_365 { + let mut object_368 = array_366.value().start_object(); + crate::json_ser::serialize_structure_global_secondary_index_update( + &mut object_368, + item_367, + ); + object_368.finish(); + } + array_366.finish(); + } + if let Some(var_369) = &input.stream_specification { + let mut object_370 = object.key("StreamSpecification").start_object(); + crate::json_ser::serialize_structure_stream_specification(&mut object_370, var_369); + object_370.finish(); + } + if let Some(var_371) = &input.sse_specification { + let mut object_372 = object.key("SSESpecification").start_object(); + crate::json_ser::serialize_structure_sse_specification(&mut object_372, var_371); + object_372.finish(); + } + if let Some(var_373) = &input.replica_updates { + let mut array_374 = object.key("ReplicaUpdates").start_array(); + for item_375 in var_373 { + let mut object_376 = array_374.value().start_object(); + crate::json_ser::serialize_structure_replication_group_update( + &mut object_376, + item_375, + ); + object_376.finish(); + } + array_374.finish(); + } +} + +pub fn serialize_structure_update_table_replica_auto_scaling_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateTableReplicaAutoScalingInput, +) { + if let Some(var_377) = &input.global_secondary_index_updates { + let mut array_378 = object.key("GlobalSecondaryIndexUpdates").start_array(); + for item_379 in var_377 { + let mut object_380 = array_378.value().start_object(); + crate::json_ser::serialize_structure_global_secondary_index_auto_scaling_update( + &mut object_380, + item_379, + ); + object_380.finish(); + } + array_378.finish(); + } + if let Some(var_381) = &input.table_name { + object.key("TableName").string(var_381); + } + if let Some(var_382) = &input.provisioned_write_capacity_auto_scaling_update { + let mut object_383 = object + .key("ProvisionedWriteCapacityAutoScalingUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_383, var_382); + object_383.finish(); + } + if let Some(var_384) = &input.replica_updates { + let mut array_385 = object.key("ReplicaUpdates").start_array(); + for item_386 in var_384 { + let mut object_387 = array_385.value().start_object(); + crate::json_ser::serialize_structure_replica_auto_scaling_update( + &mut object_387, + item_386, + ); + object_387.finish(); + } + array_385.finish(); + } +} + +pub fn serialize_structure_update_time_to_live_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateTimeToLiveInput, +) { + if let Some(var_388) = &input.table_name { + object.key("TableName").string(var_388); + } + if let Some(var_389) = &input.time_to_live_specification { + let mut object_390 = object.key("TimeToLiveSpecification").start_object(); + crate::json_ser::serialize_structure_time_to_live_specification(&mut object_390, var_389); + object_390.finish(); + } +} + +pub fn serialize_structure_batch_statement_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::BatchStatementRequest, +) { + if let Some(var_391) = &input.statement { + object.key("Statement").string(var_391); + } + if let Some(var_392) = &input.parameters { + let mut array_393 = object.key("Parameters").start_array(); + for item_394 in var_392 { + let mut object_395 = array_393.value().start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_395, item_394); + object_395.finish(); + } + array_393.finish(); + } + if let Some(var_396) = &input.consistent_read { + object.key("ConsistentRead").boolean(*var_396); + } +} + +pub fn serialize_structure_keys_and_attributes( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::KeysAndAttributes, +) { + if let Some(var_397) = &input.keys { + let mut array_398 = object.key("Keys").start_array(); + for item_399 in var_397 { + let mut object_400 = array_398.value().start_object(); + for (key_401, value_402) in item_399 { + let mut object_403 = object_400.key(key_401).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_403, value_402); + object_403.finish(); + } + object_400.finish(); + } + array_398.finish(); + } + if let Some(var_404) = &input.attributes_to_get { + let mut array_405 = object.key("AttributesToGet").start_array(); + for item_406 in var_404 { + array_405.value().string(item_406); + } + array_405.finish(); + } + if let Some(var_407) = &input.consistent_read { + object.key("ConsistentRead").boolean(*var_407); + } + if let Some(var_408) = &input.projection_expression { + object.key("ProjectionExpression").string(var_408); + } + if let Some(var_409) = &input.expression_attribute_names { + let mut object_410 = object.key("ExpressionAttributeNames").start_object(); + for (key_411, value_412) in var_409 { + object_410.key(key_411).string(value_412); + } + object_410.finish(); + } +} + +pub fn serialize_structure_write_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::WriteRequest, +) { + if let Some(var_413) = &input.put_request { + let mut object_414 = object.key("PutRequest").start_object(); + crate::json_ser::serialize_structure_put_request(&mut object_414, var_413); + object_414.finish(); + } + if let Some(var_415) = &input.delete_request { + let mut object_416 = object.key("DeleteRequest").start_object(); + crate::json_ser::serialize_structure_delete_request(&mut object_416, var_415); + object_416.finish(); + } +} + +pub fn serialize_structure_replica( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Replica, +) { + if let Some(var_417) = &input.region_name { + object.key("RegionName").string(var_417); + } +} + +pub fn serialize_structure_attribute_definition( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AttributeDefinition, +) { + if let Some(var_418) = &input.attribute_name { + object.key("AttributeName").string(var_418); + } + if let Some(var_419) = &input.attribute_type { + object.key("AttributeType").string(var_419.as_str()); + } +} + +pub fn serialize_structure_key_schema_element( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::KeySchemaElement, +) { + if let Some(var_420) = &input.attribute_name { + object.key("AttributeName").string(var_420); + } + if let Some(var_421) = &input.key_type { + object.key("KeyType").string(var_421.as_str()); + } +} + +pub fn serialize_structure_local_secondary_index( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::LocalSecondaryIndex, +) { + if let Some(var_422) = &input.index_name { + object.key("IndexName").string(var_422); + } + if let Some(var_423) = &input.key_schema { + let mut array_424 = object.key("KeySchema").start_array(); + for item_425 in var_423 { + let mut object_426 = array_424.value().start_object(); + crate::json_ser::serialize_structure_key_schema_element(&mut object_426, item_425); + object_426.finish(); + } + array_424.finish(); + } + if let Some(var_427) = &input.projection { + let mut object_428 = object.key("Projection").start_object(); + crate::json_ser::serialize_structure_projection(&mut object_428, var_427); + object_428.finish(); + } +} + +pub fn serialize_structure_global_secondary_index( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::GlobalSecondaryIndex, +) { + if let Some(var_429) = &input.index_name { + object.key("IndexName").string(var_429); + } + if let Some(var_430) = &input.key_schema { + let mut array_431 = object.key("KeySchema").start_array(); + for item_432 in var_430 { + let mut object_433 = array_431.value().start_object(); + crate::json_ser::serialize_structure_key_schema_element(&mut object_433, item_432); + object_433.finish(); + } + array_431.finish(); + } + if let Some(var_434) = &input.projection { + let mut object_435 = object.key("Projection").start_object(); + crate::json_ser::serialize_structure_projection(&mut object_435, var_434); + object_435.finish(); + } + if let Some(var_436) = &input.provisioned_throughput { + let mut object_437 = object.key("ProvisionedThroughput").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_437, var_436); + object_437.finish(); + } +} + +pub fn serialize_structure_provisioned_throughput( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ProvisionedThroughput, +) { + if let Some(var_438) = &input.read_capacity_units { + object.key("ReadCapacityUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_438).into()), + ); + } + if let Some(var_439) = &input.write_capacity_units { + object.key("WriteCapacityUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_439).into()), + ); + } +} + +pub fn serialize_structure_stream_specification( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::StreamSpecification, +) { + if let Some(var_440) = &input.stream_enabled { + object.key("StreamEnabled").boolean(*var_440); + } + if let Some(var_441) = &input.stream_view_type { + object.key("StreamViewType").string(var_441.as_str()); + } +} + +pub fn serialize_structure_sse_specification( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::SSESpecification, +) { + if let Some(var_442) = &input.enabled { + object.key("Enabled").boolean(*var_442); + } + if let Some(var_443) = &input.sse_type { + object.key("SSEType").string(var_443.as_str()); + } + if let Some(var_444) = &input.kms_master_key_id { + object.key("KMSMasterKeyId").string(var_444); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_445) = &input.key { + object.key("Key").string(var_445); + } + if let Some(var_446) = &input.value { + object.key("Value").string(var_446); + } +} + +pub fn serialize_union_attribute_value( + object_61: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AttributeValue, +) { + match input { + crate::model::AttributeValue::S(inner) => { + object_61.key("S").string(inner); + } + crate::model::AttributeValue::N(inner) => { + object_61.key("N").string(inner); + } + crate::model::AttributeValue::B(inner) => { + object_61 + .key("B") + .string_unchecked(&smithy_http::base64::encode(inner)); + } + crate::model::AttributeValue::Ss(inner) => { + let mut array_447 = object_61.key("SS").start_array(); + for item_448 in inner { + array_447.value().string(item_448); + } + array_447.finish(); + } + crate::model::AttributeValue::Ns(inner) => { + let mut array_449 = object_61.key("NS").start_array(); + for item_450 in inner { + array_449.value().string(item_450); + } + array_449.finish(); + } + crate::model::AttributeValue::Bs(inner) => { + let mut array_451 = object_61.key("BS").start_array(); + for item_452 in inner { + array_451 + .value() + .string_unchecked(&smithy_http::base64::encode(item_452)); + } + array_451.finish(); + } + crate::model::AttributeValue::M(inner) => { + let mut object_453 = object_61.key("M").start_object(); + for (key_454, value_455) in inner { + let mut object_456 = object_453.key(key_454).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_456, value_455); + object_456.finish(); + } + object_453.finish(); + } + crate::model::AttributeValue::L(inner) => { + let mut array_457 = object_61.key("L").start_array(); + for item_458 in inner { + let mut object_459 = array_457.value().start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_459, item_458); + object_459.finish(); + } + array_457.finish(); + } + crate::model::AttributeValue::Null(inner) => { + object_61.key("NULL").boolean(*inner); + } + crate::model::AttributeValue::Bool(inner) => { + object_61.key("BOOL").boolean(*inner); + } + } +} + +pub fn serialize_structure_expected_attribute_value( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ExpectedAttributeValue, +) { + if let Some(var_460) = &input.value { + let mut object_461 = object.key("Value").start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_461, var_460); + object_461.finish(); + } + if let Some(var_462) = &input.exists { + object.key("Exists").boolean(*var_462); + } + if let Some(var_463) = &input.comparison_operator { + object.key("ComparisonOperator").string(var_463.as_str()); + } + if let Some(var_464) = &input.attribute_value_list { + let mut array_465 = object.key("AttributeValueList").start_array(); + for item_466 in var_464 { + let mut object_467 = array_465.value().start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_467, item_466); + object_467.finish(); + } + array_465.finish(); + } +} + +pub fn serialize_structure_parameterized_statement( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ParameterizedStatement, +) { + if let Some(var_468) = &input.statement { + object.key("Statement").string(var_468); + } + if let Some(var_469) = &input.parameters { + let mut array_470 = object.key("Parameters").start_array(); + for item_471 in var_469 { + let mut object_472 = array_470.value().start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_472, item_471); + object_472.finish(); + } + array_470.finish(); + } +} + +pub fn serialize_structure_condition( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Condition, +) { + if let Some(var_473) = &input.attribute_value_list { + let mut array_474 = object.key("AttributeValueList").start_array(); + for item_475 in var_473 { + let mut object_476 = array_474.value().start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_476, item_475); + object_476.finish(); + } + array_474.finish(); + } + if let Some(var_477) = &input.comparison_operator { + object.key("ComparisonOperator").string(var_477.as_str()); + } +} + +pub fn serialize_structure_transact_get_item( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TransactGetItem, +) { + if let Some(var_478) = &input.get { + let mut object_479 = object.key("Get").start_object(); + crate::json_ser::serialize_structure_get(&mut object_479, var_478); + object_479.finish(); + } +} + +pub fn serialize_structure_transact_write_item( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TransactWriteItem, +) { + if let Some(var_480) = &input.condition_check { + let mut object_481 = object.key("ConditionCheck").start_object(); + crate::json_ser::serialize_structure_condition_check(&mut object_481, var_480); + object_481.finish(); + } + if let Some(var_482) = &input.put { + let mut object_483 = object.key("Put").start_object(); + crate::json_ser::serialize_structure_put(&mut object_483, var_482); + object_483.finish(); + } + if let Some(var_484) = &input.delete { + let mut object_485 = object.key("Delete").start_object(); + crate::json_ser::serialize_structure_delete(&mut object_485, var_484); + object_485.finish(); + } + if let Some(var_486) = &input.update { + let mut object_487 = object.key("Update").start_object(); + crate::json_ser::serialize_structure_update(&mut object_487, var_486); + object_487.finish(); + } +} + +pub fn serialize_structure_point_in_time_recovery_specification( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PointInTimeRecoverySpecification, +) { + if let Some(var_488) = &input.point_in_time_recovery_enabled { + object.key("PointInTimeRecoveryEnabled").boolean(*var_488); + } +} + +pub fn serialize_structure_replica_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicaUpdate, +) { + if let Some(var_489) = &input.create { + let mut object_490 = object.key("Create").start_object(); + crate::json_ser::serialize_structure_create_replica_action(&mut object_490, var_489); + object_490.finish(); + } + if let Some(var_491) = &input.delete { + let mut object_492 = object.key("Delete").start_object(); + crate::json_ser::serialize_structure_delete_replica_action(&mut object_492, var_491); + object_492.finish(); + } +} + +pub fn serialize_structure_auto_scaling_settings_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AutoScalingSettingsUpdate, +) { + if let Some(var_493) = &input.minimum_units { + object.key("MinimumUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_493).into()), + ); + } + if let Some(var_494) = &input.maximum_units { + object.key("MaximumUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_494).into()), + ); + } + if let Some(var_495) = &input.auto_scaling_disabled { + object.key("AutoScalingDisabled").boolean(*var_495); + } + if let Some(var_496) = &input.auto_scaling_role_arn { + object.key("AutoScalingRoleArn").string(var_496); + } + if let Some(var_497) = &input.scaling_policy_update { + let mut object_498 = object.key("ScalingPolicyUpdate").start_object(); + crate::json_ser::serialize_structure_auto_scaling_policy_update(&mut object_498, var_497); + object_498.finish(); + } +} + +pub fn serialize_structure_global_table_global_secondary_index_settings_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::GlobalTableGlobalSecondaryIndexSettingsUpdate, +) { + if let Some(var_499) = &input.index_name { + object.key("IndexName").string(var_499); + } + if let Some(var_500) = &input.provisioned_write_capacity_units { + object.key("ProvisionedWriteCapacityUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_500).into()), + ); + } + if let Some(var_501) = &input.provisioned_write_capacity_auto_scaling_settings_update { + let mut object_502 = object + .key("ProvisionedWriteCapacityAutoScalingSettingsUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_502, var_501); + object_502.finish(); + } +} + +pub fn serialize_structure_replica_settings_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicaSettingsUpdate, +) { + if let Some(var_503) = &input.region_name { + object.key("RegionName").string(var_503); + } + if let Some(var_504) = &input.replica_provisioned_read_capacity_units { + object.key("ReplicaProvisionedReadCapacityUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_504).into()), + ); + } + if let Some(var_505) = &input.replica_provisioned_read_capacity_auto_scaling_settings_update { + let mut object_506 = object + .key("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_506, var_505); + object_506.finish(); + } + if let Some(var_507) = &input.replica_global_secondary_index_settings_update { + let mut array_508 = object + .key("ReplicaGlobalSecondaryIndexSettingsUpdate") + .start_array(); + for item_509 in var_507 { + let mut object_510 = array_508.value().start_object(); + crate::json_ser::serialize_structure_replica_global_secondary_index_settings_update( + &mut object_510, + item_509, + ); + object_510.finish(); + } + array_508.finish(); + } +} + +pub fn serialize_structure_attribute_value_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AttributeValueUpdate, +) { + if let Some(var_511) = &input.value { + let mut object_512 = object.key("Value").start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_512, var_511); + object_512.finish(); + } + if let Some(var_513) = &input.action { + object.key("Action").string(var_513.as_str()); + } +} + +pub fn serialize_structure_global_secondary_index_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::GlobalSecondaryIndexUpdate, +) { + if let Some(var_514) = &input.update { + let mut object_515 = object.key("Update").start_object(); + crate::json_ser::serialize_structure_update_global_secondary_index_action( + &mut object_515, + var_514, + ); + object_515.finish(); + } + if let Some(var_516) = &input.create { + let mut object_517 = object.key("Create").start_object(); + crate::json_ser::serialize_structure_create_global_secondary_index_action( + &mut object_517, + var_516, + ); + object_517.finish(); + } + if let Some(var_518) = &input.delete { + let mut object_519 = object.key("Delete").start_object(); + crate::json_ser::serialize_structure_delete_global_secondary_index_action( + &mut object_519, + var_518, + ); + object_519.finish(); + } +} + +pub fn serialize_structure_replication_group_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicationGroupUpdate, +) { + if let Some(var_520) = &input.create { + let mut object_521 = object.key("Create").start_object(); + crate::json_ser::serialize_structure_create_replication_group_member_action( + &mut object_521, + var_520, + ); + object_521.finish(); + } + if let Some(var_522) = &input.update { + let mut object_523 = object.key("Update").start_object(); + crate::json_ser::serialize_structure_update_replication_group_member_action( + &mut object_523, + var_522, + ); + object_523.finish(); + } + if let Some(var_524) = &input.delete { + let mut object_525 = object.key("Delete").start_object(); + crate::json_ser::serialize_structure_delete_replication_group_member_action( + &mut object_525, + var_524, + ); + object_525.finish(); + } +} + +pub fn serialize_structure_global_secondary_index_auto_scaling_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::GlobalSecondaryIndexAutoScalingUpdate, +) { + if let Some(var_526) = &input.index_name { + object.key("IndexName").string(var_526); + } + if let Some(var_527) = &input.provisioned_write_capacity_auto_scaling_update { + let mut object_528 = object + .key("ProvisionedWriteCapacityAutoScalingUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_528, var_527); + object_528.finish(); + } +} + +pub fn serialize_structure_replica_auto_scaling_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicaAutoScalingUpdate, +) { + if let Some(var_529) = &input.region_name { + object.key("RegionName").string(var_529); + } + if let Some(var_530) = &input.replica_global_secondary_index_updates { + let mut array_531 = object + .key("ReplicaGlobalSecondaryIndexUpdates") + .start_array(); + for item_532 in var_530 { + let mut object_533 = array_531.value().start_object(); + crate::json_ser::serialize_structure_replica_global_secondary_index_auto_scaling_update( + &mut object_533, + item_532, + ); + object_533.finish(); + } + array_531.finish(); + } + if let Some(var_534) = &input.replica_provisioned_read_capacity_auto_scaling_update { + let mut object_535 = object + .key("ReplicaProvisionedReadCapacityAutoScalingUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_535, var_534); + object_535.finish(); + } +} + +pub fn serialize_structure_time_to_live_specification( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TimeToLiveSpecification, +) { + if let Some(var_536) = &input.enabled { + object.key("Enabled").boolean(*var_536); + } + if let Some(var_537) = &input.attribute_name { + object.key("AttributeName").string(var_537); + } +} + +pub fn serialize_structure_put_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PutRequest, +) { + if let Some(var_538) = &input.item { + let mut object_539 = object.key("Item").start_object(); + for (key_540, value_541) in var_538 { + let mut object_542 = object_539.key(key_540).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_542, value_541); + object_542.finish(); + } + object_539.finish(); + } +} + +pub fn serialize_structure_delete_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeleteRequest, +) { + if let Some(var_543) = &input.key { + let mut object_544 = object.key("Key").start_object(); + for (key_545, value_546) in var_543 { + let mut object_547 = object_544.key(key_545).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_547, value_546); + object_547.finish(); + } + object_544.finish(); + } +} + +pub fn serialize_structure_projection( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Projection, +) { + if let Some(var_548) = &input.projection_type { + object.key("ProjectionType").string(var_548.as_str()); + } + if let Some(var_549) = &input.non_key_attributes { + let mut array_550 = object.key("NonKeyAttributes").start_array(); + for item_551 in var_549 { + array_550.value().string(item_551); + } + array_550.finish(); + } +} + +pub fn serialize_structure_get( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Get, +) { + if let Some(var_552) = &input.key { + let mut object_553 = object.key("Key").start_object(); + for (key_554, value_555) in var_552 { + let mut object_556 = object_553.key(key_554).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_556, value_555); + object_556.finish(); + } + object_553.finish(); + } + if let Some(var_557) = &input.table_name { + object.key("TableName").string(var_557); + } + if let Some(var_558) = &input.projection_expression { + object.key("ProjectionExpression").string(var_558); + } + if let Some(var_559) = &input.expression_attribute_names { + let mut object_560 = object.key("ExpressionAttributeNames").start_object(); + for (key_561, value_562) in var_559 { + object_560.key(key_561).string(value_562); + } + object_560.finish(); + } +} + +pub fn serialize_structure_condition_check( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ConditionCheck, +) { + if let Some(var_563) = &input.key { + let mut object_564 = object.key("Key").start_object(); + for (key_565, value_566) in var_563 { + let mut object_567 = object_564.key(key_565).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_567, value_566); + object_567.finish(); + } + object_564.finish(); + } + if let Some(var_568) = &input.table_name { + object.key("TableName").string(var_568); + } + if let Some(var_569) = &input.condition_expression { + object.key("ConditionExpression").string(var_569); + } + if let Some(var_570) = &input.expression_attribute_names { + let mut object_571 = object.key("ExpressionAttributeNames").start_object(); + for (key_572, value_573) in var_570 { + object_571.key(key_572).string(value_573); + } + object_571.finish(); + } + if let Some(var_574) = &input.expression_attribute_values { + let mut object_575 = object.key("ExpressionAttributeValues").start_object(); + for (key_576, value_577) in var_574 { + let mut object_578 = object_575.key(key_576).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_578, value_577); + object_578.finish(); + } + object_575.finish(); + } + if let Some(var_579) = &input.return_values_on_condition_check_failure { + object + .key("ReturnValuesOnConditionCheckFailure") + .string(var_579.as_str()); + } +} + +pub fn serialize_structure_put( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Put, +) { + if let Some(var_580) = &input.item { + let mut object_581 = object.key("Item").start_object(); + for (key_582, value_583) in var_580 { + let mut object_584 = object_581.key(key_582).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_584, value_583); + object_584.finish(); + } + object_581.finish(); + } + if let Some(var_585) = &input.table_name { + object.key("TableName").string(var_585); + } + if let Some(var_586) = &input.condition_expression { + object.key("ConditionExpression").string(var_586); + } + if let Some(var_587) = &input.expression_attribute_names { + let mut object_588 = object.key("ExpressionAttributeNames").start_object(); + for (key_589, value_590) in var_587 { + object_588.key(key_589).string(value_590); + } + object_588.finish(); + } + if let Some(var_591) = &input.expression_attribute_values { + let mut object_592 = object.key("ExpressionAttributeValues").start_object(); + for (key_593, value_594) in var_591 { + let mut object_595 = object_592.key(key_593).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_595, value_594); + object_595.finish(); + } + object_592.finish(); + } + if let Some(var_596) = &input.return_values_on_condition_check_failure { + object + .key("ReturnValuesOnConditionCheckFailure") + .string(var_596.as_str()); + } +} + +pub fn serialize_structure_delete( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Delete, +) { + if let Some(var_597) = &input.key { + let mut object_598 = object.key("Key").start_object(); + for (key_599, value_600) in var_597 { + let mut object_601 = object_598.key(key_599).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_601, value_600); + object_601.finish(); + } + object_598.finish(); + } + if let Some(var_602) = &input.table_name { + object.key("TableName").string(var_602); + } + if let Some(var_603) = &input.condition_expression { + object.key("ConditionExpression").string(var_603); + } + if let Some(var_604) = &input.expression_attribute_names { + let mut object_605 = object.key("ExpressionAttributeNames").start_object(); + for (key_606, value_607) in var_604 { + object_605.key(key_606).string(value_607); + } + object_605.finish(); + } + if let Some(var_608) = &input.expression_attribute_values { + let mut object_609 = object.key("ExpressionAttributeValues").start_object(); + for (key_610, value_611) in var_608 { + let mut object_612 = object_609.key(key_610).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_612, value_611); + object_612.finish(); + } + object_609.finish(); + } + if let Some(var_613) = &input.return_values_on_condition_check_failure { + object + .key("ReturnValuesOnConditionCheckFailure") + .string(var_613.as_str()); + } +} + +pub fn serialize_structure_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Update, +) { + if let Some(var_614) = &input.key { + let mut object_615 = object.key("Key").start_object(); + for (key_616, value_617) in var_614 { + let mut object_618 = object_615.key(key_616).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_618, value_617); + object_618.finish(); + } + object_615.finish(); + } + if let Some(var_619) = &input.update_expression { + object.key("UpdateExpression").string(var_619); + } + if let Some(var_620) = &input.table_name { + object.key("TableName").string(var_620); + } + if let Some(var_621) = &input.condition_expression { + object.key("ConditionExpression").string(var_621); + } + if let Some(var_622) = &input.expression_attribute_names { + let mut object_623 = object.key("ExpressionAttributeNames").start_object(); + for (key_624, value_625) in var_622 { + object_623.key(key_624).string(value_625); + } + object_623.finish(); + } + if let Some(var_626) = &input.expression_attribute_values { + let mut object_627 = object.key("ExpressionAttributeValues").start_object(); + for (key_628, value_629) in var_626 { + let mut object_630 = object_627.key(key_628).start_object(); + crate::json_ser::serialize_union_attribute_value(&mut object_630, value_629); + object_630.finish(); + } + object_627.finish(); + } + if let Some(var_631) = &input.return_values_on_condition_check_failure { + object + .key("ReturnValuesOnConditionCheckFailure") + .string(var_631.as_str()); + } +} + +pub fn serialize_structure_create_replica_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CreateReplicaAction, +) { + if let Some(var_632) = &input.region_name { + object.key("RegionName").string(var_632); + } +} + +pub fn serialize_structure_delete_replica_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeleteReplicaAction, +) { + if let Some(var_633) = &input.region_name { + object.key("RegionName").string(var_633); + } +} + +pub fn serialize_structure_auto_scaling_policy_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AutoScalingPolicyUpdate, +) { + if let Some(var_634) = &input.policy_name { + object.key("PolicyName").string(var_634); + } + if let Some(var_635) = &input.target_tracking_scaling_policy_configuration { + let mut object_636 = object + .key("TargetTrackingScalingPolicyConfiguration") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_target_tracking_scaling_policy_configuration_update(&mut object_636, var_635); + object_636.finish(); + } +} + +pub fn serialize_structure_replica_global_secondary_index_settings_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicaGlobalSecondaryIndexSettingsUpdate, +) { + if let Some(var_637) = &input.index_name { + object.key("IndexName").string(var_637); + } + if let Some(var_638) = &input.provisioned_read_capacity_units { + object.key("ProvisionedReadCapacityUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_638).into()), + ); + } + if let Some(var_639) = &input.provisioned_read_capacity_auto_scaling_settings_update { + let mut object_640 = object + .key("ProvisionedReadCapacityAutoScalingSettingsUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_640, var_639); + object_640.finish(); + } +} + +pub fn serialize_structure_update_global_secondary_index_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::UpdateGlobalSecondaryIndexAction, +) { + if let Some(var_641) = &input.index_name { + object.key("IndexName").string(var_641); + } + if let Some(var_642) = &input.provisioned_throughput { + let mut object_643 = object.key("ProvisionedThroughput").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_643, var_642); + object_643.finish(); + } +} + +pub fn serialize_structure_create_global_secondary_index_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CreateGlobalSecondaryIndexAction, +) { + if let Some(var_644) = &input.index_name { + object.key("IndexName").string(var_644); + } + if let Some(var_645) = &input.key_schema { + let mut array_646 = object.key("KeySchema").start_array(); + for item_647 in var_645 { + let mut object_648 = array_646.value().start_object(); + crate::json_ser::serialize_structure_key_schema_element(&mut object_648, item_647); + object_648.finish(); + } + array_646.finish(); + } + if let Some(var_649) = &input.projection { + let mut object_650 = object.key("Projection").start_object(); + crate::json_ser::serialize_structure_projection(&mut object_650, var_649); + object_650.finish(); + } + if let Some(var_651) = &input.provisioned_throughput { + let mut object_652 = object.key("ProvisionedThroughput").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput(&mut object_652, var_651); + object_652.finish(); + } +} + +pub fn serialize_structure_delete_global_secondary_index_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeleteGlobalSecondaryIndexAction, +) { + if let Some(var_653) = &input.index_name { + object.key("IndexName").string(var_653); + } +} + +pub fn serialize_structure_create_replication_group_member_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CreateReplicationGroupMemberAction, +) { + if let Some(var_654) = &input.region_name { + object.key("RegionName").string(var_654); + } + if let Some(var_655) = &input.kms_master_key_id { + object.key("KMSMasterKeyId").string(var_655); + } + if let Some(var_656) = &input.provisioned_throughput_override { + let mut object_657 = object.key("ProvisionedThroughputOverride").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput_override( + &mut object_657, + var_656, + ); + object_657.finish(); + } + if let Some(var_658) = &input.global_secondary_indexes { + let mut array_659 = object.key("GlobalSecondaryIndexes").start_array(); + for item_660 in var_658 { + let mut object_661 = array_659.value().start_object(); + crate::json_ser::serialize_structure_replica_global_secondary_index( + &mut object_661, + item_660, + ); + object_661.finish(); + } + array_659.finish(); + } +} + +pub fn serialize_structure_update_replication_group_member_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::UpdateReplicationGroupMemberAction, +) { + if let Some(var_662) = &input.region_name { + object.key("RegionName").string(var_662); + } + if let Some(var_663) = &input.kms_master_key_id { + object.key("KMSMasterKeyId").string(var_663); + } + if let Some(var_664) = &input.provisioned_throughput_override { + let mut object_665 = object.key("ProvisionedThroughputOverride").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput_override( + &mut object_665, + var_664, + ); + object_665.finish(); + } + if let Some(var_666) = &input.global_secondary_indexes { + let mut array_667 = object.key("GlobalSecondaryIndexes").start_array(); + for item_668 in var_666 { + let mut object_669 = array_667.value().start_object(); + crate::json_ser::serialize_structure_replica_global_secondary_index( + &mut object_669, + item_668, + ); + object_669.finish(); + } + array_667.finish(); + } +} + +pub fn serialize_structure_delete_replication_group_member_action( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeleteReplicationGroupMemberAction, +) { + if let Some(var_670) = &input.region_name { + object.key("RegionName").string(var_670); + } +} + +pub fn serialize_structure_replica_global_secondary_index_auto_scaling_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicaGlobalSecondaryIndexAutoScalingUpdate, +) { + if let Some(var_671) = &input.index_name { + object.key("IndexName").string(var_671); + } + if let Some(var_672) = &input.provisioned_read_capacity_auto_scaling_update { + let mut object_673 = object + .key("ProvisionedReadCapacityAutoScalingUpdate") + .start_object(); + crate::json_ser::serialize_structure_auto_scaling_settings_update(&mut object_673, var_672); + object_673.finish(); + } +} + +pub fn serialize_structure_auto_scaling_target_tracking_scaling_policy_configuration_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AutoScalingTargetTrackingScalingPolicyConfigurationUpdate, +) { + if let Some(var_674) = &input.disable_scale_in { + object.key("DisableScaleIn").boolean(*var_674); + } + if let Some(var_675) = &input.scale_in_cooldown { + object.key("ScaleInCooldown").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_675).into()), + ); + } + if let Some(var_676) = &input.scale_out_cooldown { + object.key("ScaleOutCooldown").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_676).into()), + ); + } + if let Some(var_677) = &input.target_value { + object.key("TargetValue").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((*var_677).into()), + ); + } +} + +pub fn serialize_structure_provisioned_throughput_override( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ProvisionedThroughputOverride, +) { + if let Some(var_678) = &input.read_capacity_units { + object.key("ReadCapacityUnits").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_678).into()), + ); + } +} + +pub fn serialize_structure_replica_global_secondary_index( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ReplicaGlobalSecondaryIndex, +) { + if let Some(var_679) = &input.index_name { + object.key("IndexName").string(var_679); + } + if let Some(var_680) = &input.provisioned_throughput_override { + let mut object_681 = object.key("ProvisionedThroughputOverride").start_object(); + crate::json_ser::serialize_structure_provisioned_throughput_override( + &mut object_681, + var_680, + ); + object_681.finish(); + } +} diff --git a/sdk/dynamodb/src/lib.rs b/sdk/dynamodb/src/lib.rs index 2851870cd526..53ad32dabf96 100644 --- a/sdk/dynamodb/src/lib.rs +++ b/sdk/dynamodb/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! Amazon DynamoDB //!

    Amazon DynamoDB is a fully managed NoSQL database service that provides fast and //! predictable performance with seamless scalability. DynamoDB lets you offload the @@ -34,6 +35,7 @@ mod idempotency_token; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_ser; @@ -41,6 +43,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/dynamodb/src/model.rs b/sdk/dynamodb/src/model.rs index 24c004a049b8..8566f3fe4490 100644 --- a/sdk/dynamodb/src/model.rs +++ b/sdk/dynamodb/src/model.rs @@ -2,17 +2,15 @@ ///

    Represents the settings used to enable or disable Time to Live (TTL) for the specified /// table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TimeToLiveSpecification { ///

    Indicates whether TTL is to be enabled (true) or disabled (false) on the table.

    #[serde(rename = "Enabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub enabled: std::option::Option, ///

    The name of the TTL attribute used to store the expiration time for items in the /// table.

    #[serde(rename = "AttributeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_name: std::option::Option, } @@ -71,11 +69,10 @@ impl TimeToLiveSpecification { ///

    Represents the auto scaling configuration for a global table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TableAutoScalingDescription { ///

    The name of the table.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    The current state of the table:

    @@ -98,12 +95,10 @@ pub struct TableAutoScalingDescription { /// /// #[serde(rename = "TableStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_status: std::option::Option, ///

    Represents replicas of the global table.

    #[serde(rename = "Replicas")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replicas: std::option::Option>, } @@ -202,16 +197,14 @@ impl TableAutoScalingDescription { ///

    Represents the auto scaling settings of the replica.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaAutoScalingDescription { ///

    The Region where the replica exists.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    Replica-specific global secondary index auto scaling settings.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option< std::vec::Vec, @@ -219,14 +212,12 @@ pub struct ReplicaAutoScalingDescription { ///

    Represents the auto scaling settings for a global table or global secondary /// index.

    #[serde(rename = "ReplicaProvisionedReadCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_read_capacity_auto_scaling_settings: std::option::Option, ///

    Represents the auto scaling settings for a global table or global secondary /// index.

    #[serde(rename = "ReplicaProvisionedWriteCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_write_capacity_auto_scaling_settings: std::option::Option, @@ -250,7 +241,6 @@ pub struct ReplicaAutoScalingDescription { /// /// #[serde(rename = "ReplicaStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_status: std::option::Option, } @@ -434,7 +424,6 @@ impl std::convert::From<&str> for ReplicaStatus { } } } - impl std::str::FromStr for ReplicaStatus { type Err = std::convert::Infallible; @@ -442,7 +431,6 @@ impl std::str::FromStr for ReplicaStatus { Ok(ReplicaStatus::from(s)) } } - impl ReplicaStatus { pub fn as_str(&self) -> &str { match self { @@ -464,19 +452,6 @@ impl AsRef for ReplicaStatus { self.as_str() } } - -impl serde::Serialize for ReplicaStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReplicaStatus { fn deserialize(deserializer: D) -> Result where @@ -490,31 +465,26 @@ impl<'de> serde::Deserialize<'de> for ReplicaStatus { ///

    Represents the auto scaling settings for a global table or global secondary /// index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutoScalingSettingsDescription { ///

    The minimum capacity units that a global table or global secondary index should be scaled down to.

    #[serde(rename = "MinimumUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub minimum_units: std::option::Option, ///

    The maximum capacity units that a global table or global secondary index should be scaled up to.

    #[serde(rename = "MaximumUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_units: std::option::Option, ///

    Disabled auto scaling for this global table or global secondary index.

    #[serde(rename = "AutoScalingDisabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub auto_scaling_disabled: std::option::Option, ///

    Role ARN used for configuring the auto scaling policy.

    #[serde(rename = "AutoScalingRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub auto_scaling_role_arn: std::option::Option, ///

    Information about the scaling policies.

    #[serde(rename = "ScalingPolicies")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub scaling_policies: std::option::Option>, @@ -620,16 +590,14 @@ impl AutoScalingSettingsDescription { ///

    Represents the properties of the scaling policy.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutoScalingPolicyDescription { ///

    The name of the scaling policy.

    #[serde(rename = "PolicyName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policy_name: std::option::Option, ///

    Represents a target tracking scaling policy configuration.

    #[serde(rename = "TargetTrackingScalingPolicyConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_tracking_scaling_policy_configuration: std::option::Option< crate::model::AutoScalingTargetTrackingScalingPolicyConfigurationDescription, @@ -703,14 +671,13 @@ impl AutoScalingPolicyDescription { ///

    Represents the properties of a target tracking scaling policy.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutoScalingTargetTrackingScalingPolicyConfigurationDescription { ///

    Indicates whether scale in by the target tracking policy is disabled. If the value is true, /// scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. /// Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. /// The default value is false.

    #[serde(rename = "DisableScaleIn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub disable_scale_in: std::option::Option, ///

    The amount of time, in seconds, after a scale in activity completes before another scale @@ -720,7 +687,6 @@ pub struct AutoScalingTargetTrackingScalingPolicyConfigurationDescription { /// period after a scale-in, application auto scaling scales out your scalable target /// immediately.

    #[serde(rename = "ScaleInCooldown")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub scale_in_cooldown: std::option::Option, ///

    The amount of time, in seconds, after a scale out activity completes before another scale out @@ -729,12 +695,10 @@ pub struct AutoScalingTargetTrackingScalingPolicyConfigurationDescription { /// desired capacity for the next scale out. You should continuously (but not excessively) /// scale out.

    #[serde(rename = "ScaleOutCooldown")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub scale_out_cooldown: std::option::Option, ///

    The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

    #[serde(rename = "TargetValue")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_value: std::option::Option, } @@ -833,11 +797,10 @@ impl AutoScalingTargetTrackingScalingPolicyConfigurationDescription { ///

    Represents the auto scaling configuration for a replica global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaGlobalSecondaryIndexAutoScalingDescription { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The current state of the replica global secondary index:

    @@ -860,20 +823,17 @@ pub struct ReplicaGlobalSecondaryIndexAutoScalingDescription { /// /// #[serde(rename = "IndexStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_status: std::option::Option, ///

    Represents the auto scaling settings for a global table or global secondary /// index.

    #[serde(rename = "ProvisionedReadCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_read_capacity_auto_scaling_settings: std::option::Option, ///

    Represents the auto scaling settings for a global table or global secondary /// index.

    #[serde(rename = "ProvisionedWriteCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_write_capacity_auto_scaling_settings: std::option::Option, @@ -1028,7 +988,6 @@ impl std::convert::From<&str> for IndexStatus { } } } - impl std::str::FromStr for IndexStatus { type Err = std::convert::Infallible; @@ -1036,7 +995,6 @@ impl std::str::FromStr for IndexStatus { Ok(IndexStatus::from(s)) } } - impl IndexStatus { pub fn as_str(&self) -> &str { match self { @@ -1053,19 +1011,6 @@ impl AsRef for IndexStatus { self.as_str() } } - -impl serde::Serialize for IndexStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for IndexStatus { fn deserialize(deserializer: D) -> Result where @@ -1110,7 +1055,6 @@ impl std::convert::From<&str> for TableStatus { } } } - impl std::str::FromStr for TableStatus { type Err = std::convert::Infallible; @@ -1118,7 +1062,6 @@ impl std::str::FromStr for TableStatus { Ok(TableStatus::from(s)) } } - impl TableStatus { pub fn as_str(&self) -> &str { match self { @@ -1138,19 +1081,6 @@ impl AsRef for TableStatus { self.as_str() } } - -impl serde::Serialize for TableStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TableStatus { fn deserialize(deserializer: D) -> Result where @@ -1163,17 +1093,15 @@ impl<'de> serde::Deserialize<'de> for TableStatus { ///

    Represents the auto scaling settings of a replica that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaAutoScalingUpdate { ///

    The Region where the replica exists.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    Represents the auto scaling settings of global secondary indexes that will /// be modified.

    #[serde(rename = "ReplicaGlobalSecondaryIndexUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_global_secondary_index_updates: std::option::Option< std::vec::Vec, @@ -1181,7 +1109,6 @@ pub struct ReplicaAutoScalingUpdate { ///

    Represents the auto scaling settings to be modified for a global table or global /// secondary index.

    #[serde(rename = "ReplicaProvisionedReadCapacityAutoScalingUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_read_capacity_auto_scaling_update: std::option::Option, @@ -1281,31 +1208,26 @@ impl ReplicaAutoScalingUpdate { ///

    Represents the auto scaling settings to be modified for a global table or global /// secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutoScalingSettingsUpdate { ///

    The minimum capacity units that a global table or global secondary index should be scaled down to.

    #[serde(rename = "MinimumUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub minimum_units: std::option::Option, ///

    The maximum capacity units that a global table or global secondary index should be scaled up to.

    #[serde(rename = "MaximumUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_units: std::option::Option, ///

    Disabled auto scaling for this global table or global secondary index.

    #[serde(rename = "AutoScalingDisabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub auto_scaling_disabled: std::option::Option, ///

    Role ARN used for configuring auto scaling policy.

    #[serde(rename = "AutoScalingRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub auto_scaling_role_arn: std::option::Option, ///

    The scaling policy to apply for scaling target global table or global secondary index capacity units.

    #[serde(rename = "ScalingPolicyUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub scaling_policy_update: std::option::Option, } @@ -1406,16 +1328,14 @@ impl AutoScalingSettingsUpdate { ///

    Represents the auto scaling policy to be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutoScalingPolicyUpdate { ///

    The name of the scaling policy.

    #[serde(rename = "PolicyName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policy_name: std::option::Option, ///

    Represents a target tracking scaling policy configuration.

    #[serde(rename = "TargetTrackingScalingPolicyConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_tracking_scaling_policy_configuration: std::option::Option< crate::model::AutoScalingTargetTrackingScalingPolicyConfigurationUpdate, @@ -1489,14 +1409,13 @@ impl AutoScalingPolicyUpdate { ///

    Represents the settings of a target tracking scaling policy that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { ///

    Indicates whether scale in by the target tracking policy is disabled. If the value is true, /// scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. /// Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. /// The default value is false.

    #[serde(rename = "DisableScaleIn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub disable_scale_in: std::option::Option, ///

    The amount of time, in seconds, after a scale in activity completes before another scale @@ -1506,7 +1425,6 @@ pub struct AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { /// period after a scale-in, application auto scaling scales out your scalable target /// immediately.

    #[serde(rename = "ScaleInCooldown")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub scale_in_cooldown: std::option::Option, ///

    The amount of time, in seconds, after a scale out activity completes before another scale out @@ -1515,12 +1433,10 @@ pub struct AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { /// desired capacity for the next scale out. You should continuously (but not excessively) /// scale out.

    #[serde(rename = "ScaleOutCooldown")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub scale_out_cooldown: std::option::Option, ///

    The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

    #[serde(rename = "TargetValue")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_value: std::option::Option, } @@ -1620,17 +1536,15 @@ impl AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { ///

    Represents the auto scaling settings of a global secondary index for a replica /// that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaGlobalSecondaryIndexAutoScalingUpdate { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    Represents the auto scaling settings to be modified for a global table or global /// secondary index.

    #[serde(rename = "ProvisionedReadCapacityAutoScalingUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_read_capacity_auto_scaling_update: std::option::Option, @@ -1702,17 +1616,15 @@ impl ReplicaGlobalSecondaryIndexAutoScalingUpdate { ///

    Represents the auto scaling settings of a global secondary index for a global table /// that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalSecondaryIndexAutoScalingUpdate { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    Represents the auto scaling settings to be modified for a global table or global /// secondary index.

    #[serde(rename = "ProvisionedWriteCapacityAutoScalingUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_write_capacity_auto_scaling_update: std::option::Option, @@ -1783,7 +1695,7 @@ impl GlobalSecondaryIndexAutoScalingUpdate { ///

    Represents the properties of a table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TableDescription { ///

    An array of AttributeDefinition objects. Each of these objects describes one attribute /// in the table and index key schema.

    @@ -1799,13 +1711,11 @@ pub struct TableDescription { /// /// #[serde(rename = "AttributeDefinitions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_definitions: std::option::Option>, ///

    The name of the table.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    The primary key structure for the table. Each KeySchemaElement consists of:

    @@ -1840,7 +1750,6 @@ pub struct TableDescription { ///

    For more information about primary keys, see Primary Key in the /// Amazon DynamoDB Developer Guide.

    #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    The current state of the table:

    @@ -1884,15 +1793,10 @@ pub struct TableDescription { /// /// #[serde(rename = "TableStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_status: std::option::Option, ///

    The date and time when the table was created, in UNIX epoch time format.

    #[serde(rename = "CreationDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1900,7 +1804,6 @@ pub struct TableDescription { pub creation_date_time: std::option::Option, ///

    The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, ///

    The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

    @@ -1911,17 +1814,14 @@ pub struct TableDescription { pub item_count: i64, ///

    The Amazon Resource Name (ARN) that uniquely identifies the table.

    #[serde(rename = "TableArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_arn: std::option::Option, ///

    Unique identifier for the table for which the backup was created.

    #[serde(rename = "TableId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_id: std::option::Option, ///

    Contains the details for the read/write capacity mode.

    #[serde(rename = "BillingModeSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub billing_mode_summary: std::option::Option, ///

    Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:

    @@ -1989,7 +1889,6 @@ pub struct TableDescription { ///

    If the table is in the DELETING state, no information about indexes will be /// returned.

    #[serde(rename = "LocalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub local_secondary_indexes: std::option::Option>, @@ -2099,13 +1998,11 @@ pub struct TableDescription { ///

    If the table is in the DELETING state, no information about indexes will be /// returned.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option>, ///

    The current DynamoDB Streams configuration for the table.

    #[serde(rename = "StreamSpecification")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_specification: std::option::Option, ///

    A timestamp, in ISO 8601 format, for this stream.

    @@ -2124,37 +2021,30 @@ pub struct TableDescription { /// /// #[serde(rename = "LatestStreamLabel")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub latest_stream_label: std::option::Option, ///

    The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

    #[serde(rename = "LatestStreamArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub latest_stream_arn: std::option::Option, ///

    Represents the version of global tables in use, if the table is replicated across AWS Regions.

    #[serde(rename = "GlobalTableVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_table_version: std::option::Option, ///

    Represents replicas of the table.

    #[serde(rename = "Replicas")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replicas: std::option::Option>, ///

    Contains details for the restore.

    #[serde(rename = "RestoreSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub restore_summary: std::option::Option, ///

    The description of the server-side encryption status on the specified table.

    #[serde(rename = "SSEDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sse_description: std::option::Option, ///

    Contains information about the table archive.

    #[serde(rename = "ArchivalSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub archival_summary: std::option::Option, } @@ -2562,15 +2452,11 @@ impl TableDescription { ///

    Contains details of a table archival operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ArchivalSummary { ///

    The date and time when table archival was initiated by DynamoDB, /// in UNIX epoch time format.

    #[serde(rename = "ArchivalDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -2588,7 +2474,6 @@ pub struct ArchivalSummary { /// /// #[serde(rename = "ArchivalReason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub archival_reason: std::option::Option, ///

    The Amazon Resource Name (ARN) of the backup the table was archived @@ -2596,7 +2481,6 @@ pub struct ArchivalSummary { /// backup to the same table name, you will need to delete the original /// table.

    #[serde(rename = "ArchivalBackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub archival_backup_arn: std::option::Option, } @@ -2689,7 +2573,7 @@ impl ArchivalSummary { ///

    The description of the server-side encryption status on the specified table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SSEDescription { ///

    Represents the current state of server-side encryption. The only supported values are:

    ///
      @@ -2703,7 +2587,6 @@ pub struct SSEDescription { /// ///
    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    Server-side encryption type. The only supported value is:

    @@ -2716,12 +2599,10 @@ pub struct SSEDescription { /// /// #[serde(rename = "SSEType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sse_type: std::option::Option, ///

    The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption.

    #[serde(rename = "KMSMasterKeyArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_master_key_arn: std::option::Option, ///

    Indicates the time, in UNIX epoch date format, when DynamoDB detected that the table's @@ -2730,10 +2611,6 @@ pub struct SSEDescription { /// archival process when table's AWS KMS key remains inaccessible for more than seven days /// from this date.

    #[serde(rename = "InaccessibleEncryptionDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -2871,7 +2748,6 @@ impl std::convert::From<&str> for SSEType { } } } - impl std::str::FromStr for SSEType { type Err = std::convert::Infallible; @@ -2879,7 +2755,6 @@ impl std::str::FromStr for SSEType { Ok(SSEType::from(s)) } } - impl SSEType { pub fn as_str(&self) -> &str { match self { @@ -2894,19 +2769,6 @@ impl AsRef for SSEType { self.as_str() } } - -impl serde::Serialize for SSEType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SSEType { fn deserialize(deserializer: D) -> Result where @@ -2947,7 +2809,6 @@ impl std::convert::From<&str> for SSEStatus { } } } - impl std::str::FromStr for SSEStatus { type Err = std::convert::Infallible; @@ -2955,7 +2816,6 @@ impl std::str::FromStr for SSEStatus { Ok(SSEStatus::from(s)) } } - impl SSEStatus { pub fn as_str(&self) -> &str { match self { @@ -2973,19 +2833,6 @@ impl AsRef for SSEStatus { self.as_str() } } - -impl serde::Serialize for SSEStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SSEStatus { fn deserialize(deserializer: D) -> Result where @@ -2998,24 +2845,18 @@ impl<'de> serde::Deserialize<'de> for SSEStatus { ///

    Contains details for the restore.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RestoreSummary { ///

    The Amazon Resource Name (ARN) of the backup from which the table was restored.

    #[serde(rename = "SourceBackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_backup_arn: std::option::Option, ///

    The ARN of the source table of the backup that is being restored.

    #[serde(rename = "SourceTableArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_table_arn: std::option::Option, ///

    Point in time or source backup time.

    #[serde(rename = "RestoreDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -3023,7 +2864,6 @@ pub struct RestoreSummary { pub restore_date_time: std::option::Option, ///

    Indicates if a restore is in progress or not.

    #[serde(rename = "RestoreInProgress")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub restore_in_progress: std::option::Option, } @@ -3114,11 +2954,10 @@ impl RestoreSummary { ///

    Contains the details of the replica.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaDescription { ///

    The name of the Region.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    The current state of the replica:

    @@ -3155,45 +2994,35 @@ pub struct ReplicaDescription { /// /// #[serde(rename = "ReplicaStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_status: std::option::Option, ///

    Detailed information about the replica status.

    #[serde(rename = "ReplicaStatusDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_status_description: std::option::Option, ///

    Specifies the progress of a Create, Update, or Delete action on the replica /// as a percentage.

    #[serde(rename = "ReplicaStatusPercentProgress")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_status_percent_progress: std::option::Option, ///

    The AWS KMS customer master key (CMK) of the replica that will be used for AWS KMS /// encryption.

    #[serde(rename = "KMSMasterKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_master_key_id: std::option::Option, ///

    Replica-specific provisioned throughput. If not described, uses the source table's /// provisioned throughput settings.

    #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput_override: std::option::Option, ///

    Replica-specific global secondary index settings.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option>, ///

    The time at which the replica was first detected as inaccessible. To determine cause of inaccessibility check the ReplicaStatus property.

    #[serde(rename = "ReplicaInaccessibleDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -3409,16 +3238,14 @@ impl ReplicaDescription { ///

    Represents the properties of a replica global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaGlobalSecondaryIndexDescription { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    If not described, uses the source table GSI's read capacity settings.

    #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput_override: std::option::Option, @@ -3488,12 +3315,11 @@ impl ReplicaGlobalSecondaryIndexDescription { ///

    Replica-specific provisioned throughput settings. If not specified, uses the /// source table's provisioned throughput settings.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedThroughputOverride { ///

    Replica-specific read capacity units. If not specified, uses the source table's /// read capacity settings.

    #[serde(rename = "ReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub read_capacity_units: std::option::Option, } @@ -3540,11 +3366,10 @@ impl ProvisionedThroughputOverride { ///

    Represents the DynamoDB Streams configuration for a table in DynamoDB.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StreamSpecification { ///

    Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

    #[serde(rename = "StreamEnabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_enabled: std::option::Option, ///

    @@ -3573,7 +3398,6 @@ pub struct StreamSpecification { /// /// #[serde(rename = "StreamViewType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_view_type: std::option::Option, } @@ -3684,7 +3508,6 @@ impl std::convert::From<&str> for StreamViewType { } } } - impl std::str::FromStr for StreamViewType { type Err = std::convert::Infallible; @@ -3692,7 +3515,6 @@ impl std::str::FromStr for StreamViewType { Ok(StreamViewType::from(s)) } } - impl StreamViewType { pub fn as_str(&self) -> &str { match self { @@ -3709,19 +3531,6 @@ impl AsRef for StreamViewType { self.as_str() } } - -impl serde::Serialize for StreamViewType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StreamViewType { fn deserialize(deserializer: D) -> Result where @@ -3734,11 +3543,10 @@ impl<'de> serde::Deserialize<'de> for StreamViewType { ///

    Represents the properties of a global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalSecondaryIndexDescription { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

    @@ -3761,14 +3569,12 @@ pub struct GlobalSecondaryIndexDescription { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into the global /// secondary index. These are in addition to the primary key attributes and index key /// attributes, which are automatically projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, ///

    The current state of the global secondary index:

    @@ -3791,7 +3597,6 @@ pub struct GlobalSecondaryIndexDescription { /// /// #[serde(rename = "IndexStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_status: std::option::Option, ///

    Indicates whether the index is currently backfilling. Backfilling is the process of reading items from @@ -3806,13 +3611,11 @@ pub struct GlobalSecondaryIndexDescription { ///

    For indexes that were created during a CreateTable operation, the Backfilling attribute does not appear in the DescribeTable output.

    /// #[serde(rename = "Backfilling")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backfilling: std::option::Option, ///

    Represents the provisioned throughput settings for the specified global secondary index.

    ///

    For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, ///

    The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

    @@ -3823,7 +3626,6 @@ pub struct GlobalSecondaryIndexDescription { pub item_count: i64, ///

    The Amazon Resource Name (ARN) that uniquely identifies the index.

    #[serde(rename = "IndexArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_arn: std::option::Option, } @@ -4013,14 +3815,10 @@ impl GlobalSecondaryIndexDescription { ///

    Represents the provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedThroughputDescription { ///

    The date and time of the last provisioned throughput increase for this table.

    #[serde(rename = "LastIncreaseDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4028,10 +3826,6 @@ pub struct ProvisionedThroughputDescription { pub last_increase_date_time: std::option::Option, ///

    The date and time of the last provisioned throughput decrease for this table.

    #[serde(rename = "LastDecreaseDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4040,7 +3834,6 @@ pub struct ProvisionedThroughputDescription { ///

    The number of provisioned throughput decreases for this table during this UTC calendar day. /// For current maximums on provisioned throughput decreases, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "NumberOfDecreasesToday")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub number_of_decreases_today: std::option::Option, ///

    The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @@ -4048,13 +3841,11 @@ pub struct ProvisionedThroughputDescription { /// consistent reads, so a setting of 50 ReadCapacityUnits per second provides 100 /// eventually consistent ReadCapacityUnits per second.

    #[serde(rename = "ReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub read_capacity_units: std::option::Option, ///

    The maximum number of writes consumed per second before DynamoDB returns a /// ThrottlingException.

    #[serde(rename = "WriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub write_capacity_units: std::option::Option, } @@ -4159,7 +3950,7 @@ impl ProvisionedThroughputDescription { ///

    Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Projection { ///

    The set of attributes that are projected into the index:

    ///
      @@ -4178,7 +3969,6 @@ pub struct Projection { /// ///
    #[serde(rename = "ProjectionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection_type: std::option::Option, ///

    Represents the non-key attribute names which will be projected into the index.

    @@ -4186,7 +3976,6 @@ pub struct Projection { /// must not exceed 20. If you project the same attribute into two /// different indexes, this counts as two distinct attributes when determining the total.

    #[serde(rename = "NonKeyAttributes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub non_key_attributes: std::option::Option>, } @@ -4290,7 +4079,6 @@ impl std::convert::From<&str> for ProjectionType { } } } - impl std::str::FromStr for ProjectionType { type Err = std::convert::Infallible; @@ -4298,7 +4086,6 @@ impl std::str::FromStr for ProjectionType { Ok(ProjectionType::from(s)) } } - impl ProjectionType { pub fn as_str(&self) -> &str { match self { @@ -4314,19 +4101,6 @@ impl AsRef for ProjectionType { self.as_str() } } - -impl serde::Serialize for ProjectionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ProjectionType { fn deserialize(deserializer: D) -> Result where @@ -4345,11 +4119,10 @@ impl<'de> serde::Deserialize<'de> for ProjectionType { /// KeySchemaElement for the sort key.

    ///

    A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KeySchemaElement { ///

    The name of a key attribute.

    #[serde(rename = "AttributeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_name: std::option::Option, ///

    The role that this key attribute will assume:

    @@ -4372,7 +4145,6 @@ pub struct KeySchemaElement { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeyType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_type: std::option::Option, } @@ -4470,7 +4242,6 @@ impl std::convert::From<&str> for KeyType { } } } - impl std::str::FromStr for KeyType { type Err = std::convert::Infallible; @@ -4478,7 +4249,6 @@ impl std::str::FromStr for KeyType { Ok(KeyType::from(s)) } } - impl KeyType { pub fn as_str(&self) -> &str { match self { @@ -4493,19 +4263,6 @@ impl AsRef for KeyType { self.as_str() } } - -impl serde::Serialize for KeyType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for KeyType { fn deserialize(deserializer: D) -> Result where @@ -4518,11 +4275,10 @@ impl<'de> serde::Deserialize<'de> for KeyType { ///

    Represents the properties of a local secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LocalSecondaryIndexDescription { ///

    Represents the name of the local secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

    @@ -4545,14 +4301,12 @@ pub struct LocalSecondaryIndexDescription { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into the global /// secondary index. These are in addition to the primary key attributes and index key /// attributes, which are automatically projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, ///

    The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

    @@ -4563,7 +4317,6 @@ pub struct LocalSecondaryIndexDescription { pub item_count: i64, ///

    The Amazon Resource Name (ARN) that uniquely identifies the index.

    #[serde(rename = "IndexArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_arn: std::option::Option, } @@ -4678,7 +4431,7 @@ impl LocalSecondaryIndexDescription { ///

    Contains the details for the read/write capacity mode.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BillingModeSummary { ///

    Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

    ///
      @@ -4693,15 +4446,10 @@ pub struct BillingModeSummary { /// ///
    #[serde(rename = "BillingMode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub billing_mode: std::option::Option, ///

    Represents the time when PAY_PER_REQUEST was last set as the read/write capacity mode.

    #[serde(rename = "LastUpdateToPayPerRequestDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4809,7 +4557,6 @@ impl std::convert::From<&str> for BillingMode { } } } - impl std::str::FromStr for BillingMode { type Err = std::convert::Infallible; @@ -4817,7 +4564,6 @@ impl std::str::FromStr for BillingMode { Ok(BillingMode::from(s)) } } - impl BillingMode { pub fn as_str(&self) -> &str { match self { @@ -4832,19 +4578,6 @@ impl AsRef for BillingMode { self.as_str() } } - -impl serde::Serialize for BillingMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BillingMode { fn deserialize(deserializer: D) -> Result where @@ -4857,11 +4590,10 @@ impl<'de> serde::Deserialize<'de> for BillingMode { ///

    Represents an attribute for describing the key schema for the table and indexes.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AttributeDefinition { ///

    A name for the attribute.

    #[serde(rename = "AttributeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_name: std::option::Option, ///

    The data type for the attribute, where:

    @@ -4880,7 +4612,6 @@ pub struct AttributeDefinition { /// /// #[serde(rename = "AttributeType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_type: std::option::Option, } @@ -4979,7 +4710,6 @@ impl std::convert::From<&str> for ScalarAttributeType { } } } - impl std::str::FromStr for ScalarAttributeType { type Err = std::convert::Infallible; @@ -4987,7 +4717,6 @@ impl std::str::FromStr for ScalarAttributeType { Ok(ScalarAttributeType::from(s)) } } - impl ScalarAttributeType { pub fn as_str(&self) -> &str { match self { @@ -5003,19 +4732,6 @@ impl AsRef for ScalarAttributeType { self.as_str() } } - -impl serde::Serialize for ScalarAttributeType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ScalarAttributeType { fn deserialize(deserializer: D) -> Result where @@ -5044,21 +4760,18 @@ impl<'de> serde::Deserialize<'de> for ScalarAttributeType { /// /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicationGroupUpdate { ///

    The parameters required for creating a replica for the table.

    #[serde(rename = "Create")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub create: std::option::Option, ///

    The parameters required for updating a replica for the table.

    #[serde(rename = "Update")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub update: std::option::Option, ///

    The parameters required for deleting a replica for the table.

    #[serde(rename = "Delete")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub delete: std::option::Option, } @@ -5137,11 +4850,10 @@ impl ReplicationGroupUpdate { ///

    Represents a replica to be deleted.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteReplicationGroupMemberAction { ///

    The Region where the replica exists.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, } @@ -5187,11 +4899,10 @@ impl DeleteReplicationGroupMemberAction { ///

    Represents a replica to be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateReplicationGroupMemberAction { ///

    The Region where the replica exists.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    The AWS KMS customer master key (CMK) of the replica that should be used for AWS KMS encryption. @@ -5199,19 +4910,16 @@ pub struct UpdateReplicationGroupMemberAction { /// ARN. Note that you should only provide this parameter if the key is different from /// the default DynamoDB KMS master key alias/aws/dynamodb.

    #[serde(rename = "KMSMasterKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_master_key_id: std::option::Option, ///

    Replica-specific provisioned throughput. If not specified, uses the source table's /// provisioned throughput settings.

    #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput_override: std::option::Option, ///

    Replica-specific global secondary index settings.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option>, @@ -5319,17 +5027,15 @@ impl UpdateReplicationGroupMemberAction { ///

    Represents the properties of a replica global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaGlobalSecondaryIndex { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    Replica table GSI-specific provisioned throughput. If not specified, uses the /// source table GSI's read capacity settings.

    #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput_override: std::option::Option, @@ -5399,11 +5105,10 @@ impl ReplicaGlobalSecondaryIndex { ///

    Represents a replica to be created.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CreateReplicationGroupMemberAction { ///

    The Region where the new replica will be created.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption @@ -5411,19 +5116,16 @@ pub struct CreateReplicationGroupMemberAction { /// alias name, or alias ARN. Note that you should only provide this parameter if the /// key is different from the default DynamoDB KMS master key alias/aws/dynamodb.

    #[serde(rename = "KMSMasterKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_master_key_id: std::option::Option, ///

    Replica-specific provisioned throughput. If not specified, uses the source table's /// provisioned throughput settings.

    #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput_override: std::option::Option, ///

    Replica-specific global secondary index settings.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option>, @@ -5531,13 +5233,12 @@ impl CreateReplicationGroupMemberAction { ///

    Represents the settings used to enable server-side encryption.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SSESpecification { ///

    Indicates whether server-side encryption is done using an AWS managed CMK or an AWS owned CMK. If enabled (true), /// server-side encryption type is set to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled (false) or not specified, server-side /// encryption is set to AWS owned CMK.

    #[serde(rename = "Enabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub enabled: std::option::Option, ///

    Server-side encryption type. The only supported value is:

    @@ -5550,7 +5251,6 @@ pub struct SSESpecification { /// /// #[serde(rename = "SSEType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sse_type: std::option::Option, ///

    The AWS KMS customer master key (CMK) that should be used for the AWS KMS encryption. To @@ -5558,7 +5258,6 @@ pub struct SSESpecification { /// that you should only provide this parameter if the key is different from the default /// DynamoDB customer master key alias/aws/dynamodb.

    #[serde(rename = "KMSMasterKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_master_key_id: std::option::Option, } @@ -5655,11 +5354,10 @@ impl SSESpecification { /// /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalSecondaryIndexUpdate { ///

    The name of an existing global secondary index, along with new provisioned throughput settings to be applied to that index.

    #[serde(rename = "Update")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub update: std::option::Option, ///

    The parameters required for creating a global secondary index on an existing table:

    @@ -5691,12 +5389,10 @@ pub struct GlobalSecondaryIndexUpdate { /// /// #[serde(rename = "Create")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub create: std::option::Option, ///

    The name of an existing global secondary index to be removed.

    #[serde(rename = "Delete")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub delete: std::option::Option, } @@ -5802,11 +5498,10 @@ impl GlobalSecondaryIndexUpdate { ///

    Represents a global secondary index to be deleted from an existing table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteGlobalSecondaryIndexAction { ///

    The name of the global secondary index to be deleted.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, } @@ -5852,29 +5547,25 @@ impl DeleteGlobalSecondaryIndexAction { ///

    Represents a new global secondary index to be added to an existing table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CreateGlobalSecondaryIndexAction { ///

    The name of the global secondary index to be created.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The key schema for the global secondary index.

    #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into an index. These /// are in addition to the primary key attributes and index key attributes, which are /// automatically projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, ///

    Represents the provisioned throughput settings for the specified global secondary index.

    ///

    For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, } @@ -5971,14 +5662,13 @@ impl CreateGlobalSecondaryIndexAction { /// can be modified using the UpdateTable operation.

    ///

    For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedThroughput { ///

    The maximum number of strongly consistent reads consumed per second before DynamoDB returns a /// ThrottlingException. For more information, see Specifying Read and Write /// Requirements in the Amazon DynamoDB Developer Guide.

    ///

    If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

    #[serde(rename = "ReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub read_capacity_units: std::option::Option, ///

    The maximum number of writes consumed per second before DynamoDB returns a @@ -5986,7 +5676,6 @@ pub struct ProvisionedThroughput { /// Requirements in the Amazon DynamoDB Developer Guide.

    ///

    If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

    #[serde(rename = "WriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub write_capacity_units: std::option::Option, } @@ -6050,17 +5739,15 @@ impl ProvisionedThroughput { ///

    Represents the new provisioned throughput settings to be applied to a global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateGlobalSecondaryIndexAction { ///

    The name of the global secondary index to be updated.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    Represents the provisioned throughput settings for the specified global secondary index.

    ///

    For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, } @@ -6124,11 +5811,10 @@ impl UpdateGlobalSecondaryIndexAction { /// ItemCollectionMetrics is only returned if the request asked for it. If the /// table does not have any local secondary indexes, this information is not returned in the response.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ItemCollectionMetrics { ///

    The partition key value of the item collection. This value is the same as the partition key value of the item.

    #[serde(rename = "ItemCollectionKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item_collection_key: std::option::Option< std::collections::HashMap, @@ -6136,7 +5822,6 @@ pub struct ItemCollectionMetrics { ///

    An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    ///

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

    #[serde(rename = "SizeEstimateRangeGB")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub size_estimate_range_gb: std::option::Option>, } @@ -6209,16 +5894,13 @@ impl ItemCollectionMetrics { } #[non_exhaustive] -#[derive( - serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug, -)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub enum AttributeValue { ///

    An attribute of type Binary. For example:

    ///

    /// "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" ///

    #[serde(rename = "B")] - #[serde(serialize_with = "crate::serde_util::smithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::smithytypesblob_deser")] B(smithy_types::Blob), ///

    An attribute of type Boolean. For example:

    @@ -6232,7 +5914,6 @@ pub enum AttributeValue { /// "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] ///

    #[serde(rename = "BS")] - #[serde(serialize_with = "crate::serde_util::stdvecvecsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdvecvecsmithytypesblob_deser")] Bs(std::vec::Vec), ///

    An attribute of type List. For example:

    @@ -6391,42 +6072,35 @@ impl AttributeValue { /// For more information, see Provisioned /// Throughput in the Amazon DynamoDB Developer Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ConsumedCapacity { ///

    The name of the table that was affected by the operation.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    The total number of capacity units consumed by the operation.

    #[serde(rename = "CapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub capacity_units: std::option::Option, ///

    The total number of read capacity units consumed by the operation.

    #[serde(rename = "ReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub read_capacity_units: std::option::Option, ///

    The total number of write capacity units consumed by the operation.

    #[serde(rename = "WriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub write_capacity_units: std::option::Option, ///

    The amount of throughput consumed on the table affected by the operation.

    #[serde(rename = "Table")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table: std::option::Option, ///

    The amount of throughput consumed on each local index affected by the operation.

    #[serde(rename = "LocalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub local_secondary_indexes: std::option::Option>, ///

    The amount of throughput consumed on each global index affected by the operation.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option>, @@ -6569,21 +6243,18 @@ impl ConsumedCapacity { ///

    Represents the amount of provisioned throughput capacity consumed on a table or an index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Capacity { ///

    The total number of read capacity units consumed on a table or an index.

    #[serde(rename = "ReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub read_capacity_units: std::option::Option, ///

    The total number of write capacity units consumed on a table or an index.

    #[serde(rename = "WriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub write_capacity_units: std::option::Option, ///

    The total number of capacity units consumed on a table or an index.

    #[serde(rename = "CapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub capacity_units: std::option::Option, } @@ -6675,7 +6346,6 @@ impl std::convert::From<&str> for ReturnItemCollectionMetrics { } } } - impl std::str::FromStr for ReturnItemCollectionMetrics { type Err = std::convert::Infallible; @@ -6683,7 +6353,6 @@ impl std::str::FromStr for ReturnItemCollectionMetrics { Ok(ReturnItemCollectionMetrics::from(s)) } } - impl ReturnItemCollectionMetrics { pub fn as_str(&self) -> &str { match self { @@ -6698,19 +6367,6 @@ impl AsRef for ReturnItemCollectionMetrics { self.as_str() } } - -impl serde::Serialize for ReturnItemCollectionMetrics { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReturnItemCollectionMetrics { fn deserialize(deserializer: D) -> Result where @@ -6763,7 +6419,6 @@ impl std::convert::From<&str> for ReturnConsumedCapacity { } } } - impl std::str::FromStr for ReturnConsumedCapacity { type Err = std::convert::Infallible; @@ -6771,7 +6426,6 @@ impl std::str::FromStr for ReturnConsumedCapacity { Ok(ReturnConsumedCapacity::from(s)) } } - impl ReturnConsumedCapacity { pub fn as_str(&self) -> &str { match self { @@ -6787,19 +6441,6 @@ impl AsRef for ReturnConsumedCapacity { self.as_str() } } - -impl serde::Serialize for ReturnConsumedCapacity { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReturnConsumedCapacity { fn deserialize(deserializer: D) -> Result where @@ -6840,7 +6481,6 @@ impl std::convert::From<&str> for ReturnValue { } } } - impl std::str::FromStr for ReturnValue { type Err = std::convert::Infallible; @@ -6848,7 +6488,6 @@ impl std::str::FromStr for ReturnValue { Ok(ReturnValue::from(s)) } } - impl ReturnValue { pub fn as_str(&self) -> &str { match self { @@ -6866,19 +6505,6 @@ impl AsRef for ReturnValue { self.as_str() } } - -impl serde::Serialize for ReturnValue { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReturnValue { fn deserialize(deserializer: D) -> Result where @@ -6913,7 +6539,6 @@ impl std::convert::From<&str> for ConditionalOperator { } } } - impl std::str::FromStr for ConditionalOperator { type Err = std::convert::Infallible; @@ -6921,7 +6546,6 @@ impl std::str::FromStr for ConditionalOperator { Ok(ConditionalOperator::from(s)) } } - impl ConditionalOperator { pub fn as_str(&self) -> &str { match self { @@ -6936,19 +6560,6 @@ impl AsRef for ConditionalOperator { self.as_str() } } - -impl serde::Serialize for ConditionalOperator { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ConditionalOperator { fn deserialize(deserializer: D) -> Result where @@ -6984,14 +6595,13 @@ impl<'de> serde::Deserialize<'de> for ConditionalOperator { /// ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will /// return a ValidationException exception.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExpectedAttributeValue { ///

    Represents the data for the expected attribute.

    ///

    Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

    ///

    For more information, see Data Types in the /// Amazon DynamoDB Developer Guide.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    Causes DynamoDB to evaluate the value before attempting a conditional operation:

    @@ -7025,7 +6635,6 @@ pub struct ExpectedAttributeValue { /// /// #[serde(rename = "Exists")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub exists: std::option::Option, ///

    A comparator for evaluating attributes in the AttributeValueList. For example, equals, @@ -7175,7 +6784,6 @@ pub struct ExpectedAttributeValue { /// /// #[serde(rename = "ComparisonOperator")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comparison_operator: std::option::Option, ///

    One or more values to evaluate against the supplied attribute. The number of values in the @@ -7187,7 +6795,6 @@ pub struct ExpectedAttributeValue { ///

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

    ///

    For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "AttributeValueList")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_value_list: std::option::Option>, } @@ -7501,7 +7108,6 @@ impl std::convert::From<&str> for ComparisonOperator { } } } - impl std::str::FromStr for ComparisonOperator { type Err = std::convert::Infallible; @@ -7509,7 +7115,6 @@ impl std::str::FromStr for ComparisonOperator { Ok(ComparisonOperator::from(s)) } } - impl ComparisonOperator { pub fn as_str(&self) -> &str { match self { @@ -7535,19 +7140,6 @@ impl AsRef for ComparisonOperator { self.as_str() } } - -impl serde::Serialize for ComparisonOperator { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ComparisonOperator { fn deserialize(deserializer: D) -> Result where @@ -7569,14 +7161,13 @@ impl<'de> serde::Deserialize<'de> for ComparisonOperator { /// than zero; and set type attributes must not be empty. Requests with empty values will be /// rejected with a ValidationException exception.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AttributeValueUpdate { ///

    Represents the data for an attribute.

    ///

    Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

    ///

    For more information, see Data Types in the Amazon DynamoDB Developer Guide. ///

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    Specifies how to perform the update. Valid values are PUT (default), DELETE, @@ -7663,7 +7254,6 @@ pub struct AttributeValueUpdate { /// /// #[serde(rename = "Action")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub action: std::option::Option, } @@ -7833,7 +7423,6 @@ impl std::convert::From<&str> for AttributeAction { } } } - impl std::str::FromStr for AttributeAction { type Err = std::convert::Infallible; @@ -7841,7 +7430,6 @@ impl std::str::FromStr for AttributeAction { Ok(AttributeAction::from(s)) } } - impl AttributeAction { pub fn as_str(&self) -> &str { match self { @@ -7857,19 +7445,6 @@ impl AsRef for AttributeAction { self.as_str() } } - -impl serde::Serialize for AttributeAction { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AttributeAction { fn deserialize(deserializer: D) -> Result where @@ -7882,11 +7457,10 @@ impl<'de> serde::Deserialize<'de> for AttributeAction { ///

    Represents the properties of a replica.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaSettingsDescription { ///

    The Region name of the replica.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    The current state of the Region:

    @@ -7909,12 +7483,10 @@ pub struct ReplicaSettingsDescription { /// /// #[serde(rename = "ReplicaStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_status: std::option::Option, ///

    The read/write capacity mode of the replica.

    #[serde(rename = "ReplicaBillingModeSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_billing_mode_summary: std::option::Option, ///

    The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. @@ -7922,12 +7494,10 @@ pub struct ReplicaSettingsDescription { /// Requirements in the Amazon DynamoDB Developer Guide. ///

    #[serde(rename = "ReplicaProvisionedReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_read_capacity_units: std::option::Option, ///

    Auto scaling settings for a global table replica's read capacity units.

    #[serde(rename = "ReplicaProvisionedReadCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_read_capacity_auto_scaling_settings: std::option::Option, @@ -7935,18 +7505,15 @@ pub struct ReplicaSettingsDescription { /// For more information, see Specifying Read and Write /// Requirements in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ReplicaProvisionedWriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_write_capacity_units: std::option::Option, ///

    Auto scaling settings for a global table replica's write capacity units.

    #[serde(rename = "ReplicaProvisionedWriteCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_write_capacity_auto_scaling_settings: std::option::Option, ///

    Replica global secondary index settings for the global table.

    #[serde(rename = "ReplicaGlobalSecondaryIndexSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_global_secondary_index_settings: std::option::Option< std::vec::Vec, @@ -8167,11 +7734,10 @@ impl ReplicaSettingsDescription { ///

    Represents the properties of a global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaGlobalSecondaryIndexSettingsDescription { ///

    The name of the global secondary index. The name must be unique among all other indexes on this table.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    @@ -8195,29 +7761,24 @@ pub struct ReplicaGlobalSecondaryIndexSettingsDescription { /// /// #[serde(rename = "IndexStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_status: std::option::Option, ///

    The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

    #[serde(rename = "ProvisionedReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_read_capacity_units: std::option::Option, ///

    Auto scaling settings for a global secondary index replica's read capacity units.

    #[serde(rename = "ProvisionedReadCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_read_capacity_auto_scaling_settings: std::option::Option, ///

    The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

    #[serde(rename = "ProvisionedWriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_write_capacity_units: std::option::Option, ///

    Auto scaling settings for a global secondary index replica's write capacity /// units.

    #[serde(rename = "ProvisionedWriteCapacityAutoScalingSettings")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_write_capacity_auto_scaling_settings: std::option::Option, @@ -8381,11 +7942,10 @@ impl ReplicaGlobalSecondaryIndexSettingsDescription { ///

    Represents the settings for a global table in a Region that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaSettingsUpdate { ///

    The Region of the replica to be added.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, ///

    The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. @@ -8393,18 +7953,15 @@ pub struct ReplicaSettingsUpdate { /// Requirements in the Amazon DynamoDB Developer Guide. ///

    #[serde(rename = "ReplicaProvisionedReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_read_capacity_units: std::option::Option, ///

    Auto scaling settings for managing a global table replica's read capacity units.

    #[serde(rename = "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_provisioned_read_capacity_auto_scaling_settings_update: std::option::Option, ///

    Represents the settings of a global secondary index for a global table that will be modified.

    #[serde(rename = "ReplicaGlobalSecondaryIndexSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replica_global_secondary_index_settings_update: std::option::Option>, @@ -8525,22 +8082,19 @@ impl ReplicaSettingsUpdate { ///

    Represents the settings of a global secondary index for a global table that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaGlobalSecondaryIndexSettingsUpdate { ///

    The name of the global secondary index. The name must be unique among all other indexes on this table.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

    #[serde(rename = "ProvisionedReadCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_read_capacity_units: std::option::Option, ///

    Auto scaling settings for managing a global secondary index replica's read capacity /// units.

    #[serde(rename = "ProvisionedReadCapacityAutoScalingSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_read_capacity_auto_scaling_settings_update: std::option::Option, @@ -8629,23 +8183,20 @@ impl ReplicaGlobalSecondaryIndexSettingsUpdate { ///

    Represents the settings of a global secondary index for a global table that will be modified.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalTableGlobalSecondaryIndexSettingsUpdate { ///

    The name of the global secondary index. The name must be unique among all other indexes on this table.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. ///

    #[serde(rename = "ProvisionedWriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_write_capacity_units: std::option::Option, ///

    Auto scaling settings for managing a global secondary index's write capacity /// units.

    #[serde(rename = "ProvisionedWriteCapacityAutoScalingSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_write_capacity_auto_scaling_settings_update: std::option::Option, @@ -8735,24 +8286,18 @@ impl GlobalTableGlobalSecondaryIndexSettingsUpdate { ///

    Contains details about the global table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalTableDescription { ///

    The Regions where the global table has replicas.

    #[serde(rename = "ReplicationGroup")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replication_group: std::option::Option>, ///

    The unique identifier of the global table.

    #[serde(rename = "GlobalTableArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_table_arn: std::option::Option, ///

    The creation time of the global table.

    #[serde(rename = "CreationDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -8778,12 +8323,10 @@ pub struct GlobalTableDescription { /// /// #[serde(rename = "GlobalTableStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_table_status: std::option::Option, ///

    The global table name.

    #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_table_name: std::option::Option, } @@ -8941,7 +8484,6 @@ impl std::convert::From<&str> for GlobalTableStatus { } } } - impl std::str::FromStr for GlobalTableStatus { type Err = std::convert::Infallible; @@ -8949,7 +8491,6 @@ impl std::str::FromStr for GlobalTableStatus { Ok(GlobalTableStatus::from(s)) } } - impl GlobalTableStatus { pub fn as_str(&self) -> &str { match self { @@ -8966,19 +8507,6 @@ impl AsRef for GlobalTableStatus { self.as_str() } } - -impl serde::Serialize for GlobalTableStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for GlobalTableStatus { fn deserialize(deserializer: D) -> Result where @@ -9002,16 +8530,14 @@ impl<'de> serde::Deserialize<'de> for GlobalTableStatus { /// /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicaUpdate { ///

    The parameters required for creating a replica on an existing global table.

    #[serde(rename = "Create")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub create: std::option::Option, ///

    The name of the existing replica to be removed.

    #[serde(rename = "Delete")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub delete: std::option::Option, } @@ -9075,11 +8601,10 @@ impl ReplicaUpdate { ///

    Represents a replica to be removed.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteReplicaAction { ///

    The Region of the replica to be removed.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, } @@ -9125,11 +8650,10 @@ impl DeleteReplicaAction { ///

    Represents a replica to be added.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CreateReplicaAction { ///

    The Region of the replica to be added.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, } @@ -9203,7 +8727,6 @@ impl std::convert::From<&str> for ContributorInsightsStatus { } } } - impl std::str::FromStr for ContributorInsightsStatus { type Err = std::convert::Infallible; @@ -9211,7 +8734,6 @@ impl std::str::FromStr for ContributorInsightsStatus { Ok(ContributorInsightsStatus::from(s)) } } - impl ContributorInsightsStatus { pub fn as_str(&self) -> &str { match self { @@ -9229,19 +8751,6 @@ impl AsRef for ContributorInsightsStatus { self.as_str() } } - -impl serde::Serialize for ContributorInsightsStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ContributorInsightsStatus { fn deserialize(deserializer: D) -> Result where @@ -9276,7 +8785,6 @@ impl std::convert::From<&str> for ContributorInsightsAction { } } } - impl std::str::FromStr for ContributorInsightsAction { type Err = std::convert::Infallible; @@ -9284,7 +8792,6 @@ impl std::str::FromStr for ContributorInsightsAction { Ok(ContributorInsightsAction::from(s)) } } - impl ContributorInsightsAction { pub fn as_str(&self) -> &str { match self { @@ -9299,19 +8806,6 @@ impl AsRef for ContributorInsightsAction { self.as_str() } } - -impl serde::Serialize for ContributorInsightsAction { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ContributorInsightsAction { fn deserialize(deserializer: D) -> Result where @@ -9324,18 +8818,16 @@ impl<'de> serde::Deserialize<'de> for ContributorInsightsAction { ///

    Represents the continuous backups and point in time recovery settings on the table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ContinuousBackupsDescription { ///

    /// ContinuousBackupsStatus can be one of the following states: ENABLED, /// DISABLED

    #[serde(rename = "ContinuousBackupsStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub continuous_backups_status: std::option::Option, ///

    The description of the point in time recovery settings applied to the table.

    #[serde(rename = "PointInTimeRecoveryDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub point_in_time_recovery_description: std::option::Option, @@ -9413,7 +8905,7 @@ impl ContinuousBackupsDescription { ///

    The description of the point in time settings applied to the table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PointInTimeRecoveryDescription { ///

    The current state of point in time recovery:

    ///
      @@ -9431,16 +8923,11 @@ pub struct PointInTimeRecoveryDescription { /// ///
    #[serde(rename = "PointInTimeRecoveryStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub point_in_time_recovery_status: std::option::Option, ///

    Specifies the earliest point in time you can restore your table to. You can restore your /// table to any point in time during the last 35 days.

    #[serde(rename = "EarliestRestorableDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -9450,10 +8937,6 @@ pub struct PointInTimeRecoveryDescription { /// LatestRestorableDateTime is typically 5 minutes before the current time. ///

    #[serde(rename = "LatestRestorableDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -9587,7 +9070,6 @@ impl std::convert::From<&str> for PointInTimeRecoveryStatus { } } } - impl std::str::FromStr for PointInTimeRecoveryStatus { type Err = std::convert::Infallible; @@ -9595,7 +9077,6 @@ impl std::str::FromStr for PointInTimeRecoveryStatus { Ok(PointInTimeRecoveryStatus::from(s)) } } - impl PointInTimeRecoveryStatus { pub fn as_str(&self) -> &str { match self { @@ -9610,19 +9091,6 @@ impl AsRef for PointInTimeRecoveryStatus { self.as_str() } } - -impl serde::Serialize for PointInTimeRecoveryStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PointInTimeRecoveryStatus { fn deserialize(deserializer: D) -> Result where @@ -9657,7 +9125,6 @@ impl std::convert::From<&str> for ContinuousBackupsStatus { } } } - impl std::str::FromStr for ContinuousBackupsStatus { type Err = std::convert::Infallible; @@ -9665,7 +9132,6 @@ impl std::str::FromStr for ContinuousBackupsStatus { Ok(ContinuousBackupsStatus::from(s)) } } - impl ContinuousBackupsStatus { pub fn as_str(&self) -> &str { match self { @@ -9680,19 +9146,6 @@ impl AsRef for ContinuousBackupsStatus { self.as_str() } } - -impl serde::Serialize for ContinuousBackupsStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ContinuousBackupsStatus { fn deserialize(deserializer: D) -> Result where @@ -9705,11 +9158,10 @@ impl<'de> serde::Deserialize<'de> for ContinuousBackupsStatus { ///

    Represents the settings used to enable point in time recovery.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PointInTimeRecoverySpecification { ///

    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

    #[serde(rename = "PointInTimeRecoveryEnabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub point_in_time_recovery_enabled: std::option::Option, } @@ -9765,23 +9217,20 @@ impl PointInTimeRecoverySpecification { /// occurred for the associated item an error with a Null code and Null message will be present. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CancellationReason { ///

    Item in the request which caused the transaction to get cancelled.

    #[serde(rename = "Item")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item: std::option::Option< std::collections::HashMap, >, ///

    Status code for the result of the cancelled transaction.

    #[serde(rename = "Code")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code: std::option::Option, ///

    Cancellation reason message description.

    #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -9863,26 +9312,22 @@ impl CancellationReason { ///

    A list of requests that can perform update, put, delete, or check operations on multiple items in one or more tables atomically.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TransactWriteItem { ///

    A request to perform a check item operation.

    #[serde(rename = "ConditionCheck")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub condition_check: std::option::Option, ///

    A request to perform a PutItem operation.

    #[serde(rename = "Put")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub put: std::option::Option, ///

    A request to perform a DeleteItem operation.

    #[serde(rename = "Delete")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub delete: std::option::Option, ///

    A request to perform an UpdateItem operation.

    #[serde(rename = "Update")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub update: std::option::Option, } @@ -9967,12 +9412,11 @@ impl TransactWriteItem { ///

    Represents a request to perform an UpdateItem operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Update { ///

    The primary key of the item to be updated. Each element consists of /// an attribute name and a value for that attribute.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option< std::collections::HashMap, @@ -9980,29 +9424,24 @@ pub struct Update { ///

    An expression that defines one or more attributes to be updated, /// the action to be performed on them, and new value(s) for them.

    #[serde(rename = "UpdateExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub update_expression: std::option::Option, ///

    Name of the table for the UpdateItem request.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    A condition that must be satisfied in order for a conditional update to /// succeed.

    #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub condition_expression: std::option::Option, ///

    One or more substitution tokens for attribute names in an expression.

    #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_names: std::option::Option>, ///

    One or more values that can be substituted in an expression.

    #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_values: std::option::Option< std::collections::HashMap, @@ -10012,7 +9451,6 @@ pub struct Update { /// For ReturnValuesOnConditionCheckFailure, the valid /// values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.

    #[serde(rename = "ReturnValuesOnConditionCheckFailure")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub return_values_on_condition_check_failure: std::option::Option, @@ -10217,7 +9655,6 @@ impl std::convert::From<&str> for ReturnValuesOnConditionCheckFailure { } } } - impl std::str::FromStr for ReturnValuesOnConditionCheckFailure { type Err = std::convert::Infallible; @@ -10225,7 +9662,6 @@ impl std::str::FromStr for ReturnValuesOnConditionCheckFailure { Ok(ReturnValuesOnConditionCheckFailure::from(s)) } } - impl ReturnValuesOnConditionCheckFailure { pub fn as_str(&self) -> &str { match self { @@ -10240,19 +9676,6 @@ impl AsRef for ReturnValuesOnConditionCheckFailure { self.as_str() } } - -impl serde::Serialize for ReturnValuesOnConditionCheckFailure { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReturnValuesOnConditionCheckFailure { fn deserialize(deserializer: D) -> Result where @@ -10265,35 +9688,30 @@ impl<'de> serde::Deserialize<'de> for ReturnValuesOnConditionCheckFailure { ///

    Represents a request to perform a DeleteItem operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Delete { ///

    The primary key of the item to be deleted. Each element consists of an /// attribute name and a value for that attribute.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option< std::collections::HashMap, >, ///

    Name of the table in which the item to be deleted resides.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    A condition that must be satisfied in order for a conditional delete to succeed.

    #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub condition_expression: std::option::Option, ///

    One or more substitution tokens for attribute names in an expression.

    #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_names: std::option::Option>, ///

    One or more values that can be substituted in an expression.

    #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_values: std::option::Option< std::collections::HashMap, @@ -10303,7 +9721,6 @@ pub struct Delete { /// For ReturnValuesOnConditionCheckFailure, the valid /// values are: NONE and ALL_OLD.

    #[serde(rename = "ReturnValuesOnConditionCheckFailure")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub return_values_on_condition_check_failure: std::option::Option, @@ -10469,7 +9886,7 @@ impl Delete { ///

    Represents a request to perform a PutItem operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Put { ///

    A map of attribute name to attribute values, representing the primary key /// of the item to be written by PutItem. All of the table's primary key @@ -10477,30 +9894,25 @@ pub struct Put { /// key schema. If any attributes are present in the item that are part of an index /// key schema for the table, their types must match the index key schema.

    #[serde(rename = "Item")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item: std::option::Option< std::collections::HashMap, >, ///

    Name of the table in which to write the item.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    A condition that must be satisfied in order for a conditional update to succeed.

    #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub condition_expression: std::option::Option, ///

    One or more substitution tokens for attribute names in an expression.

    #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_names: std::option::Option>, ///

    One or more values that can be substituted in an expression.

    #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_values: std::option::Option< std::collections::HashMap, @@ -10510,7 +9922,6 @@ pub struct Put { /// For ReturnValuesOnConditionCheckFailure, the valid /// values are: NONE and ALL_OLD.

    #[serde(rename = "ReturnValuesOnConditionCheckFailure")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub return_values_on_condition_check_failure: std::option::Option, @@ -10677,35 +10088,30 @@ impl Put { ///

    Represents a request to perform a check that an item exists or to check the condition of /// specific attributes of the item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ConditionCheck { ///

    The primary key of the item to be checked. Each element consists of an /// attribute name and a value for that attribute.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option< std::collections::HashMap, >, ///

    Name of the table for the check item request.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    A condition that must be satisfied in order for a conditional update to succeed.

    #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub condition_expression: std::option::Option, ///

    One or more substitution tokens for attribute names in an expression.

    #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_names: std::option::Option>, ///

    One or more values that can be substituted in an expression.

    #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_values: std::option::Option< std::collections::HashMap, @@ -10715,7 +10121,6 @@ pub struct ConditionCheck { /// For ReturnValuesOnConditionCheckFailure, the valid /// values are: NONE and ALL_OLD.

    #[serde(rename = "ReturnValuesOnConditionCheckFailure")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub return_values_on_condition_check_failure: std::option::Option, @@ -10881,11 +10286,10 @@ impl ConditionCheck { ///

    Details for the requested item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ItemResponse { ///

    Map of attribute data consisting of the data type and attribute value.

    #[serde(rename = "Item")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item: std::option::Option< std::collections::HashMap, @@ -10943,13 +10347,12 @@ impl ItemResponse { ///

    Specifies an item to be retrieved as part of the transaction.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TransactGetItem { ///

    Contains the primary key that identifies the item to get, together /// with the name of the table that contains the item, and optionally /// the specific attributes of the item to retrieve.

    #[serde(rename = "Get")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub get: std::option::Option, } @@ -10996,19 +10399,17 @@ impl TransactGetItem { ///

    Specifies an item and related attribute values to retrieve in a /// TransactGetItem object.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Get { ///

    A map of attribute names to AttributeValue objects that /// specifies the primary key of the item to retrieve.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option< std::collections::HashMap, >, ///

    The name of the table from which to retrieve the specified item.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    A string that identifies one or more attributes of the specified item @@ -11017,13 +10418,11 @@ pub struct Get { /// attributes of the specified item are returned. If any of the requested /// attributes are not found, they do not appear in the result.

    #[serde(rename = "ProjectionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection_expression: std::option::Option, ///

    One or more substitution tokens for attribute names in the /// ProjectionExpression parameter.

    #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_names: std::option::Option>, @@ -11148,18 +10547,16 @@ impl Get { /// Tagging for DynamoDB /// in the Amazon DynamoDB Developer Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { ///

    The key of the tag. Tag keys are case sensitive. Each DynamoDB table can only have up to /// one tag with the same key. If you try to add an existing tag (same key), the existing /// tag value will be updated to the new value.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value of the tag. Tag values are case-sensitive and can be null.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -11236,7 +10633,7 @@ impl Tag { /// /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Condition { ///

    One or more values to evaluate against the supplied attribute. The number of values in the /// list depends on the ComparisonOperator being used.

    @@ -11246,7 +10643,6 @@ pub struct Condition { /// is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    ///

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

    #[serde(rename = "AttributeValueList")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_value_list: std::option::Option>, ///

    A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

    @@ -11398,7 +10794,6 @@ pub struct Condition { /// Legacy Conditional Parameters /// in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ComparisonOperator")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comparison_operator: std::option::Option, } @@ -11640,7 +11035,6 @@ impl std::convert::From<&str> for Select { } } } - impl std::str::FromStr for Select { type Err = std::convert::Infallible; @@ -11648,7 +11042,6 @@ impl std::str::FromStr for Select { Ok(Select::from(s)) } } - impl Select { pub fn as_str(&self) -> &str { match self { @@ -11665,19 +11058,6 @@ impl AsRef for Select { self.as_str() } } - -impl serde::Serialize for Select { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Select { fn deserialize(deserializer: D) -> Result where @@ -11690,11 +11070,10 @@ impl<'de> serde::Deserialize<'de> for Select { ///

    Represents the properties of a local secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LocalSecondaryIndex { ///

    The name of the local secondary index. The name must be unique among all other indexes on this table.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

    @@ -11717,14 +11096,12 @@ pub struct LocalSecondaryIndex { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into the local /// secondary index. These are in addition to the primary key attributes and index key /// attributes, which are automatically projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, } @@ -11803,11 +11180,10 @@ impl LocalSecondaryIndex { ///

    Represents the properties of a global secondary index.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalSecondaryIndex { ///

    The name of the global secondary index. The name must be unique among all other indexes on this table.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

    @@ -11830,20 +11206,17 @@ pub struct GlobalSecondaryIndex { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into the global /// secondary index. These are in addition to the primary key attributes and index key /// attributes, which are automatically projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, ///

    Represents the provisioned throughput settings for the specified global secondary index.

    ///

    For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, } @@ -11938,16 +11311,14 @@ impl GlobalSecondaryIndex { ///

    Represents the properties of a global table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalTable { ///

    The global table name.

    #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_table_name: std::option::Option, ///

    The Regions where the global table has replicas.

    #[serde(rename = "ReplicationGroup")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub replication_group: std::option::Option>, } @@ -12012,11 +11383,10 @@ impl GlobalTable { ///

    Represents the properties of a replica.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Replica { ///

    The Region where the replica needs to be created.

    #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub region_name: std::option::Option, } @@ -12062,16 +11432,14 @@ impl Replica { ///

    Summary information about an export task.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExportSummary { ///

    The Amazon Resource Name (ARN) of the export.

    #[serde(rename = "ExportArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_arn: std::option::Option, ///

    Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.

    #[serde(rename = "ExportStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_status: std::option::Option, } @@ -12156,7 +11524,6 @@ impl std::convert::From<&str> for ExportStatus { } } } - impl std::str::FromStr for ExportStatus { type Err = std::convert::Infallible; @@ -12164,7 +11531,6 @@ impl std::str::FromStr for ExportStatus { Ok(ExportStatus::from(s)) } } - impl ExportStatus { pub fn as_str(&self) -> &str { match self { @@ -12180,19 +11546,6 @@ impl AsRef for ExportStatus { self.as_str() } } - -impl serde::Serialize for ExportStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExportStatus { fn deserialize(deserializer: D) -> Result where @@ -12205,21 +11558,18 @@ impl<'de> serde::Deserialize<'de> for ExportStatus { ///

    Represents a Contributor Insights summary entry.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ContributorInsightsSummary { ///

    Name of the table associated with the summary.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    Name of the index associated with the summary, if any.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    Describes the current status for contributor insights for the given table and index, if applicable.

    #[serde(rename = "ContributorInsightsStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub contributor_insights_status: std::option::Option, } @@ -12299,39 +11649,30 @@ impl ContributorInsightsSummary { ///

    Contains details for the backup.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BackupSummary { ///

    Name of the table.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    Unique identifier for the table.

    #[serde(rename = "TableId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_id: std::option::Option, ///

    ARN associated with the table.

    #[serde(rename = "TableArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_arn: std::option::Option, ///

    ARN associated with the backup.

    #[serde(rename = "BackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_arn: std::option::Option, ///

    Name of the specified backup.

    #[serde(rename = "BackupName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_name: std::option::Option, ///

    Time at which the backup was created.

    #[serde(rename = "BackupCreationDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12341,10 +11682,6 @@ pub struct BackupSummary { /// SYSTEM on-demand backup expires automatically 35 days after its /// creation.

    #[serde(rename = "BackupExpiryDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12352,7 +11689,6 @@ pub struct BackupSummary { pub backup_expiry_date_time: std::option::Option, ///

    Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

    #[serde(rename = "BackupStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_status: std::option::Option, ///

    BackupType:

    @@ -12374,12 +11710,10 @@ pub struct BackupSummary { /// /// #[serde(rename = "BackupType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_type: std::option::Option, ///

    Size of the backup in bytes.

    #[serde(rename = "BackupSizeBytes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_size_bytes: std::option::Option, } @@ -12588,7 +11922,6 @@ impl std::convert::From<&str> for BackupType { } } } - impl std::str::FromStr for BackupType { type Err = std::convert::Infallible; @@ -12596,7 +11929,6 @@ impl std::str::FromStr for BackupType { Ok(BackupType::from(s)) } } - impl BackupType { pub fn as_str(&self) -> &str { match self { @@ -12612,19 +11944,6 @@ impl AsRef for BackupType { self.as_str() } } - -impl serde::Serialize for BackupType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BackupType { fn deserialize(deserializer: D) -> Result where @@ -12661,7 +11980,6 @@ impl std::convert::From<&str> for BackupStatus { } } } - impl std::str::FromStr for BackupStatus { type Err = std::convert::Infallible; @@ -12669,7 +11987,6 @@ impl std::str::FromStr for BackupStatus { Ok(BackupStatus::from(s)) } } - impl BackupStatus { pub fn as_str(&self) -> &str { match self { @@ -12685,19 +12002,6 @@ impl AsRef for BackupStatus { self.as_str() } } - -impl serde::Serialize for BackupStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BackupStatus { fn deserialize(deserializer: D) -> Result where @@ -12736,7 +12040,6 @@ impl std::convert::From<&str> for BackupTypeFilter { } } } - impl std::str::FromStr for BackupTypeFilter { type Err = std::convert::Infallible; @@ -12744,7 +12047,6 @@ impl std::str::FromStr for BackupTypeFilter { Ok(BackupTypeFilter::from(s)) } } - impl BackupTypeFilter { pub fn as_str(&self) -> &str { match self { @@ -12761,19 +12063,6 @@ impl AsRef for BackupTypeFilter { self.as_str() } } - -impl serde::Serialize for BackupTypeFilter { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BackupTypeFilter { fn deserialize(deserializer: D) -> Result where @@ -12786,24 +12075,18 @@ impl<'de> serde::Deserialize<'de> for BackupTypeFilter { ///

    Represents the properties of the exported table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExportDescription { ///

    The Amazon Resource Name (ARN) of the table export.

    #[serde(rename = "ExportArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_arn: std::option::Option, ///

    Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.

    #[serde(rename = "ExportStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_status: std::option::Option, ///

    The time at which the export task began.

    #[serde(rename = "StartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12811,10 +12094,6 @@ pub struct ExportDescription { pub start_time: std::option::Option, ///

    The time at which the export task completed.

    #[serde(rename = "EndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12822,25 +12101,18 @@ pub struct ExportDescription { pub end_time: std::option::Option, ///

    The name of the manifest file for the export task.

    #[serde(rename = "ExportManifest")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_manifest: std::option::Option, ///

    The Amazon Resource Name (ARN) of the table that was exported.

    #[serde(rename = "TableArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_arn: std::option::Option, ///

    Unique ID of the table that was exported.

    #[serde(rename = "TableId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_id: std::option::Option, ///

    Point in time from which table data was exported.

    #[serde(rename = "ExportTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12850,23 +12122,19 @@ pub struct ExportDescription { /// ExportTableToPointInTimeInput idempotent, meaning that multiple /// identical calls have the same effect as one single call.

    #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub client_token: std::option::Option, ///

    The name of the Amazon S3 bucket containing the export.

    #[serde(rename = "S3Bucket")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_bucket: std::option::Option, ///

    The ID of the AWS account that owns the bucket containing the export.

    #[serde(rename = "S3BucketOwner")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_bucket_owner: std::option::Option, ///

    The Amazon S3 bucket prefix used as the file name and path of the exported /// snapshot.

    #[serde(rename = "S3Prefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_prefix: std::option::Option, ///

    Type of encryption used on the bucket where export data is stored. Valid values @@ -12882,39 +12150,32 @@ pub struct ExportDescription { /// /// #[serde(rename = "S3SseAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_sse_algorithm: std::option::Option, ///

    The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is /// stored (if applicable).

    #[serde(rename = "S3SseKmsKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_sse_kms_key_id: std::option::Option, ///

    Status code for the result of the failed export.

    #[serde(rename = "FailureCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_code: std::option::Option, ///

    Export failure reason description.

    #[serde(rename = "FailureMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_message: std::option::Option, ///

    The format of the exported data. Valid values for ExportFormat are /// DYNAMODB_JSON or ION.

    #[serde(rename = "ExportFormat")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_format: std::option::Option, ///

    The billable size of the table export.

    #[serde(rename = "BilledSizeBytes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub billed_size_bytes: std::option::Option, ///

    The number of items exported.

    #[serde(rename = "ItemCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item_count: std::option::Option, } @@ -13235,7 +12496,6 @@ impl std::convert::From<&str> for ExportFormat { } } } - impl std::str::FromStr for ExportFormat { type Err = std::convert::Infallible; @@ -13243,7 +12503,6 @@ impl std::str::FromStr for ExportFormat { Ok(ExportFormat::from(s)) } } - impl ExportFormat { pub fn as_str(&self) -> &str { match self { @@ -13258,19 +12517,6 @@ impl AsRef for ExportFormat { self.as_str() } } - -impl serde::Serialize for ExportFormat { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExportFormat { fn deserialize(deserializer: D) -> Result where @@ -13305,7 +12551,6 @@ impl std::convert::From<&str> for S3SseAlgorithm { } } } - impl std::str::FromStr for S3SseAlgorithm { type Err = std::convert::Infallible; @@ -13313,7 +12558,6 @@ impl std::str::FromStr for S3SseAlgorithm { Ok(S3SseAlgorithm::from(s)) } } - impl S3SseAlgorithm { pub fn as_str(&self) -> &str { match self { @@ -13328,19 +12572,6 @@ impl AsRef for S3SseAlgorithm { self.as_str() } } - -impl serde::Serialize for S3SseAlgorithm { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for S3SseAlgorithm { fn deserialize(deserializer: D) -> Result where @@ -13355,20 +12586,18 @@ impl<'de> serde::Deserialize<'de> for S3SseAlgorithm { /// Represents a PartiQL statment that uses parameters. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterizedStatement { ///

    /// A PartiQL statment that uses parameters. ///

    #[serde(rename = "Statement")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub statement: std::option::Option, ///

    /// The parameter values. ///

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option>, } @@ -13460,7 +12689,6 @@ impl std::convert::From<&str> for DestinationStatus { } } } - impl std::str::FromStr for DestinationStatus { type Err = std::convert::Infallible; @@ -13468,7 +12696,6 @@ impl std::str::FromStr for DestinationStatus { Ok(DestinationStatus::from(s)) } } - impl DestinationStatus { pub fn as_str(&self) -> &str { match self { @@ -13486,19 +12713,6 @@ impl AsRef for DestinationStatus { self.as_str() } } - -impl serde::Serialize for DestinationStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DestinationStatus { fn deserialize(deserializer: D) -> Result where @@ -13511,16 +12725,14 @@ impl<'de> serde::Deserialize<'de> for DestinationStatus { ///

    The description of the Time to Live (TTL) status on the specified table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TimeToLiveDescription { ///

    The TTL status for the table.

    #[serde(rename = "TimeToLiveStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub time_to_live_status: std::option::Option, ///

    The name of the TTL attribute for items in the table.

    #[serde(rename = "AttributeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_name: std::option::Option, } @@ -13607,7 +12819,6 @@ impl std::convert::From<&str> for TimeToLiveStatus { } } } - impl std::str::FromStr for TimeToLiveStatus { type Err = std::convert::Infallible; @@ -13615,7 +12826,6 @@ impl std::str::FromStr for TimeToLiveStatus { Ok(TimeToLiveStatus::from(s)) } } - impl TimeToLiveStatus { pub fn as_str(&self) -> &str { match self { @@ -13632,19 +12842,6 @@ impl AsRef for TimeToLiveStatus { self.as_str() } } - -impl serde::Serialize for TimeToLiveStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TimeToLiveStatus { fn deserialize(deserializer: D) -> Result where @@ -13657,21 +12854,18 @@ impl<'de> serde::Deserialize<'de> for TimeToLiveStatus { ///

    Describes a Kinesis data stream destination.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KinesisDataStreamDestination { ///

    The ARN for a specific Kinesis data stream.

    #[serde(rename = "StreamArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_arn: std::option::Option, ///

    The current status of replication.

    #[serde(rename = "DestinationStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_status: std::option::Option, ///

    The human-readable string that corresponds to the replica status.

    #[serde(rename = "DestinationStatusDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_status_description: std::option::Option, } @@ -13753,11 +12947,10 @@ impl KinesisDataStreamDestination { ///

    An endpoint information details.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Endpoint { ///

    IP address of the endpoint.

    #[serde(rename = "Address")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub address: std::option::Option, ///

    Endpoint cache time to live (TTL) value.

    @@ -13818,16 +13011,14 @@ impl Endpoint { ///

    Represents a failure a contributor insights operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FailureException { ///

    Exception name.

    #[serde(rename = "ExceptionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub exception_name: std::option::Option, ///

    Description of the failure.

    #[serde(rename = "ExceptionDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub exception_description: std::option::Option, } @@ -13888,21 +13079,18 @@ impl FailureException { ///

    Contains the description of the backup created for the table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BackupDescription { ///

    Contains the details of the backup created for the table.

    #[serde(rename = "BackupDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_details: std::option::Option, ///

    Contains the details of the table when the backup was created.

    #[serde(rename = "SourceTableDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_table_details: std::option::Option, ///

    Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

    #[serde(rename = "SourceTableFeatureDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_table_feature_details: std::option::Option, } @@ -13988,11 +13176,10 @@ impl BackupDescription { ///

    Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SourceTableFeatureDetails { ///

    Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.

    #[serde(rename = "LocalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub local_secondary_indexes: std::option::Option>, @@ -14000,23 +13187,19 @@ pub struct SourceTableFeatureDetails { /// IndexName, KeySchema, Projection, and ProvisionedThroughput for the GSIs on the table at /// the time of backup.

    #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_secondary_indexes: std::option::Option>, ///

    Stream settings on the table when the backup was created.

    #[serde(rename = "StreamDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_description: std::option::Option, ///

    Time to Live settings on the table when the backup was created.

    #[serde(rename = "TimeToLiveDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub time_to_live_description: std::option::Option, ///

    The description of the server-side encryption status on the table when the backup was created.

    #[serde(rename = "SSEDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sse_description: std::option::Option, } @@ -14140,11 +13323,10 @@ impl SourceTableFeatureDetails { ///

    Represents the properties of a global secondary index for the table /// when the backup was created.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalSecondaryIndexInfo { ///

    The name of the global secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

    @@ -14167,7 +13349,6 @@ pub struct GlobalSecondaryIndexInfo { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into @@ -14175,12 +13356,10 @@ pub struct GlobalSecondaryIndexInfo { /// key attributes and index key attributes, which are automatically /// projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, ///

    Represents the provisioned throughput settings for the specified global secondary index.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, } @@ -14276,11 +13455,10 @@ impl GlobalSecondaryIndexInfo { ///

    Represents the properties of a local secondary index for the table /// when the backup was created.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LocalSecondaryIndexInfo { ///

    Represents the name of the local secondary index.

    #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub index_name: std::option::Option, ///

    The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:

    @@ -14303,12 +13481,10 @@ pub struct LocalSecondaryIndexInfo { /// partition key physically close together, in sorted order by the sort key value.

    /// #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

    #[serde(rename = "Projection")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection: std::option::Option, } @@ -14385,21 +13561,18 @@ impl LocalSecondaryIndexInfo { ///

    Contains the details of the table when the backup was created.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SourceTableDetails { ///

    The name of the table for which the backup was created.

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    Unique identifier for the table for which the backup was created.

    #[serde(rename = "TableId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_id: std::option::Option, ///

    ARN of the table for which backup was created.

    #[serde(rename = "TableArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_arn: std::option::Option, ///

    Size of the table in bytes. Note that this is an approximate value.

    @@ -14407,15 +13580,10 @@ pub struct SourceTableDetails { pub table_size_bytes: i64, ///

    Schema of the table.

    #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_schema: std::option::Option>, ///

    Time when the source table was created.

    #[serde(rename = "TableCreationDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -14423,12 +13591,10 @@ pub struct SourceTableDetails { pub table_creation_date_time: std::option::Option, ///

    Read IOPs and Write IOPS on the table when the backup was created.

    #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub provisioned_throughput: std::option::Option, ///

    Number of items in the table. Note that this is an approximate value.

    #[serde(rename = "ItemCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item_count: std::option::Option, ///

    Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

    @@ -14444,7 +13610,6 @@ pub struct SourceTableDetails { /// /// #[serde(rename = "BillingMode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub billing_mode: std::option::Option, } @@ -14610,26 +13775,22 @@ impl SourceTableDetails { ///

    Contains the details of the backup created for the table.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BackupDetails { ///

    ARN associated with the backup.

    #[serde(rename = "BackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_arn: std::option::Option, ///

    Name of the requested backup.

    #[serde(rename = "BackupName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_name: std::option::Option, ///

    Size of the backup in bytes.

    #[serde(rename = "BackupSizeBytes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_size_bytes: std::option::Option, ///

    Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

    #[serde(rename = "BackupStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_status: std::option::Option, ///

    BackupType:

    @@ -14651,15 +13812,10 @@ pub struct BackupDetails { /// /// #[serde(rename = "BackupType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub backup_type: std::option::Option, ///

    Time at which the backup was created. This is the request time of the backup.

    #[serde(rename = "BackupCreationDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -14668,10 +13824,6 @@ pub struct BackupDetails { ///

    Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM /// on-demand backup expires automatically 35 days after its creation.

    #[serde(rename = "BackupExpiryDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -14825,16 +13977,14 @@ impl BackupDetails { /// single WriteRequest. If you do need to perform both of these operations, you /// need to provide two separate WriteRequest objects.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct WriteRequest { ///

    A request to perform a PutItem operation.

    #[serde(rename = "PutRequest")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub put_request: std::option::Option, ///

    A request to perform a DeleteItem operation.

    #[serde(rename = "DeleteRequest")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub delete_request: std::option::Option, } @@ -14898,11 +14048,10 @@ impl WriteRequest { ///

    Represents a request to perform a DeleteItem operation on an item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteRequest { ///

    A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option< std::collections::HashMap, @@ -14960,7 +14109,7 @@ impl DeleteRequest { ///

    Represents a request to perform a PutItem operation on an item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PutRequest { ///

    A map of attribute name to attribute values, representing the primary key of an item to /// be processed by PutItem. All of the table's primary key attributes must be @@ -14968,7 +14117,6 @@ pub struct PutRequest { /// attributes are present in the item that are part of an index key schema for the table, /// their types must match the index key schema.

    #[serde(rename = "Item")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item: std::option::Option< std::collections::HashMap, @@ -15029,11 +14177,10 @@ impl PutRequest { /// simple primary key, you only need to provide the partition key. For a composite /// primary key, you must provide both the partition key and the sort key.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KeysAndAttributes { ///

    The primary key attribute values that define the items and the attributes associated with the items.

    #[serde(rename = "Keys")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub keys: std::option::Option< std::vec::Vec>, @@ -15041,13 +14188,11 @@ pub struct KeysAndAttributes { ///

    This is a legacy parameter. Use ProjectionExpression instead. For more information, see /// Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "AttributesToGet")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attributes_to_get: std::option::Option>, ///

    The consistency of a read operation. If set to true, then a strongly consistent /// read is used; otherwise, an eventually consistent read is used.

    #[serde(rename = "ConsistentRead")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consistent_read: std::option::Option, ///

    A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, @@ -15056,7 +14201,6 @@ pub struct KeysAndAttributes { ///

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    ///

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ProjectionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub projection_expression: std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    @@ -15100,7 +14244,6 @@ pub struct KeysAndAttributes { /// ///

    For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

    #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression_attribute_names: std::option::Option>, @@ -15239,27 +14382,24 @@ impl KeysAndAttributes { /// A PartiQL batch statement response.. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BatchStatementResponse { ///

    /// The error associated with a failed PartiQL batch statement. ///

    #[serde(rename = "Error")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error: std::option::Option, ///

    /// The table name associated with a failed PartiQL batch statement. ///

    #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub table_name: std::option::Option, ///

    /// A DynamoDB item associated with a BatchStatementResponse ///

    #[serde(rename = "Item")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub item: std::option::Option< std::collections::HashMap, @@ -15352,20 +14492,18 @@ impl BatchStatementResponse { /// An error associated with a statement in a PartiQL batch that was run. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BatchStatementError { ///

    /// The error code associated with the failed PartiQL batch statement. ///

    #[serde(rename = "Code")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code: std::option::Option, ///

    /// The error message associated with the PartiQL batch resposne. ///

    #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15474,7 +14612,6 @@ impl std::convert::From<&str> for BatchStatementErrorCodeEnum { } } } - impl std::str::FromStr for BatchStatementErrorCodeEnum { type Err = std::convert::Infallible; @@ -15482,7 +14619,6 @@ impl std::str::FromStr for BatchStatementErrorCodeEnum { Ok(BatchStatementErrorCodeEnum::from(s)) } } - impl BatchStatementErrorCodeEnum { pub fn as_str(&self) -> &str { match self { @@ -15510,19 +14646,6 @@ impl AsRef for BatchStatementErrorCodeEnum { self.as_str() } } - -impl serde::Serialize for BatchStatementErrorCodeEnum { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BatchStatementErrorCodeEnum { fn deserialize(deserializer: D) -> Result where @@ -15537,27 +14660,24 @@ impl<'de> serde::Deserialize<'de> for BatchStatementErrorCodeEnum { /// A PartiQL batch statement request. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BatchStatementRequest { ///

    /// A valid PartiQL statement. ///

    #[serde(rename = "Statement")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub statement: std::option::Option, ///

    /// The parameters associated with a PartiQL statement in the batch request. ///

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option>, ///

    /// The read consistency of the PartiQL batch request. ///

    #[serde(rename = "ConsistentRead")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consistent_read: std::option::Option, } diff --git a/sdk/dynamodb/src/operation.rs b/sdk/dynamodb/src/operation.rs index 27a01b1fc5b0..e1a10e143b8b 100644 --- a/sdk/dynamodb/src/operation.rs +++ b/sdk/dynamodb/src/operation.rs @@ -2,7 +2,7 @@ ///

    /// This operation allows you to perform batch reads and writes on data stored in DynamoDB, using PartiQL. ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct BatchExecuteStatement { _private: (), } @@ -22,7 +22,6 @@ impl BatchExecuteStatement { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::BatchExecuteStatementError::unhandled(generic)), @@ -62,7 +61,6 @@ impl BatchExecuteStatement { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for BatchExecuteStatement { type Output = Result< crate::output::BatchExecuteStatementOutput, @@ -119,7 +117,7 @@ impl smithy_http::response::ParseStrictResponse for BatchExecuteStatement { /// nonexistent items consume the minimum read capacity units according to the type of read. /// For more information, see Working with Tables in the Amazon DynamoDB Developer /// Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct BatchGetItem { _private: (), } @@ -138,7 +136,6 @@ impl BatchGetItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::BatchGetItemError::unhandled(generic)), @@ -196,7 +193,6 @@ impl BatchGetItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for BatchGetItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -278,7 +274,7 @@ impl smithy_http::response::ParseStrictResponse for BatchGetItem { ///

    The total request size exceeds 16 MB.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct BatchWriteItem { _private: (), } @@ -297,7 +293,6 @@ impl BatchWriteItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::BatchWriteItemError::unhandled(generic)), @@ -341,7 +336,6 @@ impl BatchWriteItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for BatchWriteItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -379,7 +373,7 @@ impl smithy_http::response::ParseStrictResponse for BatchWriteItem { ///

    Provisioned read and write capacity

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateBackup { _private: (), } @@ -398,7 +392,6 @@ impl CreateBackup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateBackupError::unhandled(generic)), @@ -470,7 +463,6 @@ impl CreateBackup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateBackup { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -544,7 +536,7 @@ impl smithy_http::response::ParseStrictResponse for CreateBackup { /// your global table. ///

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateGlobalTable { _private: (), } @@ -563,7 +555,6 @@ impl CreateGlobalTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateGlobalTableError::unhandled(generic)), @@ -623,7 +614,6 @@ impl CreateGlobalTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateGlobalTable { type Output = Result; @@ -645,7 +635,7 @@ impl smithy_http::response::ParseStrictResponse for CreateGlobalTable { /// tables sequentially. Only one table with secondary indexes can be in the CREATING state at /// any given time.

    ///

    You can use the DescribeTable action to check the table status.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateTable { _private: (), } @@ -664,7 +654,6 @@ impl CreateTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateTableError::unhandled(generic)), @@ -712,7 +701,6 @@ impl CreateTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateTable { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -722,7 +710,7 @@ impl smithy_http::response::ParseStrictResponse for CreateTable { ///

    Deletes an existing backup of a table.

    ///

    You can call DeleteBackup at a maximum rate of 10 times per second.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBackup { _private: (), } @@ -741,7 +729,6 @@ impl DeleteBackup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteBackupError::unhandled(generic)), @@ -796,7 +783,6 @@ impl DeleteBackup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBackup { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -810,7 +796,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBackup { ///

    Unless you specify conditions, the DeleteItem is an idempotent operation; running it /// multiple times on the same item or attribute does not result in an error response.

    ///

    Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteItem { _private: (), } @@ -829,7 +815,6 @@ impl DeleteItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteItemError::unhandled(generic)), @@ -909,7 +894,6 @@ impl DeleteItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -933,7 +917,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteItem { ///

    If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes /// into the DISABLED state, and the stream is automatically deleted after 24 hours.

    ///

    Use the DescribeTable action to check the status of the table.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteTable { _private: (), } @@ -952,7 +936,6 @@ impl DeleteTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteTableError::unhandled(generic)), @@ -1007,7 +990,6 @@ impl DeleteTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteTable { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1017,7 +999,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteTable { ///

    Describes an existing backup of a table.

    ///

    You can call DescribeBackup at a maximum rate of 10 times per second.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeBackup { _private: (), } @@ -1036,7 +1018,6 @@ impl DescribeBackup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeBackupError::unhandled(generic)), @@ -1077,7 +1058,6 @@ impl DescribeBackup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeBackup { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1096,7 +1076,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeBackup { /// in time during the last 35 days. ///

    ///

    You can call DescribeContinuousBackups at a maximum rate of 10 times per second.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeContinuousBackups { _private: (), } @@ -1118,7 +1098,6 @@ impl DescribeContinuousBackups { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1172,7 +1151,6 @@ impl DescribeContinuousBackups { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeContinuousBackups { type Output = Result< crate::output::DescribeContinuousBackupsOutput, @@ -1184,7 +1162,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeContinuousBackups { } ///

    Returns information about contributor insights, for a given table or global secondary index.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeContributorInsights { _private: (), } @@ -1206,7 +1184,6 @@ impl DescribeContributorInsights { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1240,7 +1217,6 @@ impl DescribeContributorInsights { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeContributorInsights { type Output = Result< crate::output::DescribeContributorInsightsOutput, @@ -1252,7 +1228,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeContributorInsights } ///

    Returns the regional endpoint information.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeEndpoints { _private: (), } @@ -1271,7 +1247,6 @@ impl DescribeEndpoints { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - return Err(crate::error::DescribeEndpointsError::generic(generic)); } #[allow(unused_mut)] @@ -1287,7 +1262,6 @@ impl DescribeEndpoints { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeEndpoints { type Output = Result; @@ -1297,7 +1271,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeEndpoints { } ///

    Describes an existing table export.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeExport { _private: (), } @@ -1316,7 +1290,6 @@ impl DescribeExport { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeExportError::unhandled(generic)), @@ -1357,7 +1330,6 @@ impl DescribeExport { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeExport { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1370,7 +1342,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeExport { ///

    This operation only applies to Version 2017.11.29 of global tables. /// If you are using global tables Version 2019.11.21 you can use DescribeTable instead.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeGlobalTable { _private: (), } @@ -1390,7 +1362,6 @@ impl DescribeGlobalTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeGlobalTableError::unhandled(generic)), @@ -1437,7 +1408,6 @@ impl DescribeGlobalTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeGlobalTable { type Output = Result; @@ -1450,7 +1420,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeGlobalTable { /// ///

    This operation only applies to Version 2017.11.29 of global tables.

    ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeGlobalTableSettings { _private: (), } @@ -1472,7 +1442,6 @@ impl DescribeGlobalTableSettings { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1510,7 +1479,6 @@ impl DescribeGlobalTableSettings { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeGlobalTableSettings { type Output = Result< crate::output::DescribeGlobalTableSettingsOutput, @@ -1522,7 +1490,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeGlobalTableSettings } ///

    Returns information about the status of Kinesis streaming.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeKinesisStreamingDestination { _private: (), } @@ -1544,7 +1512,6 @@ impl DescribeKinesisStreamingDestination { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1583,7 +1550,6 @@ impl DescribeKinesisStreamingDestination { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeKinesisStreamingDestination { type Output = Result< crate::output::DescribeKinesisStreamingDestinationOutput, @@ -1654,7 +1620,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeKinesisStreamingDest /// errors if you call it more than once in a minute.

    /// ///

    The DescribeLimits Request element has no content.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeLimits { _private: (), } @@ -1673,7 +1639,6 @@ impl DescribeLimits { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeLimitsError::unhandled(generic)), @@ -1707,7 +1672,6 @@ impl DescribeLimits { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeLimits { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1722,7 +1686,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeLimits { /// consistent query, and the metadata for your table might not be available at that moment. /// Wait for a few seconds, and then try the DescribeTable request again.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeTable { _private: (), } @@ -1741,7 +1705,6 @@ impl DescribeTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeTableError::unhandled(generic)), @@ -1782,7 +1745,6 @@ impl DescribeTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeTable { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1794,7 +1756,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeTable { /// ///

    This operation only applies to Version 2019.11.21 of global tables.

    ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeTableReplicaAutoScaling { _private: (), } @@ -1816,7 +1778,6 @@ impl DescribeTableReplicaAutoScaling { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1851,7 +1812,6 @@ impl DescribeTableReplicaAutoScaling { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeTableReplicaAutoScaling { type Output = Result< crate::output::DescribeTableReplicaAutoScalingOutput, @@ -1863,7 +1823,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeTableReplicaAutoScal } ///

    Gives a description of the Time to Live (TTL) status on the specified table.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeTimeToLive { _private: (), } @@ -1883,7 +1843,6 @@ impl DescribeTimeToLive { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeTimeToLiveError::unhandled(generic)), @@ -1928,7 +1887,6 @@ impl DescribeTimeToLive { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeTimeToLive { type Output = Result; @@ -1939,7 +1897,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeTimeToLive { ///

    Stops replication from the DynamoDB table to the Kinesis data stream. This is done /// without deleting either of the resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisableKinesisStreamingDestination { _private: (), } @@ -1961,7 +1919,6 @@ impl DisableKinesisStreamingDestination { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2008,7 +1965,6 @@ impl DisableKinesisStreamingDestination { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DisableKinesisStreamingDestination { type Output = Result< crate::output::DisableKinesisStreamingDestinationOutput, @@ -2023,7 +1979,7 @@ impl smithy_http::response::ParseStrictResponse for DisableKinesisStreamingDesti /// during the enable workflow. If this operation doesn't return results immediately, use /// DescribeKinesisStreamingDestination to check if streaming to the Kinesis data stream is /// ACTIVE.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct EnableKinesisStreamingDestination { _private: (), } @@ -2045,7 +2001,6 @@ impl EnableKinesisStreamingDestination { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2092,7 +2047,6 @@ impl EnableKinesisStreamingDestination { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for EnableKinesisStreamingDestination { type Output = Result< crate::output::EnableKinesisStreamingDestinationOutput, @@ -2106,7 +2060,7 @@ impl smithy_http::response::ParseStrictResponse for EnableKinesisStreamingDestin ///

    /// This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL. ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ExecuteStatement { _private: (), } @@ -2125,7 +2079,6 @@ impl ExecuteStatement { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ExecuteStatementError::unhandled(generic)), @@ -2177,7 +2130,6 @@ impl ExecuteStatement { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ExecuteStatement { type Output = Result; @@ -2189,7 +2141,7 @@ impl smithy_http::response::ParseStrictResponse for ExecuteStatement { ///

    /// This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL. ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ExecuteTransaction { _private: (), } @@ -2209,7 +2161,6 @@ impl ExecuteTransaction { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ExecuteTransactionError::unhandled(generic)), @@ -2259,7 +2210,6 @@ impl ExecuteTransaction { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ExecuteTransaction { type Output = Result; @@ -2271,7 +2221,7 @@ impl smithy_http::response::ParseStrictResponse for ExecuteTransaction { ///

    Exports table data to an S3 bucket. The table must have point in time recovery /// enabled, and you can export data from any time within the point in time recovery /// window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ExportTableToPointInTime { _private: (), } @@ -2293,7 +2243,6 @@ impl ExportTableToPointInTime { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2343,7 +2292,6 @@ impl ExportTableToPointInTime { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ExportTableToPointInTime { type Output = Result< crate::output::ExportTableToPointInTimeOutput, @@ -2361,7 +2309,7 @@ impl smithy_http::response::ParseStrictResponse for ExportTableToPointInTime { /// requires a strongly consistent read, set ConsistentRead to true. Although /// a strongly consistent read might take more time than an eventually consistent read, it always /// returns the last updated value.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetItem { _private: (), } @@ -2380,7 +2328,6 @@ impl GetItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetItemError::unhandled(generic)), @@ -2436,7 +2383,6 @@ impl GetItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2451,7 +2397,7 @@ impl smithy_http::response::ParseStrictResponse for GetItem { ///

    In the request, start time is inclusive, but end time is exclusive. Note that these /// boundaries are for the time at which the original backup was requested.

    ///

    You can call ListBackups a maximum of five times per second.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListBackups { _private: (), } @@ -2470,7 +2416,6 @@ impl ListBackups { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListBackupsError::unhandled(generic)), @@ -2504,7 +2449,6 @@ impl ListBackups { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListBackups { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2513,7 +2457,7 @@ impl smithy_http::response::ParseStrictResponse for ListBackups { } ///

    Returns a list of ContributorInsightsSummary for a table and all its global secondary indexes.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListContributorInsights { _private: (), } @@ -2535,7 +2479,6 @@ impl ListContributorInsights { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2579,7 +2522,6 @@ impl ListContributorInsights { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListContributorInsights { type Output = Result< crate::output::ListContributorInsightsOutput, @@ -2591,7 +2533,7 @@ impl smithy_http::response::ParseStrictResponse for ListContributorInsights { } ///

    Lists completed exports within the past 90 days.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListExports { _private: (), } @@ -2610,7 +2552,6 @@ impl ListExports { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListExportsError::unhandled(generic)), @@ -2644,7 +2585,6 @@ impl ListExports { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListExports { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2656,7 +2596,7 @@ impl smithy_http::response::ParseStrictResponse for ListExports { /// ///

    This operation only applies to Version 2017.11.29 of global tables.

    ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListGlobalTables { _private: (), } @@ -2675,7 +2615,6 @@ impl ListGlobalTables { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListGlobalTablesError::unhandled(generic)), @@ -2711,7 +2650,6 @@ impl ListGlobalTables { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListGlobalTables { type Output = Result; @@ -2723,7 +2661,7 @@ impl smithy_http::response::ParseStrictResponse for ListGlobalTables { ///

    Returns an array of table names associated with the current account and endpoint. The output /// from ListTables is paginated, with each page returning a maximum of 100 table /// names.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTables { _private: (), } @@ -2742,7 +2680,6 @@ impl ListTables { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListTablesError::unhandled(generic)), @@ -2775,7 +2712,6 @@ impl ListTables { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListTables { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2787,7 +2723,7 @@ impl smithy_http::response::ParseStrictResponse for ListTables { ///

    For an overview on tagging DynamoDB resources, see /// Tagging for DynamoDB /// in the Amazon DynamoDB Developer Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTagsOfResource { _private: (), } @@ -2807,7 +2743,6 @@ impl ListTagsOfResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListTagsOfResourceError::unhandled(generic)), @@ -2852,7 +2787,6 @@ impl ListTagsOfResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListTagsOfResource { type Output = Result; @@ -2928,7 +2862,7 @@ impl smithy_http::response::ParseStrictResponse for ListTagsOfResource { /// no matching item exists.

    /// ///

    For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutItem { _private: (), } @@ -2947,7 +2881,6 @@ impl PutItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutItemError::unhandled(generic)), @@ -3026,7 +2959,6 @@ impl PutItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3090,7 +3022,7 @@ impl smithy_http::response::ParseStrictResponse for PutItem { /// strongly consistent result. Global secondary indexes support eventually consistent reads /// only, so do not specify ConsistentRead when querying a global /// secondary index.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Query { _private: (), } @@ -3109,7 +3041,6 @@ impl Query { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::QueryError::unhandled(generic)), @@ -3165,7 +3096,6 @@ impl Query { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Query { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3198,7 +3128,7 @@ impl smithy_http::response::ParseStrictResponse for Query { ///

    Time to Live (TTL) settings

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RestoreTableFromBackup { _private: (), } @@ -3220,7 +3150,6 @@ impl RestoreTableFromBackup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3306,7 +3235,6 @@ impl RestoreTableFromBackup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RestoreTableFromBackup { type Output = Result< crate::output::RestoreTableFromBackupOutput, @@ -3372,7 +3300,7 @@ impl smithy_http::response::ParseStrictResponse for RestoreTableFromBackup { ///

    Point in time recovery settings

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RestoreTableToPointInTime { _private: (), } @@ -3394,7 +3322,6 @@ impl RestoreTableToPointInTime { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3452,7 +3379,6 @@ impl RestoreTableToPointInTime { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RestoreTableToPointInTime { type Output = Result< crate::output::RestoreTableToPointInTimeOutput, @@ -3488,7 +3414,7 @@ impl smithy_http::response::ParseStrictResponse for RestoreTableToPointInTime { /// immediately before the operation began. If you need a consistent copy of the data, as of /// the time that the Scan begins, you can set the ConsistentRead /// parameter to true.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Scan { _private: (), } @@ -3507,7 +3433,6 @@ impl Scan { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ScanError::unhandled(generic)), @@ -3561,7 +3486,6 @@ impl Scan { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Scan { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3576,7 +3500,7 @@ impl smithy_http::response::ParseStrictResponse for Scan { ///

    For an overview on tagging DynamoDB resources, see /// Tagging for DynamoDB /// in the Amazon DynamoDB Developer Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), } @@ -3595,7 +3519,6 @@ impl TagResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TagResourceError::unhandled(generic)), @@ -3647,7 +3570,6 @@ impl TagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3681,7 +3603,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { ///

    The aggregate size of the items in the transaction cannot exceed 4 MB.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TransactGetItems { _private: (), } @@ -3700,7 +3622,6 @@ impl TransactGetItems { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TransactGetItemsError::unhandled(generic)), @@ -3746,7 +3667,6 @@ impl TransactGetItems { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TransactGetItems { type Output = Result; @@ -3826,7 +3746,7 @@ impl smithy_http::response::ParseStrictResponse for TransactGetItems { ///

    There is a user error, such as an invalid data format.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TransactWriteItems { _private: (), } @@ -3846,7 +3766,6 @@ impl TransactWriteItems { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TransactWriteItemsError::unhandled(generic)), @@ -3900,7 +3819,6 @@ impl TransactWriteItems { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TransactWriteItems { type Output = Result; @@ -3914,7 +3832,7 @@ impl smithy_http::response::ParseStrictResponse for TransactWriteItems { ///

    For an overview on tagging DynamoDB resources, see /// Tagging for DynamoDB /// in the Amazon DynamoDB Developer Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), } @@ -3933,7 +3851,6 @@ impl UntagResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UntagResourceError::unhandled(generic)), @@ -3985,7 +3902,6 @@ impl UntagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UntagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4005,7 +3921,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { ///

    /// LatestRestorableDateTime is typically 5 minutes before the current time. /// You can restore your table to any point in time during the last 35 days.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateContinuousBackups { _private: (), } @@ -4027,7 +3943,6 @@ impl UpdateContinuousBackups { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4069,7 +3984,6 @@ impl UpdateContinuousBackups { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateContinuousBackups { type Output = Result< crate::output::UpdateContinuousBackupsOutput, @@ -4081,7 +3995,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateContinuousBackups { } ///

    Updates the status for contributor insights for a specific table or index.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateContributorInsights { _private: (), } @@ -4103,7 +4017,6 @@ impl UpdateContributorInsights { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4148,7 +4061,6 @@ impl UpdateContributorInsights { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateContributorInsights { type Output = Result< crate::output::UpdateContributorInsightsOutput, @@ -4188,7 +4100,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateContributorInsights { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateGlobalTable { _private: (), } @@ -4207,7 +4119,6 @@ impl UpdateGlobalTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateGlobalTableError::unhandled(generic)), @@ -4275,7 +4186,6 @@ impl UpdateGlobalTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateGlobalTable { type Output = Result; @@ -4285,7 +4195,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateGlobalTable { } ///

    Updates settings for a global table.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateGlobalTableSettings { _private: (), } @@ -4307,7 +4217,6 @@ impl UpdateGlobalTableSettings { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4361,7 +4270,6 @@ impl UpdateGlobalTableSettings { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateGlobalTableSettings { type Output = Result< crate::output::UpdateGlobalTableSettingsOutput, @@ -4375,7 +4283,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateGlobalTableSettings { ///

    Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

    ///

    You can also return the item's attribute values in the same UpdateItem /// operation using the ReturnValues parameter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateItem { _private: (), } @@ -4394,7 +4302,6 @@ impl UpdateItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateItemError::unhandled(generic)), @@ -4474,7 +4381,6 @@ impl UpdateItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4505,7 +4411,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateItem { /// changes from ACTIVE to UPDATING. While it is UPDATING, /// you cannot issue another UpdateTable request. When the table returns to the /// ACTIVE state, the UpdateTable operation is complete.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateTable { _private: (), } @@ -4524,7 +4430,6 @@ impl UpdateTable { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateTableError::unhandled(generic)), @@ -4579,7 +4484,6 @@ impl UpdateTable { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateTable { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4591,7 +4495,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateTable { /// ///

    This operation only applies to Version 2019.11.21 of global tables.

    ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateTableReplicaAutoScaling { _private: (), } @@ -4613,7 +4517,6 @@ impl UpdateTableReplicaAutoScaling { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4656,7 +4559,6 @@ impl UpdateTableReplicaAutoScaling { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateTableReplicaAutoScaling { type Output = Result< crate::output::UpdateTableReplicaAutoScalingOutput, @@ -4692,7 +4594,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateTableReplicaAutoScalin /// secondary index immediately in the same eventually consistent way as a standard delete /// operation.

    ///

    For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateTimeToLive { _private: (), } @@ -4711,7 +4613,6 @@ impl UpdateTimeToLive { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateTimeToLiveError::unhandled(generic)), @@ -4768,7 +4669,6 @@ impl UpdateTimeToLive { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateTimeToLive { type Output = Result; diff --git a/sdk/dynamodb/src/operation_ser.rs b/sdk/dynamodb/src/operation_ser.rs index 85f80b624c78..57e5a7106249 100644 --- a/sdk/dynamodb/src/operation_ser.rs +++ b/sdk/dynamodb/src/operation_ser.rs @@ -1,585 +1,495 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_batch_execute_statement_input_body( +pub fn serialize_operation_batch_execute_statement( input: &crate::input::BatchExecuteStatementInput, ) -> Result { - let body = crate::serializer::BatchExecuteStatementInputBody { - statements: &input.statements, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_batch_execute_statement_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_batch_get_item_input_body( +pub fn serialize_operation_batch_get_item( input: &crate::input::BatchGetItemInput, ) -> Result { - let body = crate::serializer::BatchGetItemInputBody { - request_items: &input.request_items, - return_consumed_capacity: &input.return_consumed_capacity, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_batch_get_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_batch_write_item_input_body( +pub fn serialize_operation_batch_write_item( input: &crate::input::BatchWriteItemInput, ) -> Result { - let body = crate::serializer::BatchWriteItemInputBody { - request_items: &input.request_items, - return_consumed_capacity: &input.return_consumed_capacity, - return_item_collection_metrics: &input.return_item_collection_metrics, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_batch_write_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_backup_input_body( +pub fn serialize_operation_create_backup( input: &crate::input::CreateBackupInput, ) -> Result { - let body = crate::serializer::CreateBackupInputBody { - table_name: &input.table_name, - backup_name: &input.backup_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_backup_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_global_table_input_body( +pub fn serialize_operation_create_global_table( input: &crate::input::CreateGlobalTableInput, ) -> Result { - let body = crate::serializer::CreateGlobalTableInputBody { - global_table_name: &input.global_table_name, - replication_group: &input.replication_group, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_global_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_table_input_body( +pub fn serialize_operation_create_table( input: &crate::input::CreateTableInput, ) -> Result { - let body = crate::serializer::CreateTableInputBody { - attribute_definitions: &input.attribute_definitions, - table_name: &input.table_name, - key_schema: &input.key_schema, - local_secondary_indexes: &input.local_secondary_indexes, - global_secondary_indexes: &input.global_secondary_indexes, - billing_mode: &input.billing_mode, - provisioned_throughput: &input.provisioned_throughput, - stream_specification: &input.stream_specification, - sse_specification: &input.sse_specification, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_delete_backup_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_backup( input: &crate::input::DeleteBackupInput, ) -> Result { - let body = crate::serializer::DeleteBackupInputBody { - backup_arn: &input.backup_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_backup_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_item_input_body( +pub fn serialize_operation_delete_item( input: &crate::input::DeleteItemInput, ) -> Result { - let body = crate::serializer::DeleteItemInputBody { - table_name: &input.table_name, - key: &input.key, - expected: &input.expected, - conditional_operator: &input.conditional_operator, - return_values: &input.return_values, - return_consumed_capacity: &input.return_consumed_capacity, - return_item_collection_metrics: &input.return_item_collection_metrics, - condition_expression: &input.condition_expression, - expression_attribute_names: &input.expression_attribute_names, - expression_attribute_values: &input.expression_attribute_values, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_delete_table_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_table( input: &crate::input::DeleteTableInput, ) -> Result { - let body = crate::serializer::DeleteTableInputBody { - table_name: &input.table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_backup_input_body( +pub fn serialize_operation_describe_backup( input: &crate::input::DescribeBackupInput, ) -> Result { - let body = crate::serializer::DescribeBackupInputBody { - backup_arn: &input.backup_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_backup_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_continuous_backups_input_body( +pub fn serialize_operation_describe_continuous_backups( input: &crate::input::DescribeContinuousBackupsInput, ) -> Result { - let body = crate::serializer::DescribeContinuousBackupsInputBody { - table_name: &input.table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_continuous_backups_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_contributor_insights_input_body( +pub fn serialize_operation_describe_contributor_insights( input: &crate::input::DescribeContributorInsightsInput, ) -> Result { - let body = crate::serializer::DescribeContributorInsightsInputBody { - table_name: &input.table_name, - index_name: &input.index_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_contributor_insights_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_export_input_body( +pub fn serialize_operation_describe_export( input: &crate::input::DescribeExportInput, ) -> Result { - let body = crate::serializer::DescribeExportInputBody { - export_arn: &input.export_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_export_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_global_table_input_body( +pub fn serialize_operation_describe_global_table( input: &crate::input::DescribeGlobalTableInput, ) -> Result { - let body = crate::serializer::DescribeGlobalTableInputBody { - global_table_name: &input.global_table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_global_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_global_table_settings_input_body( +pub fn serialize_operation_describe_global_table_settings( input: &crate::input::DescribeGlobalTableSettingsInput, ) -> Result { - let body = crate::serializer::DescribeGlobalTableSettingsInputBody { - global_table_name: &input.global_table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_global_table_settings_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_kinesis_streaming_destination_input_body( +pub fn serialize_operation_describe_kinesis_streaming_destination( input: &crate::input::DescribeKinesisStreamingDestinationInput, ) -> Result { - let body = crate::serializer::DescribeKinesisStreamingDestinationInputBody { - table_name: &input.table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_kinesis_streaming_destination_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_table_input_body( +pub fn serialize_operation_describe_table( input: &crate::input::DescribeTableInput, ) -> Result { - let body = crate::serializer::DescribeTableInputBody { - table_name: &input.table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_table_replica_auto_scaling_input_body( +pub fn serialize_operation_describe_table_replica_auto_scaling( input: &crate::input::DescribeTableReplicaAutoScalingInput, ) -> Result { - let body = crate::serializer::DescribeTableReplicaAutoScalingInputBody { - table_name: &input.table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_table_replica_auto_scaling_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_time_to_live_input_body( +pub fn serialize_operation_describe_time_to_live( input: &crate::input::DescribeTimeToLiveInput, ) -> Result { - let body = crate::serializer::DescribeTimeToLiveInputBody { - table_name: &input.table_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_time_to_live_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_disable_kinesis_streaming_destination_input_body( +pub fn serialize_operation_disable_kinesis_streaming_destination( input: &crate::input::DisableKinesisStreamingDestinationInput, ) -> Result { - let body = crate::serializer::DisableKinesisStreamingDestinationInputBody { - table_name: &input.table_name, - stream_arn: &input.stream_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_disable_kinesis_streaming_destination_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_enable_kinesis_streaming_destination_input_body( +pub fn serialize_operation_enable_kinesis_streaming_destination( input: &crate::input::EnableKinesisStreamingDestinationInput, ) -> Result { - let body = crate::serializer::EnableKinesisStreamingDestinationInputBody { - table_name: &input.table_name, - stream_arn: &input.stream_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_enable_kinesis_streaming_destination_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_execute_statement_input_body( +pub fn serialize_operation_execute_statement( input: &crate::input::ExecuteStatementInput, ) -> Result { - let body = crate::serializer::ExecuteStatementInputBody { - statement: &input.statement, - parameters: &input.parameters, - consistent_read: &input.consistent_read, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_execute_statement_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_execute_transaction_input_body( +pub fn serialize_operation_execute_transaction( input: &crate::input::ExecuteTransactionInput, ) -> Result { - let body = crate::serializer::ExecuteTransactionInputBody { - transact_statements: &input.transact_statements, - client_request_token: &input.client_request_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_execute_transaction_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_export_table_to_point_in_time_input_body( +pub fn serialize_operation_export_table_to_point_in_time( input: &crate::input::ExportTableToPointInTimeInput, ) -> Result { - let body = crate::serializer::ExportTableToPointInTimeInputBody { - table_arn: &input.table_arn, - export_time: &input.export_time, - client_token: &input.client_token, - s3_bucket: &input.s3_bucket, - s3_bucket_owner: &input.s3_bucket_owner, - s3_prefix: &input.s3_prefix, - s3_sse_algorithm: &input.s3_sse_algorithm, - s3_sse_kms_key_id: &input.s3_sse_kms_key_id, - export_format: &input.export_format, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_get_item_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_export_table_to_point_in_time_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_get_item( input: &crate::input::GetItemInput, ) -> Result { - let body = crate::serializer::GetItemInputBody { - table_name: &input.table_name, - key: &input.key, - attributes_to_get: &input.attributes_to_get, - consistent_read: &input.consistent_read, - return_consumed_capacity: &input.return_consumed_capacity, - projection_expression: &input.projection_expression, - expression_attribute_names: &input.expression_attribute_names, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_backups_input_body( +pub fn serialize_operation_list_backups( input: &crate::input::ListBackupsInput, ) -> Result { - let body = crate::serializer::ListBackupsInputBody { - table_name: &input.table_name, - limit: &input.limit, - time_range_lower_bound: &input.time_range_lower_bound, - time_range_upper_bound: &input.time_range_upper_bound, - exclusive_start_backup_arn: &input.exclusive_start_backup_arn, - backup_type: &input.backup_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_backups_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_contributor_insights_input_body( +pub fn serialize_operation_list_contributor_insights( input: &crate::input::ListContributorInsightsInput, ) -> Result { - let body = crate::serializer::ListContributorInsightsInputBody { - table_name: &input.table_name, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_contributor_insights_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_exports_input_body( +pub fn serialize_operation_list_exports( input: &crate::input::ListExportsInput, ) -> Result { - let body = crate::serializer::ListExportsInputBody { - table_arn: &input.table_arn, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_exports_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_global_tables_input_body( +pub fn serialize_operation_list_global_tables( input: &crate::input::ListGlobalTablesInput, ) -> Result { - let body = crate::serializer::ListGlobalTablesInputBody { - exclusive_start_global_table_name: &input.exclusive_start_global_table_name, - limit: &input.limit, - region_name: &input.region_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_global_tables_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_tables_input_body( +pub fn serialize_operation_list_tables( input: &crate::input::ListTablesInput, ) -> Result { - let body = crate::serializer::ListTablesInputBody { - exclusive_start_table_name: &input.exclusive_start_table_name, - limit: &input.limit, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_tables_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_tags_of_resource_input_body( +pub fn serialize_operation_list_tags_of_resource( input: &crate::input::ListTagsOfResourceInput, ) -> Result { - let body = crate::serializer::ListTagsOfResourceInputBody { - resource_arn: &input.resource_arn, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_tags_of_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_item_input_body( +pub fn serialize_operation_put_item( input: &crate::input::PutItemInput, ) -> Result { - let body = crate::serializer::PutItemInputBody { - table_name: &input.table_name, - item: &input.item, - expected: &input.expected, - return_values: &input.return_values, - return_consumed_capacity: &input.return_consumed_capacity, - return_item_collection_metrics: &input.return_item_collection_metrics, - conditional_operator: &input.conditional_operator, - condition_expression: &input.condition_expression, - expression_attribute_names: &input.expression_attribute_names, - expression_attribute_values: &input.expression_attribute_values, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_query_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_query( input: &crate::input::QueryInput, ) -> Result { - let body = crate::serializer::QueryInputBody { - table_name: &input.table_name, - index_name: &input.index_name, - select: &input.select, - attributes_to_get: &input.attributes_to_get, - limit: &input.limit, - consistent_read: &input.consistent_read, - key_conditions: &input.key_conditions, - query_filter: &input.query_filter, - conditional_operator: &input.conditional_operator, - scan_index_forward: &input.scan_index_forward, - exclusive_start_key: &input.exclusive_start_key, - return_consumed_capacity: &input.return_consumed_capacity, - projection_expression: &input.projection_expression, - filter_expression: &input.filter_expression, - key_condition_expression: &input.key_condition_expression, - expression_attribute_names: &input.expression_attribute_names, - expression_attribute_values: &input.expression_attribute_values, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_restore_table_from_backup_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_query_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_restore_table_from_backup( input: &crate::input::RestoreTableFromBackupInput, ) -> Result { - let body = crate::serializer::RestoreTableFromBackupInputBody { - target_table_name: &input.target_table_name, - backup_arn: &input.backup_arn, - billing_mode_override: &input.billing_mode_override, - global_secondary_index_override: &input.global_secondary_index_override, - local_secondary_index_override: &input.local_secondary_index_override, - provisioned_throughput_override: &input.provisioned_throughput_override, - sse_specification_override: &input.sse_specification_override, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_restore_table_from_backup_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_restore_table_to_point_in_time_input_body( +pub fn serialize_operation_restore_table_to_point_in_time( input: &crate::input::RestoreTableToPointInTimeInput, ) -> Result { - let body = crate::serializer::RestoreTableToPointInTimeInputBody { - source_table_arn: &input.source_table_arn, - source_table_name: &input.source_table_name, - target_table_name: &input.target_table_name, - use_latest_restorable_time: &input.use_latest_restorable_time, - restore_date_time: &input.restore_date_time, - billing_mode_override: &input.billing_mode_override, - global_secondary_index_override: &input.global_secondary_index_override, - local_secondary_index_override: &input.local_secondary_index_override, - provisioned_throughput_override: &input.provisioned_throughput_override, - sse_specification_override: &input.sse_specification_override, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_scan_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_restore_table_to_point_in_time_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_scan( input: &crate::input::ScanInput, ) -> Result { - let body = crate::serializer::ScanInputBody { - table_name: &input.table_name, - index_name: &input.index_name, - attributes_to_get: &input.attributes_to_get, - limit: &input.limit, - select: &input.select, - scan_filter: &input.scan_filter, - conditional_operator: &input.conditional_operator, - exclusive_start_key: &input.exclusive_start_key, - return_consumed_capacity: &input.return_consumed_capacity, - total_segments: &input.total_segments, - segment: &input.segment, - projection_expression: &input.projection_expression, - filter_expression: &input.filter_expression, - expression_attribute_names: &input.expression_attribute_names, - expression_attribute_values: &input.expression_attribute_values, - consistent_read: &input.consistent_read, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_tag_resource_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_scan_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 body = crate::serializer::TagResourceInputBody { - resource_arn: &input.resource_arn, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + 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)) } -pub fn serialize_operation_transact_get_items_input_body( +pub fn serialize_operation_transact_get_items( input: &crate::input::TransactGetItemsInput, ) -> Result { - let body = crate::serializer::TransactGetItemsInputBody { - transact_items: &input.transact_items, - return_consumed_capacity: &input.return_consumed_capacity, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_transact_get_items_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_transact_write_items_input_body( +pub fn serialize_operation_transact_write_items( input: &crate::input::TransactWriteItemsInput, ) -> Result { - let body = crate::serializer::TransactWriteItemsInputBody { - transact_items: &input.transact_items, - return_consumed_capacity: &input.return_consumed_capacity, - return_item_collection_metrics: &input.return_item_collection_metrics, - client_request_token: &input.client_request_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_transact_write_items_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_untag_resource_input_body( +pub fn serialize_operation_untag_resource( input: &crate::input::UntagResourceInput, ) -> Result { - let body = crate::serializer::UntagResourceInputBody { - resource_arn: &input.resource_arn, - tag_keys: &input.tag_keys, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_untag_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_continuous_backups_input_body( +pub fn serialize_operation_update_continuous_backups( input: &crate::input::UpdateContinuousBackupsInput, ) -> Result { - let body = crate::serializer::UpdateContinuousBackupsInputBody { - table_name: &input.table_name, - point_in_time_recovery_specification: &input.point_in_time_recovery_specification, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_continuous_backups_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_contributor_insights_input_body( +pub fn serialize_operation_update_contributor_insights( input: &crate::input::UpdateContributorInsightsInput, ) -> Result { - let body = crate::serializer::UpdateContributorInsightsInputBody { - table_name: &input.table_name, - index_name: &input.index_name, - contributor_insights_action: &input.contributor_insights_action, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_contributor_insights_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_global_table_input_body( +pub fn serialize_operation_update_global_table( input: &crate::input::UpdateGlobalTableInput, ) -> Result { - let body = crate::serializer::UpdateGlobalTableInputBody { - global_table_name: &input.global_table_name, - replica_updates: &input.replica_updates, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_global_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_global_table_settings_input_body( +pub fn serialize_operation_update_global_table_settings( input: &crate::input::UpdateGlobalTableSettingsInput, ) -> Result { - let body = crate::serializer::UpdateGlobalTableSettingsInputBody { - global_table_name: &input.global_table_name, - global_table_billing_mode: &input.global_table_billing_mode, - global_table_provisioned_write_capacity_units: &input - .global_table_provisioned_write_capacity_units, - global_table_provisioned_write_capacity_auto_scaling_settings_update: &input - .global_table_provisioned_write_capacity_auto_scaling_settings_update, - global_table_global_secondary_index_settings_update: &input - .global_table_global_secondary_index_settings_update, - replica_settings_update: &input.replica_settings_update, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_item_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_global_table_settings_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_item( input: &crate::input::UpdateItemInput, ) -> Result { - let body = crate::serializer::UpdateItemInputBody { - table_name: &input.table_name, - key: &input.key, - attribute_updates: &input.attribute_updates, - expected: &input.expected, - conditional_operator: &input.conditional_operator, - return_values: &input.return_values, - return_consumed_capacity: &input.return_consumed_capacity, - return_item_collection_metrics: &input.return_item_collection_metrics, - update_expression: &input.update_expression, - condition_expression: &input.condition_expression, - expression_attribute_names: &input.expression_attribute_names, - expression_attribute_values: &input.expression_attribute_values, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_table_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_table( input: &crate::input::UpdateTableInput, ) -> Result { - let body = crate::serializer::UpdateTableInputBody { - attribute_definitions: &input.attribute_definitions, - table_name: &input.table_name, - billing_mode: &input.billing_mode, - provisioned_throughput: &input.provisioned_throughput, - global_secondary_index_updates: &input.global_secondary_index_updates, - stream_specification: &input.stream_specification, - sse_specification: &input.sse_specification, - replica_updates: &input.replica_updates, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_table_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_table_replica_auto_scaling_input_body( +pub fn serialize_operation_update_table_replica_auto_scaling( input: &crate::input::UpdateTableReplicaAutoScalingInput, ) -> Result { - let body = crate::serializer::UpdateTableReplicaAutoScalingInputBody { - global_secondary_index_updates: &input.global_secondary_index_updates, - table_name: &input.table_name, - provisioned_write_capacity_auto_scaling_update: &input - .provisioned_write_capacity_auto_scaling_update, - replica_updates: &input.replica_updates, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_table_replica_auto_scaling_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_time_to_live_input_body( +pub fn serialize_operation_update_time_to_live( input: &crate::input::UpdateTimeToLiveInput, ) -> Result { - let body = crate::serializer::UpdateTimeToLiveInputBody { - table_name: &input.table_name, - time_to_live_specification: &input.time_to_live_specification, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_time_to_live_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/dynamodb/src/serde_util.rs b/sdk/dynamodb/src/serde_util.rs index a5336943148c..55bbdd49ac9a 100644 --- a/sdk/dynamodb/src/serde_util.rs +++ b/sdk/dynamodb/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> @@ -26,18 +12,6 @@ where ) } -pub fn smithytypesblob_ser( - _inp: &smithy_types::Blob, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - crate::blob_serde::BlobSer(el).serialize(_serializer) -} - pub fn smithytypesblob_deser<'de, D>(_deser: D) -> Result where D: serde::Deserializer<'de>, @@ -46,21 +20,6 @@ where Ok(crate::blob_serde::BlobDeser::deserialize(_deser)?.0) } -pub fn stdvecvecsmithytypesblob_ser( - _inp: &[smithy_types::Blob], - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.iter() - .map(|el| crate::blob_serde::BlobSer(el)) - .collect::>() - .serialize(_serializer) -} - pub fn stdvecvecsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/dynamodb/src/serializer.rs b/sdk/dynamodb/src/serializer.rs index e6185aef0518..4e4a12192327 100644 --- a/sdk/dynamodb/src/serializer.rs +++ b/sdk/dynamodb/src/serializer.rs @@ -1,12 +1,10 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchExecuteStatementInputBody<'a> { ///

    /// The list of PartiQL statements representing the batch to run. ///

    - #[serde(rename = "Statements")] - #[serde(skip_serializing_if = "Option::is_none")] pub statements: &'a std::option::Option>, } impl<'a> std::fmt::Debug for BatchExecuteStatementInputBody<'a> { @@ -19,7 +17,7 @@ impl<'a> std::fmt::Debug for BatchExecuteStatementInputBody<'a> { ///

    Represents the input of a BatchGetItem operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchGetItemInputBody<'a> { ///

    A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

    ///

    Each element in the map of items to retrieve consists of the following:

    @@ -99,8 +97,6 @@ pub struct BatchGetItemInputBody<'a> { ///

    /// /// - #[serde(rename = "RequestItems")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_items: &'a std::option::Option< std::collections::HashMap, >, @@ -120,8 +116,6 @@ pub struct BatchGetItemInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

    /// /// - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, } impl<'a> std::fmt::Debug for BatchGetItemInputBody<'a> { @@ -135,7 +129,7 @@ impl<'a> std::fmt::Debug for BatchGetItemInputBody<'a> { ///

    Represents the input of a BatchWriteItem operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchWriteItemInputBody<'a> { ///

    A map of one or more table names and, for each table, a list of operations to be performed /// (DeleteRequest or PutRequest). Each element in the map consists of the @@ -174,8 +168,6 @@ pub struct BatchWriteItemInputBody<'a> { /// /// /// - #[serde(rename = "RequestItems")] - #[serde(skip_serializing_if = "Option::is_none")] pub request_items: &'a std::option::Option< std::collections::HashMap>, >, @@ -195,13 +187,9 @@ pub struct BatchWriteItemInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

    /// /// - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during /// the operation are returned in the response. If set to NONE (the default), no statistics are returned.

    - #[serde(rename = "ReturnItemCollectionMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_item_collection_metrics: &'a std::option::Option, } @@ -219,15 +207,11 @@ impl<'a> std::fmt::Debug for BatchWriteItemInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateBackupInputBody<'a> { ///

    The name of the table.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    Specified name for the backup.

    - #[serde(rename = "BackupName")] - #[serde(skip_serializing_if = "Option::is_none")] pub backup_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateBackupInputBody<'a> { @@ -240,15 +224,11 @@ impl<'a> std::fmt::Debug for CreateBackupInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateGlobalTableInputBody<'a> { ///

    The global table name.

    - #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_name: &'a std::option::Option, ///

    The Regions where the global table needs to be created.

    - #[serde(rename = "ReplicationGroup")] - #[serde(skip_serializing_if = "Option::is_none")] pub replication_group: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateGlobalTableInputBody<'a> { @@ -262,16 +242,12 @@ impl<'a> std::fmt::Debug for CreateGlobalTableInputBody<'a> { ///

    Represents the input of a CreateTable operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateTableInputBody<'a> { ///

    An array of attributes that describe the key schema for the table and indexes.

    - #[serde(rename = "AttributeDefinitions")] - #[serde(skip_serializing_if = "Option::is_none")] pub attribute_definitions: &'a std::option::Option>, ///

    The name of the table to create.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    Specifies the attributes that make up the primary key for a table or an index. The attributes /// in KeySchema must also be defined in the AttributeDefinitions array. For more @@ -314,8 +290,6 @@ pub struct CreateTableInputBody<'a> { /// and the second element must have a KeyType of RANGE.

    ///

    For more information, see Working with Tables in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "KeySchema")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_schema: &'a std::option::Option>, ///

    One or more local secondary indexes (the maximum is 5) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.

    ///

    Each local secondary index in the array includes the following:

    @@ -373,8 +347,6 @@ pub struct CreateTableInputBody<'a> { /// /// /// - #[serde(rename = "LocalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] pub local_secondary_indexes: &'a std::option::Option>, ///

    One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following:

    @@ -432,8 +404,6 @@ pub struct CreateTableInputBody<'a> { /// consisting of read and write capacity units.

    /// /// - #[serde(rename = "GlobalSecondaryIndexes")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_secondary_indexes: &'a std::option::Option>, ///

    Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

    @@ -448,8 +418,6 @@ pub struct CreateTableInputBody<'a> { ///

    /// /// - #[serde(rename = "BillingMode")] - #[serde(skip_serializing_if = "Option::is_none")] pub billing_mode: &'a std::option::Option, ///

    Represents the provisioned throughput settings for a specified table or index. The /// settings can be modified using the UpdateTable operation.

    @@ -459,8 +427,6 @@ pub struct CreateTableInputBody<'a> { ///

    For current minimum and maximum provisioned throughput values, see Service, /// Account, and Table Quotas in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] pub provisioned_throughput: &'a std::option::Option, ///

    The settings for DynamoDB Streams on the table. These settings consist of:

    ///
      @@ -498,16 +464,10 @@ pub struct CreateTableInputBody<'a> { ///
    /// /// - #[serde(rename = "StreamSpecification")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_specification: &'a std::option::Option, ///

    Represents the settings used to enable server-side encryption.

    - #[serde(rename = "SSESpecification")] - #[serde(skip_serializing_if = "Option::is_none")] pub sse_specification: &'a std::option::Option, ///

    A list of key-value pairs to label the table. For more information, see Tagging for DynamoDB.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateTableInputBody<'a> { @@ -528,11 +488,9 @@ impl<'a> std::fmt::Debug for CreateTableInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteBackupInputBody<'a> { ///

    The ARN associated with the backup.

    - #[serde(rename = "BackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub backup_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteBackupInputBody<'a> { @@ -545,31 +503,23 @@ impl<'a> std::fmt::Debug for DeleteBackupInputBody<'a> { ///

    Represents the input of a DeleteItem operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteItemInputBody<'a> { ///

    The name of the table from which to delete the item.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    A map of attribute names to AttributeValue objects, representing the primary key of /// the item to delete.

    ///

    For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

    - #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] pub key: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use ConditionExpression instead. For more information, see /// Expected in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "Expected")] - #[serde(skip_serializing_if = "Option::is_none")] pub expected: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use ConditionExpression instead. For more information, see /// ConditionalOperator in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "ConditionalOperator")] - #[serde(skip_serializing_if = "Option::is_none")] pub conditional_operator: &'a std::option::Option, ///

    Use ReturnValues if you want to get the item attributes as they appeared before they /// were deleted. For DeleteItem, the valid values are:

    @@ -590,8 +540,6 @@ pub struct DeleteItemInputBody<'a> { /// DeleteItem does not recognize any values other than NONE or /// ALL_OLD.

    /// - #[serde(rename = "ReturnValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_values: &'a std::option::Option, ///

    Determines the level of detail about provisioned throughput consumption that is returned in the response:

    ///
      @@ -609,13 +557,9 @@ pub struct DeleteItemInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during /// the operation are returned in the response. If set to NONE (the default), no statistics are returned.

    - #[serde(rename = "ReturnItemCollectionMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_item_collection_metrics: &'a std::option::Option, ///

    A condition that must be satisfied in order for a conditional DeleteItem to @@ -640,8 +584,6 @@ pub struct DeleteItemInputBody<'a> { /// ///

    For more information about condition expressions, see Condition Expressions in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub condition_expression: &'a std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    ///
      @@ -684,8 +626,6 @@ pub struct DeleteItemInputBody<'a> { /// ///

      For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_names: &'a std::option::Option< std::collections::HashMap, >, @@ -704,8 +644,6 @@ pub struct DeleteItemInputBody<'a> { ///

      ///

      For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_values: &'a std::option::Option< std::collections::HashMap, >, @@ -738,11 +676,9 @@ impl<'a> std::fmt::Debug for DeleteItemInputBody<'a> { ///

      Represents the input of a DeleteTable operation.

      #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteTableInputBody<'a> { ///

      The name of the table to delete.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteTableInputBody<'a> { @@ -754,11 +690,9 @@ impl<'a> std::fmt::Debug for DeleteTableInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeBackupInputBody<'a> { ///

      The Amazon Resource Name (ARN) associated with the backup.

      - #[serde(rename = "BackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub backup_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeBackupInputBody<'a> { @@ -770,11 +704,9 @@ impl<'a> std::fmt::Debug for DescribeBackupInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeContinuousBackupsInputBody<'a> { ///

      Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeContinuousBackupsInputBody<'a> { @@ -786,15 +718,11 @@ impl<'a> std::fmt::Debug for DescribeContinuousBackupsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeContributorInsightsInputBody<'a> { ///

      The name of the table to describe.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      The name of the global secondary index to describe, if applicable.

      - #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] pub index_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeContributorInsightsInputBody<'a> { @@ -807,11 +735,9 @@ impl<'a> std::fmt::Debug for DescribeContributorInsightsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeExportInputBody<'a> { ///

      The Amazon Resource Name (ARN) associated with the export.

      - #[serde(rename = "ExportArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub export_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeExportInputBody<'a> { @@ -823,11 +749,9 @@ impl<'a> std::fmt::Debug for DescribeExportInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeGlobalTableInputBody<'a> { ///

      The name of the global table.

      - #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeGlobalTableInputBody<'a> { @@ -839,11 +763,9 @@ impl<'a> std::fmt::Debug for DescribeGlobalTableInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeGlobalTableSettingsInputBody<'a> { ///

      The name of the global table to describe.

      - #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeGlobalTableSettingsInputBody<'a> { @@ -855,11 +777,9 @@ impl<'a> std::fmt::Debug for DescribeGlobalTableSettingsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeKinesisStreamingDestinationInputBody<'a> { ///

      The name of the table being described.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeKinesisStreamingDestinationInputBody<'a> { @@ -872,11 +792,9 @@ impl<'a> std::fmt::Debug for DescribeKinesisStreamingDestinationInputBody<'a> { ///

      Represents the input of a DescribeTable operation.

      #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeTableInputBody<'a> { ///

      The name of the table to describe.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeTableInputBody<'a> { @@ -888,11 +806,9 @@ impl<'a> std::fmt::Debug for DescribeTableInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeTableReplicaAutoScalingInputBody<'a> { ///

      The name of the table.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeTableReplicaAutoScalingInputBody<'a> { @@ -904,11 +820,9 @@ impl<'a> std::fmt::Debug for DescribeTableReplicaAutoScalingInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeTimeToLiveInputBody<'a> { ///

      The name of the table to be described.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeTimeToLiveInputBody<'a> { @@ -920,15 +834,11 @@ impl<'a> std::fmt::Debug for DescribeTimeToLiveInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisableKinesisStreamingDestinationInputBody<'a> { ///

      The name of the DynamoDB table.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      The ARN for a Kinesis data stream.

      - #[serde(rename = "StreamArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DisableKinesisStreamingDestinationInputBody<'a> { @@ -941,15 +851,11 @@ impl<'a> std::fmt::Debug for DisableKinesisStreamingDestinationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnableKinesisStreamingDestinationInputBody<'a> { ///

      The name of the DynamoDB table.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      The ARN for a Kinesis data stream.

      - #[serde(rename = "StreamArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for EnableKinesisStreamingDestinationInputBody<'a> { @@ -962,31 +868,23 @@ impl<'a> std::fmt::Debug for EnableKinesisStreamingDestinationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ExecuteStatementInputBody<'a> { ///

      /// The PartiQL statement representing the operation to run. ///

      - #[serde(rename = "Statement")] - #[serde(skip_serializing_if = "Option::is_none")] pub statement: &'a std::option::Option, ///

      /// The parameters for the PartiQL statement, if any. ///

      - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option>, ///

      /// The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used. ///

      - #[serde(rename = "ConsistentRead")] - #[serde(skip_serializing_if = "Option::is_none")] pub consistent_read: &'a std::option::Option, ///

      /// Set this value to get remaining results, if NextToken was returned in the statement response. ///

      - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ExecuteStatementInputBody<'a> { @@ -1001,20 +899,16 @@ impl<'a> std::fmt::Debug for ExecuteStatementInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ExecuteTransactionInputBody<'a> { ///

      /// The list of PartiQL statements representing the transaction to run. ///

      - #[serde(rename = "TransactStatements")] - #[serde(skip_serializing_if = "Option::is_none")] pub transact_statements: &'a std::option::Option>, ///

      /// Set this value to get remaining results, if NextToken was returned in the statement response. ///

      - #[serde(rename = "ClientRequestToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_request_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ExecuteTransactionInputBody<'a> { @@ -1027,19 +921,12 @@ impl<'a> std::fmt::Debug for ExecuteTransactionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ExportTableToPointInTimeInputBody<'a> { ///

      The Amazon Resource Name (ARN) associated with the table to export.

      - #[serde(rename = "TableArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_arn: &'a std::option::Option, ///

      Time in the past from which to export table data. The table export will be a snapshot /// of the table's state at this point in time.

      - #[serde(rename = "ExportTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub export_time: &'a std::option::Option, ///

      Providing a ClientToken makes the call to /// ExportTableToPointInTimeInput idempotent, meaning that multiple @@ -1051,21 +938,13 @@ pub struct ExportTableToPointInTimeInputBody<'a> { ///

      If you submit a request with the same client token but a change in other parameters /// within the 8-hour idempotency window, DynamoDB returns an /// IdempotentParameterMismatch exception.

      - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, ///

      The name of the Amazon S3 bucket to export the snapshot to.

      - #[serde(rename = "S3Bucket")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_bucket: &'a std::option::Option, ///

      The ID of the AWS account that owns the bucket the export will be stored in.

      - #[serde(rename = "S3BucketOwner")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_bucket_owner: &'a std::option::Option, ///

      The Amazon S3 bucket prefix to use as the file name and path of the exported /// snapshot.

      - #[serde(rename = "S3Prefix")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_prefix: &'a std::option::Option, ///

      Type of encryption used on the bucket where export data will be stored. Valid values /// for S3SseAlgorithm are:

      @@ -1079,18 +958,12 @@ pub struct ExportTableToPointInTimeInputBody<'a> { /// KMS - server-side encryption with AWS KMS managed keys

      /// ///
    - #[serde(rename = "S3SseAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_sse_algorithm: &'a std::option::Option, ///

    The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will /// be stored (if applicable).

    - #[serde(rename = "S3SseKmsKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_sse_kms_key_id: &'a std::option::Option, ///

    The format for the exported data. Valid values for ExportFormat are /// DYNAMODB_JSON or ION.

    - #[serde(rename = "ExportFormat")] - #[serde(skip_serializing_if = "Option::is_none")] pub export_format: &'a std::option::Option, } impl<'a> std::fmt::Debug for ExportTableToPointInTimeInputBody<'a> { @@ -1111,28 +984,20 @@ impl<'a> std::fmt::Debug for ExportTableToPointInTimeInputBody<'a> { ///

    Represents the input of a GetItem operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetItemInputBody<'a> { ///

    The name of the table containing the requested item.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    A map of attribute names to AttributeValue objects, representing the primary key of /// the item to retrieve.

    ///

    For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

    - #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] pub key: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use ProjectionExpression instead. For more information, see /// AttributesToGet in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "AttributesToGet")] - #[serde(skip_serializing_if = "Option::is_none")] pub attributes_to_get: &'a std::option::Option>, ///

    Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

    - #[serde(rename = "ConsistentRead")] - #[serde(skip_serializing_if = "Option::is_none")] pub consistent_read: &'a std::option::Option, ///

    Determines the level of detail about provisioned throughput consumption that is returned in the response:

    ///
      @@ -1150,16 +1015,12 @@ pub struct GetItemInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    ///

    If no attribute names are specified, then all attributes are returned. If any of the /// requested attributes are not found, they do not appear in the result.

    ///

    For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "ProjectionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub projection_expression: &'a std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    ///
      @@ -1202,8 +1063,6 @@ pub struct GetItemInputBody<'a> { /// ///

      For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_names: &'a std::option::Option< std::collections::HashMap, >, @@ -1226,37 +1085,21 @@ impl<'a> std::fmt::Debug for GetItemInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListBackupsInputBody<'a> { ///

      The backups from the table specified by TableName are listed.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      Maximum number of backups to return at once.

      - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

      Only backups created after this time are listed. TimeRangeLowerBound is inclusive.

      - #[serde(rename = "TimeRangeLowerBound")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub time_range_lower_bound: &'a std::option::Option, ///

      Only backups created before this time are listed. TimeRangeUpperBound is exclusive.

      - #[serde(rename = "TimeRangeUpperBound")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub time_range_upper_bound: &'a std::option::Option, ///

      /// LastEvaluatedBackupArn is the Amazon Resource Name (ARN) of the backup last /// evaluated when the current page of results was returned, inclusive of the current page /// of results. This value may be specified as the ExclusiveStartBackupArn of a /// new ListBackups operation in order to fetch the next page of results.

      - #[serde(rename = "ExclusiveStartBackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_backup_arn: &'a std::option::Option, ///

      The backups from the table specified by BackupType are listed.

      ///

      Where BackupType can be:

      @@ -1275,8 +1118,6 @@ pub struct ListBackupsInputBody<'a> { /// ALL - All types of on-demand backups (USER and SYSTEM).

      /// ///
    - #[serde(rename = "BackupType")] - #[serde(skip_serializing_if = "Option::is_none")] pub backup_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListBackupsInputBody<'a> { @@ -1296,18 +1137,13 @@ impl<'a> std::fmt::Debug for ListBackupsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListContributorInsightsInputBody<'a> { ///

    The name of the table.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    A token to for the desired page, if there is one.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    Maximum number of results to return per page.

    - #[serde(rename = "MaxResults")] pub max_results: &'a i32, } impl<'a> std::fmt::Debug for ListContributorInsightsInputBody<'a> { @@ -1321,21 +1157,15 @@ impl<'a> std::fmt::Debug for ListContributorInsightsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListExportsInputBody<'a> { ///

    The Amazon Resource Name (ARN) associated with the exported table.

    - #[serde(rename = "TableArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_arn: &'a std::option::Option, ///

    Maximum number of results to return per page.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    An optional string that, if supplied, must be copied from the output of a previous /// call to ListExports. When provided in this manner, the API fetches the next /// page of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListExportsInputBody<'a> { @@ -1349,21 +1179,15 @@ impl<'a> std::fmt::Debug for ListExportsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListGlobalTablesInputBody<'a> { ///

    The first global table name that this operation will evaluate.

    - #[serde(rename = "ExclusiveStartGlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_global_table_name: &'a std::option::Option, ///

    The maximum number of table names to return, if the parameter is not specified DynamoDB defaults to 100.

    ///

    If the number of global tables DynamoDB finds reaches this limit, it stops the operation and returns the table names collected up to that point, /// with a table name in the LastEvaluatedGlobalTableName to apply in a subsequent operation to the ExclusiveStartGlobalTableName parameter.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Lists the global tables in a specific Region.

    - #[serde(rename = "RegionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub region_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListGlobalTablesInputBody<'a> { @@ -1381,17 +1205,13 @@ impl<'a> std::fmt::Debug for ListGlobalTablesInputBody<'a> { ///

    Represents the input of a ListTables operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTablesInputBody<'a> { ///

    The first table name that this operation will evaluate. Use the value that was returned for /// LastEvaluatedTableName in a previous operation, so that you can obtain the next page /// of results.

    - #[serde(rename = "ExclusiveStartTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_table_name: &'a std::option::Option, ///

    A maximum number of table names to return. If this parameter is not specified, the limit is 100.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListTablesInputBody<'a> { @@ -1407,16 +1227,12 @@ impl<'a> std::fmt::Debug for ListTablesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTagsOfResourceInputBody<'a> { ///

    The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

    - #[serde(rename = "ResourceArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_arn: &'a std::option::Option, ///

    An optional string that, if supplied, must be copied from the output of a previous /// call to ListTagOfResource. When provided in this manner, this API fetches the next page of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListTagsOfResourceInputBody<'a> { @@ -1430,11 +1246,9 @@ impl<'a> std::fmt::Debug for ListTagsOfResourceInputBody<'a> { ///

    Represents the input of a PutItem operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutItemInputBody<'a> { ///

    The name of the table to contain the item.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

    ///

    You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key.

    @@ -1443,15 +1257,11 @@ pub struct PutItemInputBody<'a> { ///

    For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer /// Guide.

    ///

    Each element in the Item map is an AttributeValue object.

    - #[serde(rename = "Item")] - #[serde(skip_serializing_if = "Option::is_none")] pub item: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use ConditionExpression instead. For more information, see /// Expected in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "Expected")] - #[serde(skip_serializing_if = "Option::is_none")] pub expected: &'a std::option::Option< std::collections::HashMap, >, @@ -1475,8 +1285,6 @@ pub struct PutItemInputBody<'a> { /// PutItem does not recognize any values other than NONE or /// ALL_OLD.

    /// - #[serde(rename = "ReturnValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_values: &'a std::option::Option, ///

    Determines the level of detail about provisioned throughput consumption that is returned in the response:

    ///
      @@ -1494,19 +1302,13 @@ pub struct PutItemInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during /// the operation are returned in the response. If set to NONE (the default), no statistics are returned.

    - #[serde(rename = "ReturnItemCollectionMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_item_collection_metrics: &'a std::option::Option, ///

    This is a legacy parameter. Use ConditionExpression instead. For more information, see /// ConditionalOperator in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "ConditionalOperator")] - #[serde(skip_serializing_if = "Option::is_none")] pub conditional_operator: &'a std::option::Option, ///

    A condition that must be satisfied in order for a conditional PutItem operation to /// succeed.

    @@ -1530,8 +1332,6 @@ pub struct PutItemInputBody<'a> { /// ///

    For more information on condition expressions, see Condition Expressions in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub condition_expression: &'a std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    ///
      @@ -1574,8 +1374,6 @@ pub struct PutItemInputBody<'a> { /// ///

      For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_names: &'a std::option::Option< std::collections::HashMap, >, @@ -1594,8 +1392,6 @@ pub struct PutItemInputBody<'a> { ///

      ///

      For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_values: &'a std::option::Option< std::collections::HashMap, >, @@ -1628,17 +1424,13 @@ impl<'a> std::fmt::Debug for PutItemInputBody<'a> { ///

      Represents the input of a Query operation.

      #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct QueryInputBody<'a> { ///

      The name of the table containing the requested items.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that /// if you use the IndexName parameter, you must also provide TableName. ///

      - #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] pub index_name: &'a std::option::Option, ///

      The attributes to be returned in the /// result. You can retrieve all item attributes, specific item attributes, the count of @@ -1696,13 +1488,9 @@ pub struct QueryInputBody<'a> { /// SPECIFIC_ATTRIBUTES. Any other value for /// Select will return an error.

      /// - #[serde(rename = "Select")] - #[serde(skip_serializing_if = "Option::is_none")] pub select: &'a std::option::Option, ///

      This is a legacy parameter. Use ProjectionExpression instead. For more information, see /// AttributesToGet in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "AttributesToGet")] - #[serde(skip_serializing_if = "Option::is_none")] pub attributes_to_get: &'a std::option::Option>, ///

      The maximum number of items to evaluate (not necessarily the number of matching items). /// If DynamoDB processes the number of items up to the limit while processing the results, @@ -1713,46 +1501,32 @@ pub struct QueryInputBody<'a> { /// to the limit, and a key in LastEvaluatedKey to apply in a subsequent /// operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

      Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

      ///

      Strongly consistent reads /// are not supported on global secondary indexes. If you query a global secondary index with ConsistentRead set to /// true, you will receive a ValidationException.

      - #[serde(rename = "ConsistentRead")] - #[serde(skip_serializing_if = "Option::is_none")] pub consistent_read: &'a std::option::Option, ///

      This is a legacy parameter. Use KeyConditionExpression instead. For more information, see /// KeyConditions in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "KeyConditions")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_conditions: &'a std::option::Option< std::collections::HashMap, >, ///

      This is a legacy parameter. Use FilterExpression instead. For more information, see /// QueryFilter in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "QueryFilter")] - #[serde(skip_serializing_if = "Option::is_none")] pub query_filter: &'a std::option::Option< std::collections::HashMap, >, ///

      This is a legacy parameter. Use FilterExpression instead. For more information, see /// ConditionalOperator in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "ConditionalOperator")] - #[serde(skip_serializing_if = "Option::is_none")] pub conditional_operator: &'a std::option::Option, ///

      Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

      ///

      Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

      ///

      If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

      - #[serde(rename = "ScanIndexForward")] - #[serde(skip_serializing_if = "Option::is_none")] pub scan_index_forward: &'a std::option::Option, ///

      The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

      ///

      The data type for ExclusiveStartKey must be String, Number, or Binary. No /// set data types are allowed.

      - #[serde(rename = "ExclusiveStartKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_key: &'a std::option::Option< std::collections::HashMap, >, @@ -1772,15 +1546,11 @@ pub struct QueryInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    ///

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    ///

    For more information, see /// Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "ProjectionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub projection_expression: &'a std::option::Option, ///

    A string that contains conditions that DynamoDB applies after the Query operation, but /// before the data is returned to you. Items that do not satisfy the FilterExpression @@ -1792,8 +1562,6 @@ pub struct QueryInputBody<'a> { /// ///

    For more information, see Filter /// Expressions in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "FilterExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub filter_expression: &'a std::option::Option, ///

    The condition that specifies the key values for items to be retrieved by the /// Query action.

    @@ -1899,8 +1667,6 @@ pub struct QueryInputBody<'a> { ///

    For more information on ExpressionAttributeNames and ExpressionAttributeValues, /// see Using Placeholders for Attribute /// Names and Values in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "KeyConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_condition_expression: &'a std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    ///
      @@ -1944,8 +1710,6 @@ pub struct QueryInputBody<'a> { /// ///

      For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_names: &'a std::option::Option< std::collections::HashMap, >, @@ -1964,8 +1728,6 @@ pub struct QueryInputBody<'a> { /// ProductStatus IN (:avail, :back, :disc) ///

      ///

      For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_values: &'a std::option::Option< std::collections::HashMap, >, @@ -2001,42 +1763,28 @@ impl<'a> std::fmt::Debug for QueryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RestoreTableFromBackupInputBody<'a> { ///

      The name of the new table to which the backup must be restored.

      - #[serde(rename = "TargetTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_table_name: &'a std::option::Option, ///

      The Amazon Resource Name (ARN) associated with the backup.

      - #[serde(rename = "BackupArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub backup_arn: &'a std::option::Option, ///

      The billing mode of the restored table.

      - #[serde(rename = "BillingModeOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub billing_mode_override: &'a std::option::Option, ///

      List of global secondary indexes for the restored table. The indexes /// provided should match existing secondary indexes. You can choose to exclude /// some or all of the indexes at the time of restore.

      - #[serde(rename = "GlobalSecondaryIndexOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_secondary_index_override: &'a std::option::Option>, ///

      List of local secondary indexes for the restored table. The indexes /// provided should match existing secondary indexes. You can choose to exclude /// some or all of the indexes at the time of restore.

      - #[serde(rename = "LocalSecondaryIndexOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub local_secondary_index_override: &'a std::option::Option>, ///

      Provisioned throughput settings for the restored table.

      - #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub provisioned_throughput_override: &'a std::option::Option, ///

      The new server-side encryption settings for the restored table.

      - #[serde(rename = "SSESpecificationOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub sse_specification_override: &'a std::option::Option, } impl<'a> std::fmt::Debug for RestoreTableFromBackupInputBody<'a> { @@ -2066,59 +1814,36 @@ impl<'a> std::fmt::Debug for RestoreTableFromBackupInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RestoreTableToPointInTimeInputBody<'a> { ///

      The DynamoDB table that will be restored. This value is an Amazon /// Resource Name (ARN).

      - #[serde(rename = "SourceTableArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_table_arn: &'a std::option::Option, ///

      Name of the source table that is being restored.

      - #[serde(rename = "SourceTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_table_name: &'a std::option::Option, ///

      The name of the new table to which it must be restored to.

      - #[serde(rename = "TargetTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_table_name: &'a std::option::Option, ///

      Restore the table to the latest possible time. LatestRestorableDateTime /// is typically 5 minutes before the current time.

      - #[serde(rename = "UseLatestRestorableTime")] - #[serde(skip_serializing_if = "Option::is_none")] pub use_latest_restorable_time: &'a std::option::Option, ///

      Time in the past to restore the table to.

      - #[serde(rename = "RestoreDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub restore_date_time: &'a std::option::Option, ///

      The billing mode of the restored table.

      - #[serde(rename = "BillingModeOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub billing_mode_override: &'a std::option::Option, ///

      List of global secondary indexes for the restored table. The indexes /// provided should match existing secondary indexes. You can choose to exclude /// some or all of the indexes at the time of restore.

      - #[serde(rename = "GlobalSecondaryIndexOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_secondary_index_override: &'a std::option::Option>, ///

      List of local secondary indexes for the restored table. The indexes /// provided should match existing secondary indexes. You can choose to exclude /// some or all of the indexes at the time of restore.

      - #[serde(rename = "LocalSecondaryIndexOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub local_secondary_index_override: &'a std::option::Option>, ///

      Provisioned throughput settings for the restored table.

      - #[serde(rename = "ProvisionedThroughputOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub provisioned_throughput_override: &'a std::option::Option, ///

      The new server-side encryption settings for the restored table.

      - #[serde(rename = "SSESpecificationOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub sse_specification_override: &'a std::option::Option, } impl<'a> std::fmt::Debug for RestoreTableToPointInTimeInputBody<'a> { @@ -2155,21 +1880,15 @@ impl<'a> std::fmt::Debug for RestoreTableToPointInTimeInputBody<'a> { ///

      Represents the input of a Scan operation.

      #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ScanInputBody<'a> { ///

      The name of the table containing the requested items; or, if you provide /// IndexName, the name of the table to which that index belongs.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the IndexName parameter, you must also provide TableName.

      - #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] pub index_name: &'a std::option::Option, ///

      This is a legacy parameter. Use ProjectionExpression instead. For more information, see /// AttributesToGet in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "AttributesToGet")] - #[serde(skip_serializing_if = "Option::is_none")] pub attributes_to_get: &'a std::option::Option>, ///

      The maximum number of items to evaluate (not necessarily the number of matching items). /// If DynamoDB processes the number of items up to the limit while processing the results, @@ -2180,8 +1899,6 @@ pub struct ScanInputBody<'a> { /// to the limit, and a key in LastEvaluatedKey to apply in a subsequent /// operation to continue the operation. For more information, see Working with Queries in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

      The attributes to be returned in the /// result. You can retrieve all item attributes, specific item attributes, the count of @@ -2239,28 +1956,20 @@ pub struct ScanInputBody<'a> { /// SPECIFIC_ATTRIBUTES. Any other value for /// Select will return an error.

      /// - #[serde(rename = "Select")] - #[serde(skip_serializing_if = "Option::is_none")] pub select: &'a std::option::Option, ///

      This is a legacy parameter. Use FilterExpression instead. For more information, see /// ScanFilter in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "ScanFilter")] - #[serde(skip_serializing_if = "Option::is_none")] pub scan_filter: &'a std::option::Option< std::collections::HashMap, >, ///

      This is a legacy parameter. Use FilterExpression instead. For more information, see /// ConditionalOperator in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "ConditionalOperator")] - #[serde(skip_serializing_if = "Option::is_none")] pub conditional_operator: &'a std::option::Option, ///

      The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

      ///

      The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

      ///

      In a parallel scan, a /// Scan request that includes ExclusiveStartKey must specify the same segment /// whose previous Scan returned the corresponding value of LastEvaluatedKey.

      - #[serde(rename = "ExclusiveStartKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_key: &'a std::option::Option< std::collections::HashMap, >, @@ -2280,8 +1989,6 @@ pub struct ScanInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    For a parallel Scan request, TotalSegments represents the total number of /// segments into which the Scan operation will be divided. The value of @@ -2292,8 +1999,6 @@ pub struct ScanInputBody<'a> { /// to 1000000. If you specify a TotalSegments value of 1, the Scan operation will /// be sequential rather than parallel.

    ///

    If you specify TotalSegments, you must also specify Segment.

    - #[serde(rename = "TotalSegments")] - #[serde(skip_serializing_if = "Option::is_none")] pub total_segments: &'a std::option::Option, ///

    For a parallel Scan request, Segment identifies an individual segment to be /// scanned by an application worker.

    @@ -2306,15 +2011,11 @@ pub struct ScanInputBody<'a> { ///

    The value for Segment must be greater than or equal to 0, and less than the value /// provided for TotalSegments.

    ///

    If you provide Segment, you must also provide TotalSegments.

    - #[serde(rename = "Segment")] - #[serde(skip_serializing_if = "Option::is_none")] pub segment: &'a std::option::Option, ///

    A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    ///

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    ///

    For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "ProjectionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub projection_expression: &'a std::option::Option, ///

    A string that contains conditions that DynamoDB applies after the Scan operation, but /// before the data is returned to you. Items that do not satisfy the FilterExpression @@ -2325,8 +2026,6 @@ pub struct ScanInputBody<'a> { /// ///

    For more information, see /// Filter Expressions in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "FilterExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub filter_expression: &'a std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    ///
      @@ -2369,8 +2068,6 @@ pub struct ScanInputBody<'a> { /// ///

      For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_names: &'a std::option::Option< std::collections::HashMap, >, @@ -2391,8 +2088,6 @@ pub struct ScanInputBody<'a> { ///

      ///

      For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_values: &'a std::option::Option< std::collections::HashMap, >, @@ -2410,8 +2105,6 @@ pub struct ScanInputBody<'a> { ///
    ///

    The default setting for ConsistentRead is false.

    ///

    The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

    - #[serde(rename = "ConsistentRead")] - #[serde(skip_serializing_if = "Option::is_none")] pub consistent_read: &'a std::option::Option, } impl<'a> std::fmt::Debug for ScanInputBody<'a> { @@ -2444,15 +2137,11 @@ impl<'a> std::fmt::Debug for ScanInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInputBody<'a> { ///

    Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).

    - #[serde(rename = "ResourceArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_arn: &'a std::option::Option, ///

    The tags to be assigned to the Amazon DynamoDB resource.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { @@ -2465,18 +2154,14 @@ impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TransactGetItemsInputBody<'a> { ///

    An ordered array of up to 25 TransactGetItem objects, /// each of which contains a Get structure.

    - #[serde(rename = "TransactItems")] - #[serde(skip_serializing_if = "Option::is_none")] pub transact_items: &'a std::option::Option>, ///

    A value of TOTAL causes consumed capacity information /// to be returned, and a value of NONE prevents that information /// from being returned. No other value is valid.

    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, } impl<'a> std::fmt::Debug for TransactGetItemsInputBody<'a> { @@ -2489,15 +2174,13 @@ impl<'a> std::fmt::Debug for TransactGetItemsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TransactWriteItemsInputBody<'a> { ///

    An ordered array of up to 25 TransactWriteItem objects, each of which /// contains a ConditionCheck, Put, Update, or /// Delete object. These can operate on items in different tables, but the /// tables must reside in the same AWS account and Region, and no two of them can operate on /// the same item.

    - #[serde(rename = "TransactItems")] - #[serde(skip_serializing_if = "Option::is_none")] pub transact_items: &'a std::option::Option>, ///

    Determines the level of detail about provisioned throughput consumption that is returned in the response:

    ///
      @@ -2515,16 +2198,12 @@ pub struct TransactWriteItemsInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    Determines whether item collection metrics are returned. If set to /// SIZE, the response includes statistics about item collections (if any), that /// were modified during the operation and are returned in the response. /// If set to NONE (the default), no statistics are returned. ///

    - #[serde(rename = "ReturnItemCollectionMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_item_collection_metrics: &'a std::option::Option, ///

    Providing a ClientRequestToken makes the call to TransactWriteItems @@ -2543,8 +2222,6 @@ pub struct TransactWriteItemsInputBody<'a> { ///

    If you submit a request with the same client token but a change in other parameters /// within the 10-minute idempotency window, DynamoDB returns an /// IdempotentParameterMismatch exception.

    - #[serde(rename = "ClientRequestToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_request_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for TransactWriteItemsInputBody<'a> { @@ -2562,17 +2239,13 @@ impl<'a> std::fmt::Debug for TransactWriteItemsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UntagResourceInputBody<'a> { ///

    The DynamoDB resource that the tags will be removed from. This value is an Amazon /// Resource Name (ARN).

    - #[serde(rename = "ResourceArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_arn: &'a std::option::Option, ///

    A list of tag keys. Existing tags of the resource whose keys are members of this list /// will be removed from the DynamoDB resource.

    - #[serde(rename = "TagKeys")] - #[serde(skip_serializing_if = "Option::is_none")] pub tag_keys: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { @@ -2585,15 +2258,11 @@ impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateContinuousBackupsInputBody<'a> { ///

    The name of the table.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    Represents the settings used to enable point in time recovery.

    - #[serde(rename = "PointInTimeRecoverySpecification")] - #[serde(skip_serializing_if = "Option::is_none")] pub point_in_time_recovery_specification: &'a std::option::Option, } @@ -2610,19 +2279,13 @@ impl<'a> std::fmt::Debug for UpdateContinuousBackupsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateContributorInsightsInputBody<'a> { ///

    The name of the table.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    The global secondary index name, if applicable.

    - #[serde(rename = "IndexName")] - #[serde(skip_serializing_if = "Option::is_none")] pub index_name: &'a std::option::Option, ///

    Represents the contributor insights action.

    - #[serde(rename = "ContributorInsightsAction")] - #[serde(skip_serializing_if = "Option::is_none")] pub contributor_insights_action: &'a std::option::Option, } @@ -2640,15 +2303,11 @@ impl<'a> std::fmt::Debug for UpdateContributorInsightsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateGlobalTableInputBody<'a> { ///

    The global table name.

    - #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_name: &'a std::option::Option, ///

    A list of Regions that should be added or removed from the global table.

    - #[serde(rename = "ReplicaUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] pub replica_updates: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateGlobalTableInputBody<'a> { @@ -2661,11 +2320,9 @@ impl<'a> std::fmt::Debug for UpdateGlobalTableInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateGlobalTableSettingsInputBody<'a> { ///

    The name of the global table

    - #[serde(rename = "GlobalTableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_name: &'a std::option::Option, ///

    The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

    ///
      @@ -2679,29 +2336,19 @@ pub struct UpdateGlobalTableSettingsInputBody<'a> { ///

      /// ///
    - #[serde(rename = "GlobalTableBillingMode")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_billing_mode: &'a std::option::Option, ///

    The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. ///

    - #[serde(rename = "GlobalTableProvisionedWriteCapacityUnits")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_provisioned_write_capacity_units: &'a std::option::Option, ///

    Auto scaling settings for managing provisioned write capacity for the global /// table.

    - #[serde(rename = "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_provisioned_write_capacity_auto_scaling_settings_update: &'a std::option::Option, ///

    Represents the settings of a global secondary index for a global table that will be modified.

    - #[serde(rename = "GlobalTableGlobalSecondaryIndexSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_table_global_secondary_index_settings_update: &'a std::option::Option< std::vec::Vec, >, ///

    Represents the settings for a global table in a Region that will be modified.

    - #[serde(rename = "ReplicaSettingsUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] pub replica_settings_update: &'a std::option::Option>, } @@ -2729,37 +2376,27 @@ impl<'a> std::fmt::Debug for UpdateGlobalTableSettingsInputBody<'a> { ///

    Represents the input of an UpdateItem operation.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateItemInputBody<'a> { ///

    The name of the table containing the item to update.

    - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

    The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.

    ///

    For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

    - #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] pub key: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use UpdateExpression instead. For more information, see /// AttributeUpdates in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "AttributeUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] pub attribute_updates: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use ConditionExpression instead. For more information, see /// Expected in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "Expected")] - #[serde(skip_serializing_if = "Option::is_none")] pub expected: &'a std::option::Option< std::collections::HashMap, >, ///

    This is a legacy parameter. Use ConditionExpression instead. For more information, see /// ConditionalOperator in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "ConditionalOperator")] - #[serde(skip_serializing_if = "Option::is_none")] pub conditional_operator: &'a std::option::Option, ///

    Use ReturnValues if you want to get the item attributes as they appear /// before or after they are updated. For UpdateItem, the valid values @@ -2792,8 +2429,6 @@ pub struct UpdateItemInputBody<'a> { /// small network and processing overhead of receiving a larger response. No read capacity /// units are consumed.

    ///

    The values returned are strongly consistent.

    - #[serde(rename = "ReturnValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_values: &'a std::option::Option, ///

    Determines the level of detail about provisioned throughput consumption that is returned in the response:

    ///
      @@ -2811,13 +2446,9 @@ pub struct UpdateItemInputBody<'a> { /// NONE - No ConsumedCapacity details are included in the response.

      /// ///
    - #[serde(rename = "ReturnConsumedCapacity")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_consumed_capacity: &'a std::option::Option, ///

    Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during /// the operation are returned in the response. If set to NONE (the default), no statistics are returned.

    - #[serde(rename = "ReturnItemCollectionMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub return_item_collection_metrics: &'a std::option::Option, ///

    An expression that defines one or more attributes to be updated, the action to be @@ -2908,8 +2539,6 @@ pub struct UpdateItemInputBody<'a> { /// b=:value2 DELETE :value3, :value4, :value5 ///

    ///

    For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.

    - #[serde(rename = "UpdateExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub update_expression: &'a std::option::Option, ///

    A condition that must be satisfied in order for a conditional update to succeed.

    ///

    An expression can contain any of the following:

    @@ -2932,8 +2561,6 @@ pub struct UpdateItemInputBody<'a> { /// ///

    For more information about condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer /// Guide.

    - #[serde(rename = "ConditionExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub condition_expression: &'a std::option::Option, ///

    One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

    ///
      @@ -2979,8 +2606,6 @@ pub struct UpdateItemInputBody<'a> { /// ///

      For more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_names: &'a std::option::Option< std::collections::HashMap, >, @@ -3001,8 +2626,6 @@ pub struct UpdateItemInputBody<'a> { ///

      ///

      For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer /// Guide.

      - #[serde(rename = "ExpressionAttributeValues")] - #[serde(skip_serializing_if = "Option::is_none")] pub expression_attribute_values: &'a std::option::Option< std::collections::HashMap, >, @@ -3037,16 +2660,12 @@ impl<'a> std::fmt::Debug for UpdateItemInputBody<'a> { ///

      Represents the input of an UpdateTable operation.

      #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateTableInputBody<'a> { ///

      An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

      - #[serde(rename = "AttributeDefinitions")] - #[serde(skip_serializing_if = "Option::is_none")] pub attribute_definitions: &'a std::option::Option>, ///

      The name of the table to be updated.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      Controls how you are charged for read and write throughput and how you manage capacity. /// When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial @@ -3063,12 +2682,8 @@ pub struct UpdateTableInputBody<'a> { ///

      /// ///
    - #[serde(rename = "BillingMode")] - #[serde(skip_serializing_if = "Option::is_none")] pub billing_mode: &'a std::option::Option, ///

    The new provisioned throughput settings for the specified table or index.

    - #[serde(rename = "ProvisionedThroughput")] - #[serde(skip_serializing_if = "Option::is_none")] pub provisioned_throughput: &'a std::option::Option, ///

    An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

    ///
      @@ -3088,8 +2703,6 @@ pub struct UpdateTableInputBody<'a> { ///

      You can create or delete only one global secondary index per UpdateTable operation.

      ///

      For more information, see Managing Global Secondary /// Indexes in the Amazon DynamoDB Developer Guide.

      - #[serde(rename = "GlobalSecondaryIndexUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_secondary_index_updates: &'a std::option::Option>, ///

      Represents the DynamoDB Streams configuration for the table.

      @@ -3098,19 +2711,13 @@ pub struct UpdateTableInputBody<'a> { /// table that already has a stream, or if you try to disable a stream on a table that /// doesn't have a stream.

      /// - #[serde(rename = "StreamSpecification")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_specification: &'a std::option::Option, ///

      The new server-side encryption settings for the specified table.

      - #[serde(rename = "SSESpecification")] - #[serde(skip_serializing_if = "Option::is_none")] pub sse_specification: &'a std::option::Option, ///

      A list of replica update actions (create, delete, or update) for the table.

      /// ///

      This property only applies to Version 2019.11.21 of global tables.

      ///
      - #[serde(rename = "ReplicaUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] pub replica_updates: &'a std::option::Option>, } @@ -3133,28 +2740,20 @@ impl<'a> std::fmt::Debug for UpdateTableInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateTableReplicaAutoScalingInputBody<'a> { ///

      Represents the auto scaling settings of the global secondary indexes of the replica /// to be updated.

      - #[serde(rename = "GlobalSecondaryIndexUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_secondary_index_updates: &'a std::option::Option>, ///

      The name of the global table to be updated.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      Represents the auto scaling settings to be modified for a global table or global /// secondary index.

      - #[serde(rename = "ProvisionedWriteCapacityAutoScalingUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] pub provisioned_write_capacity_auto_scaling_update: &'a std::option::Option, ///

      Represents the auto scaling settings of replicas of the table that will be /// modified.

      - #[serde(rename = "ReplicaUpdates")] - #[serde(skip_serializing_if = "Option::is_none")] pub replica_updates: &'a std::option::Option>, } @@ -3177,15 +2776,11 @@ impl<'a> std::fmt::Debug for UpdateTableReplicaAutoScalingInputBody<'a> { ///

      Represents the input of an UpdateTimeToLive operation.

      #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateTimeToLiveInputBody<'a> { ///

      The name of the table to be configured.

      - #[serde(rename = "TableName")] - #[serde(skip_serializing_if = "Option::is_none")] pub table_name: &'a std::option::Option, ///

      Represents the settings used to enable or disable Time to Live for the specified table.

      - #[serde(rename = "TimeToLiveSpecification")] - #[serde(skip_serializing_if = "Option::is_none")] pub time_to_live_specification: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateTimeToLiveInputBody<'a> { diff --git a/sdk/ecs/Cargo.toml b/sdk/ecs/Cargo.toml new file mode 100644 index 000000000000..59942945c2ff --- /dev/null +++ b/sdk/ecs/Cargo.toml @@ -0,0 +1,45 @@ +# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +[package] +name = "aws-sdk-ecs" +version = "0.0.6-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 AWS 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" +edition = "2018" +[dependencies.aws-hyper] +path = "..//aws-hyper" +features = ["test-util"] +optional = true +[dependencies.smithy-http] +path = "..//smithy-http" +[dependencies.aws-endpoint] +path = "..//aws-endpoint" +[dependencies.aws-types] +path = "..//aws-types" +[dependencies.aws-auth] +path = "..//aws-auth" +[dependencies.smithy-types] +path = "..//smithy-types" +[dependencies.serde] +version = "1" +features = ["derive"] +[dependencies.aws-http] +path = "..//aws-http" +[dependencies.aws-sig-auth] +path = "..//aws-sig-auth" +[dependencies.http] +version = "0.2" +[dependencies.serde_json] +version = "1" +features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" +[dependencies.bytes] +version = "1" +[features] +client = ["aws-hyper"] +rustls = ["aws-hyper/rustls"] +native-tls = ["aws-hyper/native-tls"] +default = ["client", "rustls"] + + diff --git a/sdk/ecs/LICENSE b/sdk/ecs/LICENSE new file mode 100644 index 000000000000..3581ac356771 --- /dev/null +++ b/sdk/ecs/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/ecs/src/aws_json_errors.rs b/sdk/ecs/src/aws_json_errors.rs new file mode 100644 index 000000000000..d8c9e67c9716 --- /dev/null +++ b/sdk/ecs/src/aws_json_errors.rs @@ -0,0 +1,165 @@ +// 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 http::header::ToStrError; + +// 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 error_type_from_body(body: &serde_json::Value) -> Option<&str> { + body.as_object() + .and_then(|b: &serde_json::Map| { + b.get("code").or_else(|| b.get("__type")) + }) + .and_then(|v| v.as_str()) +} + +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, + } +} + +pub fn parse_generic_error( + response: &http::Response, + body: &serde_json::Value, +) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); + let code = error_type_from_header(&response) + .unwrap_or(Some("header was not valid UTF-8")) + .or_else(|| error_type_from_body(body)) + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } + let message = body + .get("message") + .or_else(|| body.get("Message")) + .or_else(|| body.get("errorMessage")) + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } + let request_id = response + .headers() + .get("X-Amzn-Requestid") + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); + } + err_builder.build() +} + +#[cfg(test)] +mod test { + use crate::aws_json_errors::{error_type_from_body, parse_generic_error, sanitize_error_code}; + use serde_json::json; + use smithy_types::Error; + + #[test] + fn generic_error() { + let response = http::Response::builder() + .header("X-Amzn-Requestid", "1234") + .body(json!({ + "__type": "FooError", + "message": "Go to foo" + })) + .unwrap(); + assert_eq!( + parse_generic_error(&response, response.body()), + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() + ) + } + + #[test] + fn error_type() { + let error_body = json!({ + "__type": "FooError" + }); + assert_eq!(error_type_from_body(&error_body), Some("FooError")); + } + + #[test] + fn code_takes_priority() { + let error_body = json!({ + "__type": "FooError", + "code": "BarError" + }); + assert_eq!(error_type_from_body(&error_body), Some("BarError")); + } + + #[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(json!({ + "Type": "User", + "Message": "Functions from 'us-west-2' are not reachable from us-east-1" + })) + .unwrap(); + assert_eq!( + parse_generic_error(&response, response.body()), + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); + } +} diff --git a/sdk/ecs/src/client.rs b/sdk/ecs/src/client.rs new file mode 100644 index 000000000000..36c1bc111c72 --- /dev/null +++ b/sdk/ecs/src/client.rs @@ -0,0 +1,5632 @@ +// 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 { + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_env() -> Self { + Self::from_conf_conn( + crate::Config::builder().build(), + aws_hyper::conn::Standard::https(), + ) + } + + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_conf(conf: crate::Config) -> Self { + Self::from_conf_conn(conf, aws_hyper::conn::Standard::https()) + } + + pub fn from_conf_conn(conf: crate::Config, conn: aws_hyper::conn::Standard) -> 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 + } + pub fn create_capacity_provider(&self) -> fluent_builders::CreateCapacityProvider { + fluent_builders::CreateCapacityProvider::new(self.handle.clone()) + } + pub fn create_cluster(&self) -> fluent_builders::CreateCluster { + fluent_builders::CreateCluster::new(self.handle.clone()) + } + pub fn create_service(&self) -> fluent_builders::CreateService { + fluent_builders::CreateService::new(self.handle.clone()) + } + pub fn create_task_set(&self) -> fluent_builders::CreateTaskSet { + fluent_builders::CreateTaskSet::new(self.handle.clone()) + } + pub fn delete_account_setting(&self) -> fluent_builders::DeleteAccountSetting { + fluent_builders::DeleteAccountSetting::new(self.handle.clone()) + } + pub fn delete_attributes(&self) -> fluent_builders::DeleteAttributes { + fluent_builders::DeleteAttributes::new(self.handle.clone()) + } + pub fn delete_capacity_provider(&self) -> fluent_builders::DeleteCapacityProvider { + fluent_builders::DeleteCapacityProvider::new(self.handle.clone()) + } + pub fn delete_cluster(&self) -> fluent_builders::DeleteCluster { + fluent_builders::DeleteCluster::new(self.handle.clone()) + } + pub fn delete_service(&self) -> fluent_builders::DeleteService { + fluent_builders::DeleteService::new(self.handle.clone()) + } + pub fn delete_task_set(&self) -> fluent_builders::DeleteTaskSet { + fluent_builders::DeleteTaskSet::new(self.handle.clone()) + } + pub fn deregister_container_instance(&self) -> fluent_builders::DeregisterContainerInstance { + fluent_builders::DeregisterContainerInstance::new(self.handle.clone()) + } + pub fn deregister_task_definition(&self) -> fluent_builders::DeregisterTaskDefinition { + fluent_builders::DeregisterTaskDefinition::new(self.handle.clone()) + } + pub fn describe_capacity_providers(&self) -> fluent_builders::DescribeCapacityProviders { + fluent_builders::DescribeCapacityProviders::new(self.handle.clone()) + } + pub fn describe_clusters(&self) -> fluent_builders::DescribeClusters { + fluent_builders::DescribeClusters::new(self.handle.clone()) + } + pub fn describe_container_instances(&self) -> fluent_builders::DescribeContainerInstances { + fluent_builders::DescribeContainerInstances::new(self.handle.clone()) + } + pub fn describe_services(&self) -> fluent_builders::DescribeServices { + fluent_builders::DescribeServices::new(self.handle.clone()) + } + pub fn describe_task_definition(&self) -> fluent_builders::DescribeTaskDefinition { + fluent_builders::DescribeTaskDefinition::new(self.handle.clone()) + } + pub fn describe_tasks(&self) -> fluent_builders::DescribeTasks { + fluent_builders::DescribeTasks::new(self.handle.clone()) + } + pub fn describe_task_sets(&self) -> fluent_builders::DescribeTaskSets { + fluent_builders::DescribeTaskSets::new(self.handle.clone()) + } + pub fn discover_poll_endpoint(&self) -> fluent_builders::DiscoverPollEndpoint { + fluent_builders::DiscoverPollEndpoint::new(self.handle.clone()) + } + pub fn execute_command(&self) -> fluent_builders::ExecuteCommand { + fluent_builders::ExecuteCommand::new(self.handle.clone()) + } + pub fn list_account_settings(&self) -> fluent_builders::ListAccountSettings { + fluent_builders::ListAccountSettings::new(self.handle.clone()) + } + pub fn list_attributes(&self) -> fluent_builders::ListAttributes { + fluent_builders::ListAttributes::new(self.handle.clone()) + } + pub fn list_clusters(&self) -> fluent_builders::ListClusters { + fluent_builders::ListClusters::new(self.handle.clone()) + } + pub fn list_container_instances(&self) -> fluent_builders::ListContainerInstances { + fluent_builders::ListContainerInstances::new(self.handle.clone()) + } + pub fn list_services(&self) -> fluent_builders::ListServices { + fluent_builders::ListServices::new(self.handle.clone()) + } + pub fn list_tags_for_resource(&self) -> fluent_builders::ListTagsForResource { + fluent_builders::ListTagsForResource::new(self.handle.clone()) + } + pub fn list_task_definition_families(&self) -> fluent_builders::ListTaskDefinitionFamilies { + fluent_builders::ListTaskDefinitionFamilies::new(self.handle.clone()) + } + pub fn list_task_definitions(&self) -> fluent_builders::ListTaskDefinitions { + fluent_builders::ListTaskDefinitions::new(self.handle.clone()) + } + pub fn list_tasks(&self) -> fluent_builders::ListTasks { + fluent_builders::ListTasks::new(self.handle.clone()) + } + pub fn put_account_setting(&self) -> fluent_builders::PutAccountSetting { + fluent_builders::PutAccountSetting::new(self.handle.clone()) + } + pub fn put_account_setting_default(&self) -> fluent_builders::PutAccountSettingDefault { + fluent_builders::PutAccountSettingDefault::new(self.handle.clone()) + } + pub fn put_attributes(&self) -> fluent_builders::PutAttributes { + fluent_builders::PutAttributes::new(self.handle.clone()) + } + pub fn put_cluster_capacity_providers(&self) -> fluent_builders::PutClusterCapacityProviders { + fluent_builders::PutClusterCapacityProviders::new(self.handle.clone()) + } + pub fn register_container_instance(&self) -> fluent_builders::RegisterContainerInstance { + fluent_builders::RegisterContainerInstance::new(self.handle.clone()) + } + pub fn register_task_definition(&self) -> fluent_builders::RegisterTaskDefinition { + fluent_builders::RegisterTaskDefinition::new(self.handle.clone()) + } + pub fn run_task(&self) -> fluent_builders::RunTask { + fluent_builders::RunTask::new(self.handle.clone()) + } + pub fn start_task(&self) -> fluent_builders::StartTask { + fluent_builders::StartTask::new(self.handle.clone()) + } + pub fn stop_task(&self) -> fluent_builders::StopTask { + fluent_builders::StopTask::new(self.handle.clone()) + } + pub fn submit_attachment_state_changes(&self) -> fluent_builders::SubmitAttachmentStateChanges { + fluent_builders::SubmitAttachmentStateChanges::new(self.handle.clone()) + } + pub fn submit_container_state_change(&self) -> fluent_builders::SubmitContainerStateChange { + fluent_builders::SubmitContainerStateChange::new(self.handle.clone()) + } + pub fn submit_task_state_change(&self) -> fluent_builders::SubmitTaskStateChange { + fluent_builders::SubmitTaskStateChange::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 fn update_capacity_provider(&self) -> fluent_builders::UpdateCapacityProvider { + fluent_builders::UpdateCapacityProvider::new(self.handle.clone()) + } + pub fn update_cluster(&self) -> fluent_builders::UpdateCluster { + fluent_builders::UpdateCluster::new(self.handle.clone()) + } + pub fn update_cluster_settings(&self) -> fluent_builders::UpdateClusterSettings { + fluent_builders::UpdateClusterSettings::new(self.handle.clone()) + } + pub fn update_container_agent(&self) -> fluent_builders::UpdateContainerAgent { + fluent_builders::UpdateContainerAgent::new(self.handle.clone()) + } + pub fn update_container_instances_state( + &self, + ) -> fluent_builders::UpdateContainerInstancesState { + fluent_builders::UpdateContainerInstancesState::new(self.handle.clone()) + } + pub fn update_service(&self) -> fluent_builders::UpdateService { + fluent_builders::UpdateService::new(self.handle.clone()) + } + pub fn update_service_primary_task_set(&self) -> fluent_builders::UpdateServicePrimaryTaskSet { + fluent_builders::UpdateServicePrimaryTaskSet::new(self.handle.clone()) + } + pub fn update_task_set(&self) -> fluent_builders::UpdateTaskSet { + fluent_builders::UpdateTaskSet::new(self.handle.clone()) + } +} +pub mod fluent_builders { + #[derive(std::fmt::Debug)] + pub struct CreateCapacityProvider { + handle: std::sync::Arc, + inner: crate::input::create_capacity_provider_input::Builder, + } + impl CreateCapacityProvider { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::CreateCapacityProviderOutput, + smithy_http::result::SdkError, + > { + 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 capacity provider. Up to 255 characters are allowed, including letters + /// (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed + /// with "aws", "ecs", or "fargate".

      + pub fn name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.name(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_name(inp); + self + } + ///

      The details of the Auto Scaling group for the capacity provider.

      + pub fn auto_scaling_group_provider( + mut self, + inp: crate::model::AutoScalingGroupProvider, + ) -> Self { + self.inner = self.inner.auto_scaling_group_provider(inp); + self + } + pub fn set_auto_scaling_group_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_auto_scaling_group_provider(inp); + self + } + ///

      The metadata that you apply to the capacity provider to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateCluster { + handle: std::sync::Arc, + inner: crate::input::create_cluster_input::Builder, + } + impl CreateCluster { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::CreateClusterOutput, + smithy_http::result::SdkError, + > { + 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 your cluster. If you do not specify a name for your cluster, you create a + /// cluster named default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

      + pub fn cluster_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster_name(inp); + self + } + pub fn set_cluster_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster_name(inp); + self + } + ///

      The metadata that you apply to the cluster to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + ///

      The setting to use when creating a cluster. This parameter is used to enable CloudWatch + /// Container Insights for a cluster. If this value is specified, it will override the + /// containerInsights value set with PutAccountSetting or + /// PutAccountSettingDefault.

      + pub fn settings(mut self, inp: impl Into) -> Self { + self.inner = self.inner.settings(inp); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_settings(inp); + self + } + ///

      The execute command configuration for the cluster.

      + pub fn configuration(mut self, inp: crate::model::ClusterConfiguration) -> Self { + self.inner = self.inner.configuration(inp); + self + } + pub fn set_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_configuration(inp); + self + } + ///

      The short name of one or more capacity providers to associate with the cluster. A + /// capacity provider must be associated with a cluster before it can be included as part of + /// the default capacity provider strategy of the cluster or used in a capacity provider + /// strategy when calling the CreateService or RunTask + /// actions.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created and not already associated with another cluster. New + /// Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + self.inner = self.inner.capacity_providers(inp); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_providers(inp); + 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 + /// 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, + /// it can be defined later with the PutClusterCapacityProviders API + /// operation.

      + pub fn default_capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.default_capacity_provider_strategy(inp); + self + } + pub fn set_default_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_default_capacity_provider_strategy(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateService { + handle: std::sync::Arc, + inner: crate::input::create_service_input::Builder, + } + impl CreateService { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::CreateServiceOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      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 + /// Region or across multiple Regions.

      + pub fn service_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service_name(inp); + self + } + pub fn set_service_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service_name(inp); + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used.

      + ///

      A task definition must be specified if the service is using either the + /// ECS or CODE_DEPLOY deployment controllers.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + ///

      A load balancer object representing the load balancers to use with your service. For + /// more information, see Service Load Balancing in the + /// Amazon Elastic Container Service Developer Guide.

      + ///

      If the service is using the rolling update (ECS) deployment controller + /// and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to + /// attach to the service. The service-linked role is required for services that make use of + /// multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///

      If the service is using the CODE_DEPLOY deployment controller, the + /// service is required to use either an Application Load Balancer or Network Load Balancer. When creating an AWS CodeDeploy deployment + /// group, you specify two target groups (referred to as a targetGroupPair). + /// During a deployment, AWS CodeDeploy determines which task set in your service has the status + /// PRIMARY and associates one target group with it, and then associates + /// the other target group with the replacement task set. The load balancer can also have up + /// to two listeners: a required listener for production traffic and an optional listener + /// that allows you perform validation tests with Lambda functions before routing production + /// traffic to it.

      + ///

      After you create a service using the ECS deployment controller, the load + /// balancer name or target group ARN, container name, and container port specified in the + /// service definition are immutable. If you are using the CODE_DEPLOY + /// deployment controller, these values can be changed when updating the service.

      + ///

      For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, + /// the container name (as it appears in a container definition), and the container port to + /// access from the load balancer. The load balancer name parameter must be omitted. When a + /// task from this service is placed on a container instance, the container instance and + /// port combination is registered as a target in the target group specified here.

      + ///

      For Classic Load Balancers, this object must contain the load balancer name, the container name (as it + /// appears in a container definition), and the container port to access from the load + /// balancer. The target group ARN parameter must be omitted. When a task from this service + /// is placed on a container instance, the container instance is registered with the load + /// balancer specified here.

      + ///

      Services with tasks that use the awsvpc network mode (for example, those + /// with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are + /// not supported. Also, when you create any target groups for these services, you must + /// choose ip as the target type, not instance, because tasks that + /// use the awsvpc network mode are associated with an elastic network + /// interface, not an Amazon EC2 instance.

      + pub fn load_balancers(mut self, inp: impl Into) -> Self { + self.inner = self.inner.load_balancers(inp); + self + } + pub fn set_load_balancers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_load_balancers(inp); + self + } + ///

      The details of the service discovery registry to associate with this service. For more + /// information, see Service + /// discovery.

      + /// + ///

      Each service may be associated with one service registry. Multiple service + /// registries per service isn't supported.

      + ///
      + pub fn service_registries(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service_registries(inp); + self + } + pub fn set_service_registries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_service_registries(inp); + self + } + ///

      The number of instantiations of the specified task definition to place and keep + /// running on your cluster.

      + ///

      This is required if schedulingStrategy is REPLICA or is not + /// specified. If schedulingStrategy is DAEMON then this is not + /// required.

      + pub fn desired_count(mut self, inp: i32) -> Self { + self.inner = self.inner.desired_count(inp); + self + } + pub fn set_desired_count(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_desired_count(inp); + self + } + ///

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

      + pub fn client_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.client_token(inp); + self + } + pub fn set_client_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_client_token(inp); + self + } + ///

      The infrastructure on which to run your service. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A service can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.inner = self.inner.launch_type(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_launch_type(inp); + self + } + ///

      The capacity provider strategy to use for the service.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.capacity_provider_strategy(inp); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_provider_strategy(inp); + self + } + ///

      The platform version that your tasks in the service are running on. A platform version + /// is specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default. For more + /// information, see AWS Fargate platform + /// versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.inner = self.inner.platform_version(inp); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_platform_version(inp); + self + } + ///

      The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your + /// load balancer on your behalf. This parameter is only permitted if you are using a load + /// balancer with your service and your task definition does not use the awsvpc + /// network mode. If you specify the role parameter, you must also specify a + /// load balancer object with the loadBalancers parameter.

      + /// + ///

      If your account has already created the Amazon ECS service-linked role, that role is + /// used by default for your service unless you specify a role here. The service-linked + /// role is required if your task definition uses the awsvpc network mode + /// or if the service is configured to use service discovery, an external deployment + /// controller, multiple target groups, or Elastic Inference accelerators in which case + /// you should not specify a role here. For more information, see Using + /// service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///
      + ///

      If your specified role has a path other than /, then you must either + /// specify the full role ARN (this is recommended) or prefix the role name with the path. + /// For example, if a role with the name bar has a path of /foo/ + /// then you would specify /foo/bar as the role name. For more information, see + /// Friendly names and paths in the IAM User Guide.

      + pub fn role(mut self, inp: impl Into) -> Self { + self.inner = self.inner.role(inp); + self + } + pub fn set_role(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_role(inp); + self + } + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub fn deployment_configuration( + mut self, + inp: crate::model::DeploymentConfiguration, + ) -> Self { + self.inner = self.inner.deployment_configuration(inp); + self + } + pub fn set_deployment_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_deployment_configuration(inp); + self + } + ///

      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).

      + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_constraints(inp); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_placement_constraints(inp); + self + } + ///

      The placement strategy objects to use for tasks in your service. You can specify a + /// maximum of five strategy rules per service.

      + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_strategy(inp); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_placement_strategy(inp); + self + } + ///

      The network configuration for the service. 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 + /// in the Amazon Elastic Container Service Developer Guide.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.inner = self.inner.network_configuration(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_network_configuration(inp); + self + } + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used + /// when your service is configured to use a load balancer. If your service has a load + /// balancer defined and you don't specify a health check grace period value, the default + /// value of 0 is used.

      + ///

      If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you + /// can specify a health check grace period of up to 2,147,483,647 seconds. During that + /// time, the Amazon ECS service scheduler ignores health check status. This grace period can + /// prevent the service scheduler from marking tasks as unhealthy and stopping them before + /// they have time to come up.

      + pub fn health_check_grace_period_seconds(mut self, inp: i32) -> Self { + self.inner = self.inner.health_check_grace_period_seconds(inp); + self + } + pub fn set_health_check_grace_period_seconds( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_health_check_grace_period_seconds(inp); + self + } + ///

      The scheduling strategy to use for the service. For more information, see Services.

      + ///

      There are two service scheduler strategies available:

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

        + /// REPLICA-The replica scheduling strategy places and + /// maintains the desired number of tasks across your cluster. By default, the + /// service scheduler spreads tasks across Availability Zones. You can use task + /// placement strategies and constraints to customize task placement decisions. This + /// scheduler strategy is required if the service is using the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types.

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

        + /// DAEMON-The daemon scheduling strategy deploys exactly one + /// task on each active container instance that meets all of the task placement + /// constraints that you specify in your cluster. The service scheduler also + /// evaluates the task placement constraints for running tasks and will stop tasks + /// that do not meet the placement constraints. When you're using this strategy, you + /// don't need to specify a desired number of tasks, a task placement strategy, or + /// use Service Auto Scaling policies.

        + /// + ///

        Tasks using the Fargate launch type or the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types don't support the DAEMON scheduling strategy.

        + ///
        + ///
      • + ///
      + pub fn scheduling_strategy(mut self, inp: crate::model::SchedulingStrategy) -> Self { + self.inner = self.inner.scheduling_strategy(inp); + self + } + pub fn set_scheduling_strategy( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_scheduling_strategy(inp); + self + } + ///

      The deployment controller to use for the service. If no deployment controller is + /// specified, the default value of ECS is used.

      + pub fn deployment_controller(mut self, inp: crate::model::DeploymentController) -> Self { + self.inner = self.inner.deployment_controller(inp); + self + } + pub fn set_deployment_controller( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_deployment_controller(inp); + self + } + ///

      The metadata that you apply to the service to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define. When a + /// service is deleted, the tags are deleted as well.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For + /// more information, see Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_ecs_managed_tags(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.inner = self.inner.set_enable_ecs_managed_tags(inp); + self + } + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// tasks in the service. If no value is specified, the tags are not propagated. Tags can + /// only be propagated to the tasks within the service during service creation. To add tags + /// to a task after service creation, use the TagResource API + /// action.

      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.inner = self.inner.propagate_tags(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_propagate_tags(inp); + self + } + ///

      Whether or not the execute command functionality is enabled for the service. If + /// true, this enables execute command functionality on all containers in + /// the service tasks.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_execute_command(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.set_enable_execute_command(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateTaskSet { + handle: std::sync::Arc, + inner: crate::input::create_task_set_input::Builder, + } + impl CreateTaskSet { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::CreateTaskSetOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the service to create the task set in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the + /// task set in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      An optional non-unique tag that identifies this task set in external systems. If the + /// task set is associated with a service discovery registry, the tasks in this task set + /// will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided + /// value.

      + pub fn external_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.external_id(inp); + self + } + pub fn set_external_id(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_external_id(inp); + self + } + ///

      The task definition for the tasks in the task set to use.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + ///

      An object representing the network configuration for a task set.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.inner = self.inner.network_configuration(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_network_configuration(inp); + self + } + ///

      A load balancer object representing the load balancer to use with the task set. The + /// supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

      + pub fn load_balancers(mut self, inp: impl Into) -> Self { + self.inner = self.inner.load_balancers(inp); + self + } + pub fn set_load_balancers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_load_balancers(inp); + self + } + ///

      The details of the service discovery registries to assign to this task set. For more + /// information, see Service + /// Discovery.

      + pub fn service_registries(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service_registries(inp); + self + } + pub fn set_service_registries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_service_registries(inp); + self + } + ///

      The launch type that new tasks in the task set will use. For more information, see + /// Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

      + ///

      If a launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.inner = self.inner.launch_type(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_launch_type(inp); + self + } + ///

      The capacity provider strategy to use for the task set.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.capacity_provider_strategy(inp); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_provider_strategy(inp); + self + } + ///

      The platform version that the tasks in the task set should use. A platform version is + /// specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.inner = self.inner.platform_version(inp); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_platform_version(inp); + self + } + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub fn scale(mut self, inp: crate::model::Scale) -> Self { + self.inner = self.inner.scale(inp); + self + } + pub fn set_scale(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_scale(inp); + self + } + ///

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

      + pub fn client_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.client_token(inp); + self + } + pub fn set_client_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_client_token(inp); + self + } + ///

      The metadata that you apply to the task set to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define. When a + /// service is deleted, the tags are deleted as well.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteAccountSetting { + handle: std::sync::Arc, + inner: crate::input::delete_account_setting_input::Builder, + } + impl DeleteAccountSetting { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteAccountSettingOutput, + smithy_http::result::SdkError, + > { + 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 resource name for which to disable the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.inner = self.inner.name(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_name(inp); + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it disables the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.principal_arn(inp); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_principal_arn(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteAttributes { + handle: std::sync::Arc, + inner: crate::input::delete_attributes_input::Builder, + } + impl DeleteAttributes { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteAttributesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete + /// attributes. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The attributes to delete from your resource. You can specify up to 10 attributes per + /// request. For custom attributes, specify the attribute name and target ID, but do not + /// specify the value. If you specify the target ID using the short form, you must also + /// specify the target type.

      + pub fn attributes(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attributes(inp); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attributes(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteCapacityProvider { + handle: std::sync::Arc, + inner: crate::input::delete_capacity_provider_input::Builder, + } + impl DeleteCapacityProvider { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteCapacityProviderOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

      + pub fn capacity_provider(mut self, inp: impl Into) -> Self { + self.inner = self.inner.capacity_provider(inp); + self + } + pub fn set_capacity_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_capacity_provider(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteCluster { + handle: std::sync::Arc, + inner: crate::input::delete_cluster_input::Builder, + } + impl DeleteCluster { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteClusterOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster to delete.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteService { + handle: std::sync::Arc, + inner: crate::input::delete_service_input::Builder, + } + impl DeleteService { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteServiceOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The name of the service to delete.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      If true, allows you to delete a service even if it has not been scaled + /// down to zero tasks. It is only necessary to use this if the service is using the + /// REPLICA scheduling strategy.

      + pub fn force(mut self, inp: bool) -> Self { + self.inner = self.inner.force(inp); + self + } + pub fn set_force(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_force(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteTaskSet { + handle: std::sync::Arc, + inner: crate::input::delete_task_set_input::Builder, + } + impl DeleteTaskSet { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteTaskSetOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in to delete.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to + /// delete.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

      + pub fn task_set(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_set(inp); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task_set(inp); + self + } + ///

      If true, this allows you to delete a task set even if it hasn't been + /// scaled down to zero.

      + pub fn force(mut self, inp: bool) -> Self { + self.inner = self.inner.force(inp); + self + } + pub fn set_force(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_force(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeregisterContainerInstance { + handle: std::sync::Arc, + inner: crate::input::deregister_container_instance_input::Builder, + } + impl DeregisterContainerInstance { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeregisterContainerInstanceOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// deregister. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + 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 AWS 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, inp: impl Into) -> Self { + self.inner = self.inner.container_instance(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_container_instance(inp); + self + } + ///

      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 + /// tasks remain running until you terminate the instance or the tasks stop through some + /// other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If + /// an orphaned task on your container instance is part of an Amazon ECS service, then the + /// service scheduler starts another copy of that task, on a different container instance if + /// possible.

      + ///

      Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer + /// target group are deregistered. They begin connection draining according to the settings + /// on the load balancer or target group.

      + pub fn force(mut self, inp: bool) -> Self { + self.inner = self.inner.force(inp); + self + } + pub fn set_force(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_force(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeregisterTaskDefinition { + handle: std::sync::Arc, + inner: crate::input::deregister_task_definition_input::Builder, + } + impl DeregisterTaskDefinition { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeregisterTaskDefinitionOutput, + smithy_http::result::SdkError, + > { + 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 family and revision (family:revision) or + /// full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a + /// revision.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeCapacityProviders { + handle: std::sync::Arc, + inner: crate::input::describe_capacity_providers_input::Builder, + } + impl DescribeCapacityProviders { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeCapacityProvidersOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to + /// 100 capacity providers can be described in an action.

      + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + self.inner = self.inner.capacity_providers(inp); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_providers(inp); + self + } + ///

      Specifies whether or not you want to see the resource tags for the capacity provider. + /// If TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + ///

      The maximum number of account setting results returned by + /// DescribeCapacityProviders in paginated output. When this parameter is + /// used, DescribeCapacityProviders only returns maxResults + /// results in a single page along with a nextToken response element. The + /// remaining results of the initial request can be seen by sending another + /// DescribeCapacityProviders request with the returned + /// nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then DescribeCapacityProviders returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + ///

      The nextToken value returned from a previous paginated + /// DescribeCapacityProviders request where maxResults was + /// used and the results exceeded the value of that parameter. Pagination continues from the + /// end of the previous results that returned the nextToken value.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeClusters { + handle: std::sync::Arc, + inner: crate::input::describe_clusters_input::Builder, + } + impl DescribeClusters { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeClustersOutput, + smithy_http::result::SdkError, + > { + 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 up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn clusters(mut self, inp: impl Into) -> Self { + self.inner = self.inner.clusters(inp); + self + } + pub fn set_clusters( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_clusters(inp); + self + } + ///

      Whether to include additional information about your clusters in the response. If this + /// field is omitted, the attachments, statistics, and tags are not included.

      + ///

      If ATTACHMENTS is specified, the attachments for the container instances + /// or tasks within the cluster are included.

      + ///

      If SETTINGS is specified, the settings for the cluster are + /// included.

      + ///

      If STATISTICS is specified, the following additional information, + /// separated by launch type, is included:

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

        runningEC2TasksCount

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

        runningFargateTasksCount

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

        pendingEC2TasksCount

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

        pendingFargateTasksCount

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

        activeEC2ServiceCount

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

        activeFargateServiceCount

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

        drainingEC2ServiceCount

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

        drainingFargateServiceCount

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

      If TAGS is specified, the metadata tags associated with the cluster are + /// included.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeContainerInstances { + handle: std::sync::Arc, + inner: crate::input::describe_container_instances_input::Builder, + } + impl DescribeContainerInstances { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeContainerInstancesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance + /// or container instances you are describing were launched in any cluster other than the + /// default cluster.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

      + pub fn container_instances(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_instances(inp); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_container_instances(inp); + self + } + ///

      Specifies whether you want to see the resource tags for the container instance. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeServices { + handle: std::sync::Arc, + inner: crate::input::describe_services_input::Builder, + } + impl DescribeServices { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeServicesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. + /// If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are + /// describing were launched in any cluster other than the default cluster.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      A list of services to describe. You may specify up to 10 services to describe in a + /// single operation.

      + pub fn services(mut self, inp: impl Into) -> Self { + self.inner = self.inner.services(inp); + self + } + pub fn set_services( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_services(inp); + self + } + ///

      Specifies whether you want to see the resource tags for the service. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeTaskDefinition { + handle: std::sync::Arc, + inner: crate::input::describe_task_definition_input::Builder, + } + impl DescribeTaskDefinition { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeTaskDefinitionOutput, + smithy_http::result::SdkError, + > { + 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 family for the latest ACTIVE revision, + /// family and revision (family:revision) for a + /// specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to + /// describe.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + ///

      Specifies whether to see the resource tags for the task definition. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeTasks { + handle: std::sync::Arc, + inner: crate::input::describe_tasks_input::Builder, + } + impl DescribeTasks { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeTasksOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you + /// are describing were launched in any cluster other than the default cluster.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      A list of up to 100 task IDs or full ARN entries.

      + pub fn tasks(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tasks(inp); + self + } + pub fn set_tasks( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tasks(inp); + self + } + ///

      Specifies whether you want to see the resource tags for the task. If TAGS + /// is specified, the tags are included in the response. If this field is omitted, tags are + /// not included in the response.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeTaskSets { + handle: std::sync::Arc, + inner: crate::input::describe_task_sets_input::Builder, + } + impl DescribeTaskSets { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DescribeTaskSetsOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// sets exist in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      The ID or full Amazon Resource Name (ARN) of task sets to + /// describe.

      + pub fn task_sets(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_sets(inp); + self + } + pub fn set_task_sets( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_task_sets(inp); + self + } + ///

      Specifies whether to see the resource tags for the task set. If TAGS is + /// specified, the tags are included in the response. If this field is omitted, tags are not + /// included in the response.

      + pub fn include(mut self, inp: impl Into) -> Self { + self.inner = self.inner.include(inp); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_include(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DiscoverPollEndpoint { + handle: std::sync::Arc, + inner: crate::input::discover_poll_endpoint_input::Builder, + } + impl DiscoverPollEndpoint { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DiscoverPollEndpointOutput, + smithy_http::result::SdkError, + > { + 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 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 AWS 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, inp: impl Into) -> Self { + self.inner = self.inner.container_instance(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_container_instance(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance + /// belongs.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ExecuteCommand { + handle: std::sync::Arc, + inner: crate::input::execute_command_input::Builder, + } + impl ExecuteCommand { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ExecuteCommandOutput, + smithy_http::result::SdkError, + > { + 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) or short name of the cluster the task is running in. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The name of the container to execute the command on. A container name only needs to be + /// specified for tasks containing multiple containers.

      + pub fn container(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container(inp); + self + } + pub fn set_container(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_container(inp); + self + } + ///

      The command to run on the container.

      + pub fn command(mut self, inp: impl Into) -> Self { + self.inner = self.inner.command(inp); + self + } + pub fn set_command(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_command(inp); + self + } + ///

      Use this flag to run your command in interactive mode.

      + pub fn interactive(mut self, inp: bool) -> Self { + self.inner = self.inner.interactive(inp); + self + } + pub fn set_interactive(mut self, inp: bool) -> Self { + self.inner = self.inner.set_interactive(inp); + self + } + ///

      The Amazon Resource Name (ARN) or ID of the task the container is part of.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task(inp); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListAccountSettings { + handle: std::sync::Arc, + inner: crate::input::list_account_settings_input::Builder, + } + impl ListAccountSettings { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListAccountSettingsOutput, + smithy_http::result::SdkError, + > { + 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 account setting you want to list the settings for.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.inner = self.inner.name(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_name(inp); + self + } + ///

      The value of the account settings with which to filter results. You must also specify + /// an account setting name to use this parameter.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.inner = self.inner.value(inp); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_value(inp); + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + /// this field is omitted, the account settings are listed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.principal_arn(inp); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_principal_arn(inp); + self + } + ///

      Specifies whether to return the effective settings. If true, the account + /// settings for the root user or the default setting for the principalArn are + /// returned. If false, the account settings for the principalArn + /// are returned if they are set. Otherwise, no account settings are returned.

      + pub fn effective_settings(mut self, inp: bool) -> Self { + self.inner = self.inner.effective_settings(inp); + self + } + pub fn set_effective_settings(mut self, inp: bool) -> Self { + self.inner = self.inner.set_effective_settings(inp); + self + } + ///

      The nextToken value returned from a ListAccountSettings + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of account setting results returned by + /// ListAccountSettings in paginated output. When this parameter is used, + /// ListAccountSettings only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListAccountSettings + /// request with the returned nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then ListAccountSettings returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListAttributes { + handle: std::sync::Arc, + inner: crate::input::list_attributes_input::Builder, + } + impl ListAttributes { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListAttributesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster to list attributes. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The type of the target with which to list attributes.

      + pub fn target_type(mut self, inp: crate::model::TargetType) -> Self { + self.inner = self.inner.target_type(inp); + self + } + pub fn set_target_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_target_type(inp); + self + } + ///

      The name of the attribute with which to filter the results.

      + pub fn attribute_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attribute_name(inp); + self + } + pub fn set_attribute_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_attribute_name(inp); + self + } + ///

      The value of the attribute with which to filter results. You must also specify an + /// attribute name to use this parameter.

      + pub fn attribute_value(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attribute_value(inp); + self + } + pub fn set_attribute_value( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_attribute_value(inp); + self + } + ///

      The nextToken value returned from a ListAttributes request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of cluster results returned by ListAttributes in + /// paginated output. When this parameter is used, ListAttributes only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListAttributes request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListAttributes returns up to + /// 100 results and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListClusters { + handle: std::sync::Arc, + inner: crate::input::list_clusters_input::Builder, + } + impl ListClusters { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListClustersOutput, + smithy_http::result::SdkError, + > { + 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 nextToken value returned from a ListClusters request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of cluster results returned by ListClusters in + /// paginated output. When this parameter is used, ListClusters only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListClusters request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListClusters returns up to + /// 100 results and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListContainerInstances { + handle: std::sync::Arc, + inner: crate::input::list_container_instances_input::Builder, + } + impl ListContainerInstances { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListContainerInstancesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// list. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      You can filter the results of a ListContainerInstances operation with + /// cluster query language statements. For more information, see Cluster Query Language in the + /// Amazon Elastic Container Service Developer Guide.

      + pub fn filter(mut self, inp: impl Into) -> Self { + self.inner = self.inner.filter(inp); + self + } + pub fn set_filter(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_filter(inp); + self + } + ///

      The nextToken value returned from a ListContainerInstances + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of container instance results returned by + /// ListContainerInstances in paginated output. When this parameter is + /// used, ListContainerInstances only returns maxResults results + /// in a single page along with a nextToken response element. The remaining + /// results of the initial request can be seen by sending another + /// ListContainerInstances request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListContainerInstances returns up to + /// 100 results and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + ///

      Filters the container instances by status. For example, if you specify the + /// DRAINING status, the results include only container instances that have + /// been set to DRAINING using UpdateContainerInstancesState. + /// If you do not specify this parameter, the default is to include container instances set + /// to all states other than INACTIVE.

      + pub fn status(mut self, inp: crate::model::ContainerInstanceStatus) -> Self { + self.inner = self.inner.status(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_status(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListServices { + handle: std::sync::Arc, + inner: crate::input::list_services_input::Builder, + } + impl ListServices { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListServicesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListServices results. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The nextToken value returned from a ListServices request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of service results returned by ListServices in + /// paginated output. When this parameter is used, ListServices only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListServices request with the returned nextToken + /// value. This value can be between 1 and 100. If + /// this parameter is not used, then ListServices returns up to + /// 10 results and a nextToken value if + /// applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + ///

      The launch type to use when filtering the ListServices results.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.inner = self.inner.launch_type(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_launch_type(inp); + self + } + ///

      The scheduling strategy to use when filtering the ListServices + /// results.

      + pub fn scheduling_strategy(mut self, inp: crate::model::SchedulingStrategy) -> Self { + self.inner = self.inner.scheduling_strategy(inp); + self + } + pub fn set_scheduling_strategy( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_scheduling_strategy(inp); + 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, + ) -> Result< + crate::output::ListTagsForResourceOutput, + smithy_http::result::SdkError, + > { + 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) that identifies the resource for which to list the tags. Currently, the + /// supported resources are Amazon ECS tasks, services, task definitions, clusters, and container + /// instances.

      + pub fn resource_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.resource_arn(inp); + self + } + pub fn set_resource_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_resource_arn(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListTaskDefinitionFamilies { + handle: std::sync::Arc, + inner: crate::input::list_task_definition_families_input::Builder, + } + impl ListTaskDefinitionFamilies { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListTaskDefinitionFamiliesOutput, + smithy_http::result::SdkError, + > { + 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 familyPrefix is a string that is used to filter the results of + /// ListTaskDefinitionFamilies. If you specify a familyPrefix, + /// only task definition family names that begin with the familyPrefix string + /// are returned.

      + pub fn family_prefix(mut self, inp: impl Into) -> Self { + self.inner = self.inner.family_prefix(inp); + self + } + pub fn set_family_prefix(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_family_prefix(inp); + self + } + ///

      The task definition family status with which to filter the + /// ListTaskDefinitionFamilies results. By default, both + /// ACTIVE and INACTIVE task definition families are listed. + /// If this parameter is set to ACTIVE, only task definition families that have + /// an ACTIVE task definition revision are returned. If this parameter is set + /// to INACTIVE, only task definition families that do not have any + /// ACTIVE task definition revisions are returned. If you paginate the + /// resulting output, be sure to keep the status value constant in each + /// subsequent request.

      + pub fn status(mut self, inp: crate::model::TaskDefinitionFamilyStatus) -> Self { + self.inner = self.inner.status(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_status(inp); + self + } + ///

      The nextToken value returned from a + /// ListTaskDefinitionFamilies request indicating that more results are + /// available to fulfill the request and further calls will be needed. If + /// maxResults was provided, it is possible the number of results to be + /// fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of task definition family results returned by + /// ListTaskDefinitionFamilies in paginated output. When this parameter is + /// used, ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another + /// ListTaskDefinitionFamilies request with the returned + /// nextToken value. This value can be between 1 and + /// 100. If this parameter is not used, then + /// ListTaskDefinitionFamilies returns up to 100 results + /// and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListTaskDefinitions { + handle: std::sync::Arc, + inner: crate::input::list_task_definitions_input::Builder, + } + impl ListTaskDefinitions { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListTaskDefinitionsOutput, + smithy_http::result::SdkError, + > { + 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 full family name with which to filter the ListTaskDefinitions + /// results. Specifying a familyPrefix limits the listed task definitions to + /// task definition revisions that belong to that family.

      + pub fn family_prefix(mut self, inp: impl Into) -> Self { + self.inner = self.inner.family_prefix(inp); + self + } + pub fn set_family_prefix(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_family_prefix(inp); + self + } + ///

      The task definition status with which to filter the ListTaskDefinitions + /// results. By default, only ACTIVE task definitions are listed. By setting + /// this parameter to INACTIVE, you can view task definitions that are + /// INACTIVE as long as an active task or service still references them. If + /// you paginate the resulting output, be sure to keep the status value + /// constant in each subsequent request.

      + pub fn status(mut self, inp: crate::model::TaskDefinitionStatus) -> Self { + self.inner = self.inner.status(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_status(inp); + self + } + ///

      The order in which to sort the results. Valid values are ASC and + /// DESC. By default (ASC), task definitions are listed + /// lexicographically by family name and in ascending numerical order by revision so that + /// the newest task definitions in a family are listed last. Setting this parameter to + /// DESC reverses the sort order on family name and revision so that the + /// newest task definitions in a family are listed first.

      + pub fn sort(mut self, inp: crate::model::SortOrder) -> Self { + self.inner = self.inner.sort(inp); + self + } + pub fn set_sort(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_sort(inp); + self + } + ///

      The nextToken value returned from a ListTaskDefinitions + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of task definition results returned by + /// ListTaskDefinitions in paginated output. When this parameter is used, + /// ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListTaskDefinitions + /// request with the returned nextToken value. This value can be between + /// 1 and 100. If this parameter is not used, then + /// ListTaskDefinitions returns up to 100 results and a + /// nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + 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, + ) -> Result< + crate::output::ListTasksOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListTasks results. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The container instance ID or full ARN of the container instance to use when + /// filtering the ListTasks results. Specifying a + /// containerInstance limits the results to tasks that belong to that + /// container instance.

      + pub fn container_instance(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_instance(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_container_instance(inp); + self + } + ///

      The name of the task definition family to use when filtering the + /// ListTasks results. Specifying a family limits the results + /// to tasks that belong to that family.

      + pub fn family(mut self, inp: impl Into) -> Self { + self.inner = self.inner.family(inp); + self + } + pub fn set_family(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_family(inp); + self + } + ///

      The nextToken value returned from a ListTasks request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

      The maximum number of task results returned by ListTasks in paginated + /// output. When this parameter is used, ListTasks only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListTasks request with the returned nextToken value. + /// This value can be between 1 and 100. If this parameter is + /// not used, then ListTasks returns up to 100 results and a + /// nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + ///

      The startedBy value with which to filter the task results. Specifying a + /// startedBy value limits the results to tasks that were started with that + /// value.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.inner = self.inner.started_by(inp); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_started_by(inp); + self + } + ///

      The name of the service to use when filtering the ListTasks results. + /// Specifying a serviceName limits the results to tasks that belong to that + /// service.

      + pub fn service_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service_name(inp); + self + } + pub fn set_service_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service_name(inp); + self + } + ///

      The task desired status to use when filtering the ListTasks results. + /// Specifying a desiredStatus of STOPPED limits the results to + /// tasks that Amazon ECS has set the desired status to STOPPED. This can be useful + /// for debugging tasks that are not starting properly or have died or finished. The default + /// status filter is RUNNING, which shows tasks that Amazon ECS has set the desired + /// status to RUNNING.

      + /// + ///

      Although you can filter results based on a desired status of PENDING, + /// this does not return any results. Amazon ECS never sets the desired status of a task to + /// that value (only a task's lastStatus may have a value of + /// PENDING).

      + ///
      + pub fn desired_status(mut self, inp: crate::model::DesiredStatus) -> Self { + self.inner = self.inner.desired_status(inp); + self + } + pub fn set_desired_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_desired_status(inp); + self + } + ///

      The launch type to use when filtering the ListTasks results.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.inner = self.inner.launch_type(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_launch_type(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct PutAccountSetting { + handle: std::sync::Arc, + inner: crate::input::put_account_setting_input::Builder, + } + impl PutAccountSetting { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::PutAccountSettingOutput, + smithy_http::result::SdkError, + > { + 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 ECS resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the elastic network interface (ENI) limit + /// for your Amazon ECS container instances is affected. If containerInsights is + /// specified, the default setting for CloudWatch Container Insights for your clusters is + /// affected.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.inner = self.inner.name(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_name(inp); + self + } + ///

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.inner = self.inner.value(inp); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_value(inp); + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it modifies the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.principal_arn(inp); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_principal_arn(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct PutAccountSettingDefault { + handle: std::sync::Arc, + inner: crate::input::put_account_setting_default_input::Builder, + } + impl PutAccountSettingDefault { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::PutAccountSettingDefaultOutput, + smithy_http::result::SdkError, + > { + 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 resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected. If containerInsights is specified, the default + /// setting for CloudWatch Container Insights for your clusters is affected.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.inner = self.inner.name(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_name(inp); + self + } + ///

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.inner = self.inner.value(inp); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_value(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct PutAttributes { + handle: std::sync::Arc, + inner: crate::input::put_attributes_input::Builder, + } + impl PutAttributes { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::PutAttributesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply + /// attributes. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The attributes to apply to your resource. You can specify up to 10 custom attributes + /// per resource. You can specify up to 10 attributes in a single call.

      + pub fn attributes(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attributes(inp); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attributes(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct PutClusterCapacityProviders { + handle: std::sync::Arc, + inner: crate::input::put_cluster_capacity_providers_input::Builder, + } + impl PutClusterCapacityProviders { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::PutClusterCapacityProvidersOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider + /// settings for. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The name of one or more capacity providers to associate with the cluster.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + self.inner = self.inner.capacity_providers(inp); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_providers(inp); + self + } + ///

      The capacity provider strategy to use by default for the cluster.

      + ///

      When creating a service or running a task on a cluster, if no capacity provider or + /// launch type is specified then the default capacity provider strategy for the cluster is + /// used.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + pub fn default_capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.default_capacity_provider_strategy(inp); + self + } + pub fn set_default_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_default_capacity_provider_strategy(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct RegisterContainerInstance { + handle: std::sync::Arc, + inner: crate::input::register_container_instance_input::Builder, + } + impl RegisterContainerInstance { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::RegisterContainerInstanceOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster with which to register your container + /// instance. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The instance identity document for the EC2 instance to register. This document can be + /// found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/document/ + ///

      + pub fn instance_identity_document(mut self, inp: impl Into) -> Self { + self.inner = self.inner.instance_identity_document(inp); + self + } + pub fn set_instance_identity_document( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_instance_identity_document(inp); + self + } + ///

      The instance identity document signature for the EC2 instance to register. This + /// signature can be found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/signature/ + ///

      + pub fn instance_identity_document_signature( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.instance_identity_document_signature(inp); + self + } + pub fn set_instance_identity_document_signature( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_instance_identity_document_signature(inp); + self + } + ///

      The resources available on the instance.

      + pub fn total_resources(mut self, inp: impl Into) -> Self { + self.inner = self.inner.total_resources(inp); + self + } + pub fn set_total_resources( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_total_resources(inp); + self + } + ///

      The version information for the Amazon ECS container agent and Docker daemon running on the + /// container instance.

      + pub fn version_info(mut self, inp: crate::model::VersionInfo) -> Self { + self.inner = self.inner.version_info(inp); + self + } + pub fn set_version_info( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_version_info(inp); + self + } + ///

      The ARN of the container instance (if it was previously registered).

      + pub fn container_instance_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_instance_arn(inp); + self + } + pub fn set_container_instance_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_container_instance_arn(inp); + self + } + ///

      The container instance attributes that this container instance supports.

      + pub fn attributes(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attributes(inp); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attributes(inp); + self + } + ///

      The devices that are available on the container instance. The only supported device + /// type is a GPU.

      + pub fn platform_devices(mut self, inp: impl Into) -> Self { + self.inner = self.inner.platform_devices(inp); + self + } + pub fn set_platform_devices( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_platform_devices(inp); + self + } + ///

      The metadata that you apply to the container instance to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct RegisterTaskDefinition { + handle: std::sync::Arc, + inner: crate::input::register_task_definition_input::Builder, + } + impl RegisterTaskDefinition { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::RegisterTaskDefinitionOutput, + smithy_http::result::SdkError, + > { + 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 + } + ///

      You must specify a family for a task definition, which allows you to + /// track multiple versions of the same task definition. The family is used as + /// a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

      + pub fn family(mut self, inp: impl Into) -> Self { + self.inner = self.inner.family(inp); + self + } + pub fn set_family(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_family(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can + /// assume. All containers in this task are granted the permissions that are specified in + /// this role. For more information, see IAM Roles for + /// Tasks in the Amazon Elastic Container Service Developer Guide.

      + pub fn task_role_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_role_arn(inp); + self + } + pub fn set_task_role_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task_role_arn(inp); + self + } + ///

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + /// permission to make AWS API calls on your behalf. The task execution IAM role is required + /// depending on the requirements of your task. For more information, see Amazon ECS task + /// execution IAM role in the Amazon Elastic Container Service Developer Guide.

      + pub fn execution_role_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.execution_role_arn(inp); + self + } + pub fn set_execution_role_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_execution_role_arn(inp); + self + } + ///

      The Docker networking mode to use for the containers in the task. The valid values are + /// none, bridge, awsvpc, and host. + /// If no network mode is specified, the default is bridge.

      + ///

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + /// For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + /// mode is set to none, you cannot specify port mappings in your container + /// definitions, and the tasks containers do not have external connectivity. The + /// host and awsvpc network modes offer the highest networking + /// performance for containers because they use the EC2 network stack instead of the + /// virtualized network stack provided by the bridge mode.

      + ///

      With the host and awsvpc network modes, exposed container + /// ports are mapped directly to the corresponding host port (for the host + /// network mode) or the attached elastic network interface port (for the + /// awsvpc network mode), so you cannot take advantage of dynamic host port + /// mappings.

      + /// + ///

      When using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice + /// to use a non-root user.

      + ///
      + ///

      If the network mode is awsvpc, the task is allocated an elastic network + /// interface, and you must specify a NetworkConfiguration value when you create + /// a service or run a task with the task definition. For more information, see Task Networking in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + /// ecs-init package, or AWS Fargate infrastructure support the + /// awsvpc network mode.

      + ///
      + ///

      If the network mode is host, you cannot run multiple instantiations of the + /// same task on a single container instance when port mappings are used.

      + ///

      Docker for Windows uses different network modes than Docker for Linux. When you + /// register a task definition with Windows containers, you must not specify a network mode. + /// If you use the console to register a task definition with Windows containers, you must + /// choose the network mode object.

      + ///

      For more information, see Network + /// settings in the Docker run reference.

      + pub fn network_mode(mut self, inp: crate::model::NetworkMode) -> Self { + self.inner = self.inner.network_mode(inp); + self + } + pub fn set_network_mode( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_network_mode(inp); + self + } + ///

      A list of container definitions in JSON format that describe the different containers + /// that make up your task.

      + pub fn container_definitions( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.container_definitions(inp); + self + } + pub fn set_container_definitions( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_container_definitions(inp); + self + } + ///

      A list of volume definitions in JSON format that containers in your task may + /// use.

      + pub fn volumes(mut self, inp: impl Into) -> Self { + self.inner = self.inner.volumes(inp); + self + } + pub fn set_volumes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_volumes(inp); + self + } + ///

      An array of placement constraint objects to use for the task. You can specify a + /// maximum of 10 constraints per task (this limit includes constraints in the task + /// definition and those specified at runtime).

      + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_constraints(inp); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.inner = self.inner.set_placement_constraints(inp); + self + } + ///

      The task launch type that Amazon ECS should validate the task definition against. A client + /// exception is returned if the task definition doesn't validate against the + /// compatibilities specified. If no value is specified, the parameter is omitted from the + /// response.

      + pub fn requires_compatibilities( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.requires_compatibilities(inp); + self + } + pub fn set_requires_compatibilities( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_requires_compatibilities(inp); + self + } + ///

      The number of CPU units used by the task. It can be expressed as an integer using CPU + /// units, for example 1024, or as a string using vCPUs, for example 1 + /// vCPU or 1 vcpu, in a task definition. String values are + /// converted to an integer indicating the CPU units when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If you are using the EC2 launch type, this field is optional. Supported + /// values are between 128 CPU units (0.125 vCPUs) and + /// 10240 CPU units (10 vCPUs).

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + pub fn cpu(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cpu(inp); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cpu(inp); + self + } + ///

      The amount of memory (in MiB) used by the task. It can be expressed as an integer + /// using MiB, for example 1024, or as a string using GB, for example + /// 1GB or 1 GB, in a task definition. String values are + /// converted to an integer indicating the MiB when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If using the EC2 launch type, this field is optional.

      + ///

      If using the Fargate launch type, this field is required and you must + /// use one of the following values, which determines your range of supported values for the + /// cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + pub fn memory(mut self, inp: impl Into) -> Self { + self.inner = self.inner.memory(inp); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_memory(inp); + self + } + ///

      The metadata that you apply to the task definition to help you categorize and organize + /// them. Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + ///

      The process namespace to use for the containers in the task. The valid + /// values are host or task. If host + /// is specified, then all containers within the tasks that specified the + /// host PID mode on the same container instance share the + /// same process namespace with the host Amazon EC2 instance. If task is + /// specified, all containers within the specified task share the same + /// process namespace. If no value is specified, the default is a private + /// namespace. For more information, see PID settings in the Docker run + /// reference.

      + ///

      If the host PID mode is used, be aware that there is a + /// heightened risk of undesired process namespace expose. For more + /// information, see Docker + /// security.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn pid_mode(mut self, inp: crate::model::PidMode) -> Self { + self.inner = self.inner.pid_mode(inp); + self + } + pub fn set_pid_mode(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_pid_mode(inp); + self + } + ///

      The IPC resource namespace to use for the containers in the task. The valid values are + /// host, task, or none. If host is + /// specified, then all containers within the tasks that specified the host IPC + /// mode on the same container instance share the same IPC resources with the host Amazon EC2 + /// instance. If task is specified, all containers within the specified task + /// share the same IPC resources. If none is specified, then IPC resources + /// within the containers of a task are private and not shared with other containers in a + /// task or on the container instance. If no value is specified, then the IPC resource + /// namespace sharing depends on the Docker daemon setting on the container instance. For + /// more information, see IPC + /// settings in the Docker run reference.

      + ///

      If the host IPC mode is used, be aware that there is a heightened risk of + /// undesired IPC namespace expose. For more information, see Docker + /// security.

      + ///

      If you are setting namespaced kernel parameters using systemControls for + /// the containers in the task, the following will apply to your IPC resource namespace. For + /// more information, see System + /// Controls in the Amazon Elastic Container Service Developer Guide.

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

        For tasks that use the host IPC mode, IPC namespace related + /// systemControls are not supported.

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

        For tasks that use the task IPC mode, IPC namespace related + /// systemControls will apply to all containers within a + /// task.

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

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn ipc_mode(mut self, inp: crate::model::IpcMode) -> Self { + self.inner = self.inner.ipc_mode(inp); + self + } + pub fn set_ipc_mode(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_ipc_mode(inp); + self + } + ///

      The configuration details for the App Mesh proxy.

      + ///

      For tasks hosted on Amazon EC2 instances, the container instances require at least version + /// 1.26.0 of the container agent and at least version + /// 1.26.0-1 of the ecs-init package to enable a proxy + /// configuration. If your container instances are launched from the Amazon ECS-optimized + /// AMI version 20190301 or later, then they contain the required versions of + /// the container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the + /// Amazon Elastic Container Service Developer Guide.

      + pub fn proxy_configuration(mut self, inp: crate::model::ProxyConfiguration) -> Self { + self.inner = self.inner.proxy_configuration(inp); + self + } + pub fn set_proxy_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_proxy_configuration(inp); + self + } + ///

      The Elastic Inference accelerators to use for the containers in the task.

      + pub fn inference_accelerators( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.inference_accelerators(inp); + self + } + pub fn set_inference_accelerators( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_inference_accelerators(inp); + self + } + ///

      The amount of ephemeral storage to allocate for the task. This parameter is used to + /// expand the total amount of ephemeral storage available, beyond the default amount, for + /// tasks hosted on AWS Fargate. For more information, see Fargate task + /// storage in the Amazon ECS User Guide for AWS Fargate.

      + /// + ///

      This parameter is only supported for tasks hosted on AWS Fargate using platform + /// version 1.4.0 or later.

      + ///
      + pub fn ephemeral_storage(mut self, inp: crate::model::EphemeralStorage) -> Self { + self.inner = self.inner.ephemeral_storage(inp); + self + } + pub fn set_ephemeral_storage( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_ephemeral_storage(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct RunTask { + handle: std::sync::Arc, + inner: crate::input::run_task_input::Builder, + } + impl RunTask { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::RunTaskOutput, + smithy_http::result::SdkError, + > { + 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 capacity provider strategy to use for the task.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.capacity_provider_strategy(inp); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_provider_strategy(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The number of instantiations of the specified task to place on your cluster. You can + /// specify up to 10 tasks per call.

      + pub fn count(mut self, inp: i32) -> Self { + self.inner = self.inner.count(inp); + self + } + pub fn set_count(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_count(inp); + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_ecs_managed_tags(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.inner = self.inner.set_enable_ecs_managed_tags(inp); + self + } + ///

      Whether or not to enable the execute command functionality for the containers in this + /// task. If true, this enables execute command functionality on all containers + /// in the task.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_execute_command(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.set_enable_execute_command(inp); + 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).

      + pub fn group(mut self, inp: impl Into) -> Self { + self.inner = self.inner.group(inp); + self + } + pub fn set_group(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_group(inp); + self + } + ///

      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.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A task can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.inner = self.inner.launch_type(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_launch_type(inp); + self + } + ///

      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 + /// in the Amazon Elastic Container Service Developer Guide.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.inner = self.inner.network_configuration(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_network_configuration(inp); + self + } + ///

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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, inp: crate::model::TaskOverride) -> Self { + self.inner = self.inner.overrides(inp); + self + } + pub fn set_overrides( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_overrides(inp); + self + } + ///

      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 fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_constraints(inp); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_placement_constraints(inp); + self + } + ///

      The placement strategy objects to use for the task. You can specify a maximum of five + /// strategy rules per task.

      + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_strategy(inp); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_placement_strategy(inp); + 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 + /// AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.inner = self.inner.platform_version(inp); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_platform_version(inp); + self + } + ///

      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 + /// during task creation. To add tags to a task after task creation, use the TagResource API action.

      + /// + ///

      An error will be received if you specify the SERVICE option when + /// running a task.

      + ///
      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.inner = self.inner.propagate_tags(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_propagate_tags(inp); + self + } + ///

      The reference ID to use for the task.

      + pub fn reference_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.reference_id(inp); + self + } + pub fn set_reference_id(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_reference_id(inp); + self + } + ///

      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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.inner = self.inner.started_by(inp); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_started_by(inp); + self + } + ///

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct StartTask { + handle: std::sync::Arc, + inner: crate::input::start_task_input::Builder, + } + impl StartTask { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::StartTaskOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The container instance IDs or full ARN entries for the container instances on which + /// you would like to place your task. You can specify up to 10 container instances.

      + pub fn container_instances(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_instances(inp); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_container_instances(inp); + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_ecs_managed_tags(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.inner = self.inner.set_enable_ecs_managed_tags(inp); + self + } + ///

      Whether or not the execute command functionality is enabled for the task. If + /// true, this enables execute command functionality on all containers in + /// the task.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_execute_command(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.set_enable_execute_command(inp); + 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).

      + pub fn group(mut self, inp: impl Into) -> Self { + self.inner = self.inner.group(inp); + self + } + pub fn set_group(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_group(inp); + self + } + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.inner = self.inner.network_configuration(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_network_configuration(inp); + self + } + ///

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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, inp: crate::model::TaskOverride) -> Self { + self.inner = self.inner.overrides(inp); + self + } + pub fn set_overrides( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_overrides(inp); + self + } + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// task. If no value is specified, the tags are not propagated.

      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.inner = self.inner.propagate_tags(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_propagate_tags(inp); + self + } + ///

      The reference ID to use for the task.

      + pub fn reference_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.reference_id(inp); + self + } + pub fn set_reference_id(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_reference_id(inp); + self + } + ///

      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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.inner = self.inner.started_by(inp); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_started_by(inp); + self + } + ///

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to start. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct StopTask { + handle: std::sync::Arc, + inner: crate::input::stop_task_input::Builder, + } + impl StopTask { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::StopTaskOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The task ID or full Amazon Resource Name (ARN) of the task to stop.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task(inp); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task(inp); + self + } + ///

      An optional message specified when a task is stopped. For example, if you are using a + /// custom scheduler, you can use this parameter to specify the reason for stopping the task + /// here, and the message appears in subsequent DescribeTasks API + /// operations on this task. Up to 255 characters are allowed in this message.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.inner = self.inner.reason(inp); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_reason(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SubmitAttachmentStateChanges { + handle: std::sync::Arc, + inner: crate::input::submit_attachment_state_changes_input::Builder, + } + impl SubmitAttachmentStateChanges { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::SubmitAttachmentStateChangesOutput, + smithy_http::result::SdkError, + > { + 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 short name or full ARN of the cluster that hosts the container instance the + /// attachment belongs to.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      Any attachments associated with the state change request.

      + pub fn attachments(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attachments(inp); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attachments(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SubmitContainerStateChange { + handle: std::sync::Arc, + inner: crate::input::submit_container_state_change_input::Builder, + } + impl SubmitContainerStateChange { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::SubmitContainerStateChangeOutput, + smithy_http::result::SdkError, + > { + 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 short name or full ARN of the cluster that hosts the container.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task(inp); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task(inp); + self + } + ///

      The name of the container.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_name(inp); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_container_name(inp); + self + } + ///

      The ID of the Docker container.

      + pub fn runtime_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.runtime_id(inp); + self + } + pub fn set_runtime_id(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_runtime_id(inp); + self + } + ///

      The status of the state change request.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.inner = self.inner.status(inp); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_status(inp); + self + } + ///

      The exit code returned for the state change request.

      + pub fn exit_code(mut self, inp: i32) -> Self { + self.inner = self.inner.exit_code(inp); + self + } + pub fn set_exit_code(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_exit_code(inp); + self + } + ///

      The reason for the state change request.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.inner = self.inner.reason(inp); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_reason(inp); + self + } + ///

      The network bindings of the container.

      + pub fn network_bindings(mut self, inp: impl Into) -> Self { + self.inner = self.inner.network_bindings(inp); + self + } + pub fn set_network_bindings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_network_bindings(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SubmitTaskStateChange { + handle: std::sync::Arc, + inner: crate::input::submit_task_state_change_input::Builder, + } + impl SubmitTaskStateChange { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::SubmitTaskStateChangeOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The task ID or full ARN of the task in the state change request.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task(inp); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task(inp); + self + } + ///

      The status of the state change request.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.inner = self.inner.status(inp); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_status(inp); + self + } + ///

      The reason for the state change request.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.inner = self.inner.reason(inp); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_reason(inp); + self + } + ///

      Any containers associated with the state change request.

      + pub fn containers(mut self, inp: impl Into) -> Self { + self.inner = self.inner.containers(inp); + self + } + pub fn set_containers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_containers(inp); + self + } + ///

      Any attachments associated with the state change request.

      + pub fn attachments(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attachments(inp); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attachments(inp); + self + } + ///

      The details for the managed agent associated with the task.

      + pub fn managed_agents( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.managed_agents(inp); + self + } + pub fn set_managed_agents( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_managed_agents(inp); + self + } + ///

      The Unix timestamp for when the container image pull began.

      + pub fn pull_started_at(mut self, inp: smithy_types::Instant) -> Self { + self.inner = self.inner.pull_started_at(inp); + self + } + pub fn set_pull_started_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_pull_started_at(inp); + self + } + ///

      The Unix timestamp for when the container image pull completed.

      + pub fn pull_stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.inner = self.inner.pull_stopped_at(inp); + self + } + pub fn set_pull_stopped_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_pull_stopped_at(inp); + self + } + ///

      The Unix timestamp for when the task execution stopped.

      + pub fn execution_stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.inner = self.inner.execution_stopped_at(inp); + self + } + pub fn set_execution_stopped_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_execution_stopped_at(inp); + 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, + ) -> Result< + crate::output::TagResourceOutput, + smithy_http::result::SdkError, + > { + 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 resource to which to add tags. Currently, the supported resources + /// are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + /// instances.

      + pub fn resource_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.resource_arn(inp); + self + } + pub fn set_resource_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_resource_arn(inp); + self + } + ///

      The tags to add to the resource. A tag is an array of key-value pairs.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(inp); + 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, + ) -> Result< + crate::output::UntagResourceOutput, + smithy_http::result::SdkError, + > { + 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 resource from which to delete tags. Currently, the supported + /// resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and + /// container instances.

      + pub fn resource_arn(mut self, inp: impl Into) -> Self { + self.inner = self.inner.resource_arn(inp); + self + } + pub fn set_resource_arn(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_resource_arn(inp); + self + } + ///

      The keys of the tags to be removed.

      + 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, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tag_keys(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateCapacityProvider { + handle: std::sync::Arc, + inner: crate::input::update_capacity_provider_input::Builder, + } + impl UpdateCapacityProvider { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateCapacityProviderOutput, + smithy_http::result::SdkError, + > { + 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 capacity provider to update.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.name(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_name(inp); + self + } + ///

      An object representing the parameters to update for the Auto Scaling group capacity + /// provider.

      + pub fn auto_scaling_group_provider( + mut self, + inp: crate::model::AutoScalingGroupProviderUpdate, + ) -> Self { + self.inner = self.inner.auto_scaling_group_provider(inp); + self + } + pub fn set_auto_scaling_group_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_auto_scaling_group_provider(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateCluster { + handle: std::sync::Arc, + inner: crate::input::update_cluster_input::Builder, + } + impl UpdateCluster { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateClusterOutput, + smithy_http::result::SdkError, + > { + 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 cluster to modify the settings for.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The cluster settings for your cluster.

      + pub fn settings(mut self, inp: impl Into) -> Self { + self.inner = self.inner.settings(inp); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_settings(inp); + self + } + ///

      The execute command configuration for the cluster.

      + pub fn configuration(mut self, inp: crate::model::ClusterConfiguration) -> Self { + self.inner = self.inner.configuration(inp); + self + } + pub fn set_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_configuration(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateClusterSettings { + handle: std::sync::Arc, + inner: crate::input::update_cluster_settings_input::Builder, + } + impl UpdateClusterSettings { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateClusterSettingsOutput, + smithy_http::result::SdkError, + > { + 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 cluster to modify the settings for.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The setting to use by default for a cluster. This parameter is used to enable CloudWatch + /// Container Insights for a cluster. If this value is specified, it will override the + /// containerInsights value set with PutAccountSetting or + /// PutAccountSettingDefault.

      + pub fn settings(mut self, inp: impl Into) -> Self { + self.inner = self.inner.settings(inp); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_settings(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateContainerAgent { + handle: std::sync::Arc, + inner: crate::input::update_container_agent_input::Builder, + } + impl UpdateContainerAgent { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateContainerAgentOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that your container instance is + /// running on. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The container instance ID or full ARN entries for the container instance on which + /// you would like to update the Amazon ECS container agent.

      + pub fn container_instance(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_instance(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_container_instance(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateContainerInstancesState { + handle: std::sync::Arc, + inner: crate::input::update_container_instances_state_input::Builder, + } + impl UpdateContainerInstancesState { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateContainerInstancesStateOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// update. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      A list of container instance IDs or full ARN entries.

      + pub fn container_instances(mut self, inp: impl Into) -> Self { + self.inner = self.inner.container_instances(inp); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_container_instances(inp); + self + } + ///

      The container instance state with which to update the container instance. The only + /// valid values for this action are ACTIVE and DRAINING. A + /// container instance can only be updated to DRAINING status once it has + /// reached an ACTIVE state. If a container instance is in + /// REGISTERING, DEREGISTERING, or + /// REGISTRATION_FAILED state you can describe the container instance but + /// will be unable to update the container instance state.

      + pub fn status(mut self, inp: crate::model::ContainerInstanceStatus) -> Self { + self.inner = self.inner.status(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_status(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateService { + handle: std::sync::Arc, + inner: crate::input::update_service_input::Builder, + } + impl UpdateService { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateServiceOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The name of the service to update.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      The number of instantiations of the task to place and keep running in your + /// service.

      + pub fn desired_count(mut self, inp: i32) -> Self { + self.inner = self.inner.desired_count(inp); + self + } + pub fn set_desired_count(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_desired_count(inp); + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used. If you modify the task + /// definition with UpdateService, Amazon ECS spawns a task with the new version of + /// the task definition and then stops an old task after the new version is running.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_definition(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_task_definition(inp); + self + } + ///

      The capacity provider strategy to update the service to use.

      + ///

      If the service is using the default capacity provider strategy for the cluster, the + /// service can be updated to use one or more capacity providers as opposed to the default + /// capacity provider strategy. However, when a service is using a capacity provider + /// strategy that is not the default capacity provider strategy, the service cannot be + /// updated to use the cluster's default capacity provider strategy.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + ///

      + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.capacity_provider_strategy(inp); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_capacity_provider_strategy(inp); + self + } + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub fn deployment_configuration( + mut self, + inp: crate::model::DeploymentConfiguration, + ) -> Self { + self.inner = self.inner.deployment_configuration(inp); + self + } + pub fn set_deployment_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_deployment_configuration(inp); + self + } + ///

      An object representing the network configuration for the service.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.inner = self.inner.network_configuration(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_network_configuration(inp); + self + } + ///

      An array of task placement constraint objects to update the service to use. If no + /// value is specified, the existing placement constraints for the service will remain + /// unchanged. If this value is specified, it will override any existing placement + /// constraints defined for the service. To remove all existing placement constraints, + /// specify an empty array.

      + ///

      You can specify a maximum of 10 constraints per task (this limit includes constraints + /// in the task definition and those specified at runtime).

      + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_constraints(inp); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_placement_constraints(inp); + self + } + ///

      The task placement strategy objects to update the service to use. If no value is + /// specified, the existing placement strategy for the service will remain unchanged. If + /// this value is specified, it will override the existing placement strategy defined for + /// the service. To remove an existing placement strategy, specify an empty object.

      + ///

      You can specify a maximum of five strategy rules per service.

      + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.placement_strategy(inp); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_placement_strategy(inp); + self + } + ///

      The platform version on which your tasks in the service are running. A platform + /// version is only specified for tasks using the Fargate launch type. If a + /// platform version is not specified, the LATEST platform version is used by + /// default. For more information, see AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.inner = self.inner.platform_version(inp); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_platform_version(inp); + self + } + ///

      Whether to force a new deployment of the service. Deployments are not forced by + /// default. You can use this option to trigger a new deployment with no service definition + /// changes. For example, you can update a service's tasks to use a newer Docker image with + /// the same image/tag combination (my_image:latest) or to roll Fargate tasks + /// onto a newer platform version.

      + pub fn force_new_deployment(mut self, inp: bool) -> Self { + self.inner = self.inner.force_new_deployment(inp); + self + } + pub fn set_force_new_deployment(mut self, inp: bool) -> Self { + self.inner = self.inner.set_force_new_deployment(inp); + self + } + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid + /// if your service is configured to use a load balancer. If your service's tasks take a + /// while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace + /// period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service + /// scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS + /// service scheduler from marking tasks as unhealthy and stopping them before they have + /// time to come up.

      + pub fn health_check_grace_period_seconds(mut self, inp: i32) -> Self { + self.inner = self.inner.health_check_grace_period_seconds(inp); + self + } + pub fn set_health_check_grace_period_seconds( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_health_check_grace_period_seconds(inp); + self + } + ///

      If true, this enables execute command functionality on all task + /// containers.

      + ///

      If you do not want to override the value that was set when the service was created, + /// you can set this to null when performing this action.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.inner = self.inner.enable_execute_command(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_enable_execute_command(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateServicePrimaryTaskSet { + handle: std::sync::Arc, + inner: crate::input::update_service_primary_task_set_input::Builder, + } + impl UpdateServicePrimaryTaskSet { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateServicePrimaryTaskSetOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the + /// deployment.

      + pub fn primary_task_set(mut self, inp: impl Into) -> Self { + self.inner = self.inner.primary_task_set(inp); + self + } + pub fn set_primary_task_set( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_primary_task_set(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateTaskSet { + handle: std::sync::Arc, + inner: crate::input::update_task_set_input::Builder, + } + impl UpdateTaskSet { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UpdateTaskSetOutput, + smithy_http::result::SdkError, + > { + 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 short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.inner = self.inner.cluster(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_cluster(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.inner = self.inner.service(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_service(inp); + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the task set to update.

      + pub fn task_set(mut self, inp: impl Into) -> Self { + self.inner = self.inner.task_set(inp); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_task_set(inp); + self + } + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub fn scale(mut self, inp: crate::model::Scale) -> Self { + self.inner = self.inner.scale(inp); + self + } + pub fn set_scale(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_scale(inp); + self + } + } +} diff --git a/sdk/ecs/src/config.rs b/sdk/ecs/src/config.rs new file mode 100644 index 000000000000..f3ff6b72a6da --- /dev/null +++ b/sdk/ecs/src/config.rs @@ -0,0 +1,69 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub struct Config { + 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 { + "ecs" + } +} +#[derive(Default)] +pub struct Builder { + endpoint_resolver: Option<::std::sync::Arc>, + region: Option, + credentials_provider: Option>, +} +impl Builder { + pub fn new() -> Self { + Self::default() + } + 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::ProvideCredentials + 'static, + ) -> Self { + self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); + self + } + pub fn build(self) -> Config { + Config { + endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { + ::std::sync::Arc::new(aws_endpoint::DefaultAwsEndpointResolver::for_service("ecs")) + }), + 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::default_provider())), + } + } +} diff --git a/sdk/ecs/src/error.rs b/sdk/ecs/src/error.rs new file mode 100644 index 000000000000..38034085e00b --- /dev/null +++ b/sdk/ecs/src/error.rs @@ -0,0 +1,6015 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateCapacityProviderError { + pub kind: CreateCapacityProviderErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateCapacityProviderErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + LimitExceededError(crate::error::LimitExceededError), + ServerError(crate::error::ServerError), + UpdateInProgressError(crate::error::UpdateInProgressError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateCapacityProviderError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateCapacityProviderErrorKind::ClientError(_inner) => _inner.fmt(f), + CreateCapacityProviderErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + CreateCapacityProviderErrorKind::LimitExceededError(_inner) => _inner.fmt(f), + CreateCapacityProviderErrorKind::ServerError(_inner) => _inner.fmt(f), + CreateCapacityProviderErrorKind::UpdateInProgressError(_inner) => _inner.fmt(f), + CreateCapacityProviderErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateCapacityProviderError { + fn code(&self) -> Option<&str> { + CreateCapacityProviderError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateCapacityProviderError { + pub fn new(kind: CreateCapacityProviderErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateCapacityProviderErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateCapacityProviderErrorKind::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() + } +} +impl std::error::Error for CreateCapacityProviderError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateCapacityProviderErrorKind::ClientError(_inner) => Some(_inner), + CreateCapacityProviderErrorKind::InvalidParameterError(_inner) => Some(_inner), + CreateCapacityProviderErrorKind::LimitExceededError(_inner) => Some(_inner), + CreateCapacityProviderErrorKind::ServerError(_inner) => Some(_inner), + CreateCapacityProviderErrorKind::UpdateInProgressError(_inner) => Some(_inner), + CreateCapacityProviderErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateClusterError { + pub kind: CreateClusterErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateClusterErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateClusterError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateClusterErrorKind::ClientError(_inner) => _inner.fmt(f), + CreateClusterErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + CreateClusterErrorKind::ServerError(_inner) => _inner.fmt(f), + CreateClusterErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateClusterError { + fn code(&self) -> Option<&str> { + CreateClusterError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateClusterError { + pub fn new(kind: CreateClusterErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateClusterErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateClusterErrorKind::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() + } +} +impl std::error::Error for CreateClusterError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateClusterErrorKind::ClientError(_inner) => Some(_inner), + CreateClusterErrorKind::InvalidParameterError(_inner) => Some(_inner), + CreateClusterErrorKind::ServerError(_inner) => Some(_inner), + CreateClusterErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateServiceError { + pub kind: CreateServiceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateServiceErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + PlatformTaskDefinitionIncompatibilityError( + crate::error::PlatformTaskDefinitionIncompatibilityError, + ), + PlatformUnknownError(crate::error::PlatformUnknownError), + ServerError(crate::error::ServerError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateServiceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateServiceErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::ClientError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => { + _inner.fmt(f) + } + CreateServiceErrorKind::PlatformUnknownError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::ServerError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + CreateServiceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateServiceError { + fn code(&self) -> Option<&str> { + CreateServiceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateServiceError { + pub fn new(kind: CreateServiceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateServiceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateServiceErrorKind::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() + } +} +impl std::error::Error for CreateServiceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateServiceErrorKind::AccessDeniedError(_inner) => Some(_inner), + CreateServiceErrorKind::ClientError(_inner) => Some(_inner), + CreateServiceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + CreateServiceErrorKind::InvalidParameterError(_inner) => Some(_inner), + CreateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => { + Some(_inner) + } + CreateServiceErrorKind::PlatformUnknownError(_inner) => Some(_inner), + CreateServiceErrorKind::ServerError(_inner) => Some(_inner), + CreateServiceErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + CreateServiceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateTaskSetError { + pub kind: CreateTaskSetErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateTaskSetErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + PlatformTaskDefinitionIncompatibilityError( + crate::error::PlatformTaskDefinitionIncompatibilityError, + ), + PlatformUnknownError(crate::error::PlatformUnknownError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateTaskSetError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateTaskSetErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::ClientError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => { + _inner.fmt(f) + } + CreateTaskSetErrorKind::PlatformUnknownError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::ServerError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::ServiceNotActiveError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + CreateTaskSetErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateTaskSetError { + fn code(&self) -> Option<&str> { + CreateTaskSetError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateTaskSetError { + pub fn new(kind: CreateTaskSetErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateTaskSetErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateTaskSetErrorKind::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() + } +} +impl std::error::Error for CreateTaskSetError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateTaskSetErrorKind::AccessDeniedError(_inner) => Some(_inner), + CreateTaskSetErrorKind::ClientError(_inner) => Some(_inner), + CreateTaskSetErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + CreateTaskSetErrorKind::InvalidParameterError(_inner) => Some(_inner), + CreateTaskSetErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => { + Some(_inner) + } + CreateTaskSetErrorKind::PlatformUnknownError(_inner) => Some(_inner), + CreateTaskSetErrorKind::ServerError(_inner) => Some(_inner), + CreateTaskSetErrorKind::ServiceNotActiveError(_inner) => Some(_inner), + CreateTaskSetErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + CreateTaskSetErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + CreateTaskSetErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteAccountSettingError { + pub kind: DeleteAccountSettingErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteAccountSettingErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteAccountSettingError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteAccountSettingErrorKind::ClientError(_inner) => _inner.fmt(f), + DeleteAccountSettingErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeleteAccountSettingErrorKind::ServerError(_inner) => _inner.fmt(f), + DeleteAccountSettingErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteAccountSettingError { + fn code(&self) -> Option<&str> { + DeleteAccountSettingError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteAccountSettingError { + pub fn new(kind: DeleteAccountSettingErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteAccountSettingErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteAccountSettingErrorKind::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() + } +} +impl std::error::Error for DeleteAccountSettingError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteAccountSettingErrorKind::ClientError(_inner) => Some(_inner), + DeleteAccountSettingErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeleteAccountSettingErrorKind::ServerError(_inner) => Some(_inner), + DeleteAccountSettingErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteAttributesError { + pub kind: DeleteAttributesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteAttributesErrorKind { + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + TargetNotFoundError(crate::error::TargetNotFoundError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteAttributesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteAttributesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DeleteAttributesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeleteAttributesErrorKind::TargetNotFoundError(_inner) => _inner.fmt(f), + DeleteAttributesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteAttributesError { + fn code(&self) -> Option<&str> { + DeleteAttributesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteAttributesError { + pub fn new(kind: DeleteAttributesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteAttributesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteAttributesErrorKind::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() + } +} +impl std::error::Error for DeleteAttributesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteAttributesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DeleteAttributesErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeleteAttributesErrorKind::TargetNotFoundError(_inner) => Some(_inner), + DeleteAttributesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteCapacityProviderError { + pub kind: DeleteCapacityProviderErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteCapacityProviderErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteCapacityProviderError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteCapacityProviderErrorKind::ClientError(_inner) => _inner.fmt(f), + DeleteCapacityProviderErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeleteCapacityProviderErrorKind::ServerError(_inner) => _inner.fmt(f), + DeleteCapacityProviderErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteCapacityProviderError { + fn code(&self) -> Option<&str> { + DeleteCapacityProviderError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteCapacityProviderError { + pub fn new(kind: DeleteCapacityProviderErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteCapacityProviderErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteCapacityProviderErrorKind::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() + } +} +impl std::error::Error for DeleteCapacityProviderError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteCapacityProviderErrorKind::ClientError(_inner) => Some(_inner), + DeleteCapacityProviderErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeleteCapacityProviderErrorKind::ServerError(_inner) => Some(_inner), + DeleteCapacityProviderErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteClusterError { + pub kind: DeleteClusterErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteClusterErrorKind { + ClientError(crate::error::ClientError), + ClusterContainsContainerInstancesError(crate::error::ClusterContainsContainerInstancesError), + ClusterContainsServicesError(crate::error::ClusterContainsServicesError), + ClusterContainsTasksError(crate::error::ClusterContainsTasksError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + UpdateInProgressError(crate::error::UpdateInProgressError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteClusterError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteClusterErrorKind::ClientError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::ClusterContainsContainerInstancesError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::ClusterContainsServicesError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::ClusterContainsTasksError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::ServerError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::UpdateInProgressError(_inner) => _inner.fmt(f), + DeleteClusterErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteClusterError { + fn code(&self) -> Option<&str> { + DeleteClusterError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteClusterError { + pub fn new(kind: DeleteClusterErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteClusterErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteClusterErrorKind::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() + } +} +impl std::error::Error for DeleteClusterError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteClusterErrorKind::ClientError(_inner) => Some(_inner), + DeleteClusterErrorKind::ClusterContainsContainerInstancesError(_inner) => Some(_inner), + DeleteClusterErrorKind::ClusterContainsServicesError(_inner) => Some(_inner), + DeleteClusterErrorKind::ClusterContainsTasksError(_inner) => Some(_inner), + DeleteClusterErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DeleteClusterErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeleteClusterErrorKind::ServerError(_inner) => Some(_inner), + DeleteClusterErrorKind::UpdateInProgressError(_inner) => Some(_inner), + DeleteClusterErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteServiceError { + pub kind: DeleteServiceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteServiceErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteServiceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteServiceErrorKind::ClientError(_inner) => _inner.fmt(f), + DeleteServiceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DeleteServiceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeleteServiceErrorKind::ServerError(_inner) => _inner.fmt(f), + DeleteServiceErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + DeleteServiceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteServiceError { + fn code(&self) -> Option<&str> { + DeleteServiceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteServiceError { + pub fn new(kind: DeleteServiceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteServiceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteServiceErrorKind::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() + } +} +impl std::error::Error for DeleteServiceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteServiceErrorKind::ClientError(_inner) => Some(_inner), + DeleteServiceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DeleteServiceErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeleteServiceErrorKind::ServerError(_inner) => Some(_inner), + DeleteServiceErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + DeleteServiceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteTaskSetError { + pub kind: DeleteTaskSetErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteTaskSetErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + TaskSetNotFoundError(crate::error::TaskSetNotFoundError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteTaskSetError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteTaskSetErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::ClientError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::ServerError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::ServiceNotActiveError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::TaskSetNotFoundError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + DeleteTaskSetErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteTaskSetError { + fn code(&self) -> Option<&str> { + DeleteTaskSetError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteTaskSetError { + pub fn new(kind: DeleteTaskSetErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteTaskSetErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteTaskSetErrorKind::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() + } +} +impl std::error::Error for DeleteTaskSetError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteTaskSetErrorKind::AccessDeniedError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::ClientError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::ServerError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::ServiceNotActiveError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::TaskSetNotFoundError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + DeleteTaskSetErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeregisterContainerInstanceError { + pub kind: DeregisterContainerInstanceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeregisterContainerInstanceErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeregisterContainerInstanceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeregisterContainerInstanceErrorKind::ClientError(_inner) => _inner.fmt(f), + DeregisterContainerInstanceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DeregisterContainerInstanceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeregisterContainerInstanceErrorKind::ServerError(_inner) => _inner.fmt(f), + DeregisterContainerInstanceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeregisterContainerInstanceError { + fn code(&self) -> Option<&str> { + DeregisterContainerInstanceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeregisterContainerInstanceError { + pub fn new(kind: DeregisterContainerInstanceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeregisterContainerInstanceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeregisterContainerInstanceErrorKind::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() + } +} +impl std::error::Error for DeregisterContainerInstanceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeregisterContainerInstanceErrorKind::ClientError(_inner) => Some(_inner), + DeregisterContainerInstanceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DeregisterContainerInstanceErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeregisterContainerInstanceErrorKind::ServerError(_inner) => Some(_inner), + DeregisterContainerInstanceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeregisterTaskDefinitionError { + pub kind: DeregisterTaskDefinitionErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeregisterTaskDefinitionErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeregisterTaskDefinitionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeregisterTaskDefinitionErrorKind::ClientError(_inner) => _inner.fmt(f), + DeregisterTaskDefinitionErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DeregisterTaskDefinitionErrorKind::ServerError(_inner) => _inner.fmt(f), + DeregisterTaskDefinitionErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeregisterTaskDefinitionError { + fn code(&self) -> Option<&str> { + DeregisterTaskDefinitionError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeregisterTaskDefinitionError { + pub fn new(kind: DeregisterTaskDefinitionErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeregisterTaskDefinitionErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeregisterTaskDefinitionErrorKind::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() + } +} +impl std::error::Error for DeregisterTaskDefinitionError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeregisterTaskDefinitionErrorKind::ClientError(_inner) => Some(_inner), + DeregisterTaskDefinitionErrorKind::InvalidParameterError(_inner) => Some(_inner), + DeregisterTaskDefinitionErrorKind::ServerError(_inner) => Some(_inner), + DeregisterTaskDefinitionErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeCapacityProvidersError { + pub kind: DescribeCapacityProvidersErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeCapacityProvidersErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeCapacityProvidersError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeCapacityProvidersErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeCapacityProvidersErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeCapacityProvidersErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeCapacityProvidersErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeCapacityProvidersError { + fn code(&self) -> Option<&str> { + DescribeCapacityProvidersError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeCapacityProvidersError { + pub fn new(kind: DescribeCapacityProvidersErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeCapacityProvidersErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeCapacityProvidersErrorKind::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() + } +} +impl std::error::Error for DescribeCapacityProvidersError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeCapacityProvidersErrorKind::ClientError(_inner) => Some(_inner), + DescribeCapacityProvidersErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeCapacityProvidersErrorKind::ServerError(_inner) => Some(_inner), + DescribeCapacityProvidersErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeClustersError { + pub kind: DescribeClustersErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeClustersErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeClustersError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeClustersErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeClustersErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeClustersErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeClustersErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeClustersError { + fn code(&self) -> Option<&str> { + DescribeClustersError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeClustersError { + pub fn new(kind: DescribeClustersErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeClustersErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeClustersErrorKind::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() + } +} +impl std::error::Error for DescribeClustersError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeClustersErrorKind::ClientError(_inner) => Some(_inner), + DescribeClustersErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeClustersErrorKind::ServerError(_inner) => Some(_inner), + DescribeClustersErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeContainerInstancesError { + pub kind: DescribeContainerInstancesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeContainerInstancesErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeContainerInstancesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeContainerInstancesErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeContainerInstancesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DescribeContainerInstancesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeContainerInstancesErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeContainerInstancesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeContainerInstancesError { + fn code(&self) -> Option<&str> { + DescribeContainerInstancesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeContainerInstancesError { + pub fn new(kind: DescribeContainerInstancesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeContainerInstancesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeContainerInstancesErrorKind::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() + } +} +impl std::error::Error for DescribeContainerInstancesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeContainerInstancesErrorKind::ClientError(_inner) => Some(_inner), + DescribeContainerInstancesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DescribeContainerInstancesErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeContainerInstancesErrorKind::ServerError(_inner) => Some(_inner), + DescribeContainerInstancesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeServicesError { + pub kind: DescribeServicesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeServicesErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeServicesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeServicesErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeServicesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DescribeServicesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeServicesErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeServicesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeServicesError { + fn code(&self) -> Option<&str> { + DescribeServicesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeServicesError { + pub fn new(kind: DescribeServicesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeServicesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeServicesErrorKind::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() + } +} +impl std::error::Error for DescribeServicesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeServicesErrorKind::ClientError(_inner) => Some(_inner), + DescribeServicesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DescribeServicesErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeServicesErrorKind::ServerError(_inner) => Some(_inner), + DescribeServicesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeTaskDefinitionError { + pub kind: DescribeTaskDefinitionErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeTaskDefinitionErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeTaskDefinitionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeTaskDefinitionErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeTaskDefinitionErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeTaskDefinitionErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeTaskDefinitionErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeTaskDefinitionError { + fn code(&self) -> Option<&str> { + DescribeTaskDefinitionError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeTaskDefinitionError { + pub fn new(kind: DescribeTaskDefinitionErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeTaskDefinitionErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeTaskDefinitionErrorKind::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() + } +} +impl std::error::Error for DescribeTaskDefinitionError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeTaskDefinitionErrorKind::ClientError(_inner) => Some(_inner), + DescribeTaskDefinitionErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeTaskDefinitionErrorKind::ServerError(_inner) => Some(_inner), + DescribeTaskDefinitionErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeTasksError { + pub kind: DescribeTasksErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeTasksErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeTasksError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeTasksErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeTasksErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DescribeTasksErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeTasksErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeTasksErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeTasksError { + fn code(&self) -> Option<&str> { + DescribeTasksError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeTasksError { + pub fn new(kind: DescribeTasksErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeTasksErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeTasksErrorKind::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() + } +} +impl std::error::Error for DescribeTasksError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeTasksErrorKind::ClientError(_inner) => Some(_inner), + DescribeTasksErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DescribeTasksErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeTasksErrorKind::ServerError(_inner) => Some(_inner), + DescribeTasksErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeTaskSetsError { + pub kind: DescribeTaskSetsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeTaskSetsErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeTaskSetsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeTaskSetsErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::ClientError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::ServerError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::ServiceNotActiveError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + DescribeTaskSetsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeTaskSetsError { + fn code(&self) -> Option<&str> { + DescribeTaskSetsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeTaskSetsError { + pub fn new(kind: DescribeTaskSetsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeTaskSetsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeTaskSetsErrorKind::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() + } +} +impl std::error::Error for DescribeTaskSetsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeTaskSetsErrorKind::AccessDeniedError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::ClientError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::InvalidParameterError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::ServerError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::ServiceNotActiveError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + DescribeTaskSetsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DiscoverPollEndpointError { + pub kind: DiscoverPollEndpointErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DiscoverPollEndpointErrorKind { + ClientError(crate::error::ClientError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DiscoverPollEndpointError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DiscoverPollEndpointErrorKind::ClientError(_inner) => _inner.fmt(f), + DiscoverPollEndpointErrorKind::ServerError(_inner) => _inner.fmt(f), + DiscoverPollEndpointErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DiscoverPollEndpointError { + fn code(&self) -> Option<&str> { + DiscoverPollEndpointError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DiscoverPollEndpointError { + pub fn new(kind: DiscoverPollEndpointErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DiscoverPollEndpointErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DiscoverPollEndpointErrorKind::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() + } +} +impl std::error::Error for DiscoverPollEndpointError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DiscoverPollEndpointErrorKind::ClientError(_inner) => Some(_inner), + DiscoverPollEndpointErrorKind::ServerError(_inner) => Some(_inner), + DiscoverPollEndpointErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ExecuteCommandError { + pub kind: ExecuteCommandErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ExecuteCommandErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + TargetNotConnectedError(crate::error::TargetNotConnectedError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ExecuteCommandError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ExecuteCommandErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + ExecuteCommandErrorKind::ClientError(_inner) => _inner.fmt(f), + ExecuteCommandErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + ExecuteCommandErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ExecuteCommandErrorKind::ServerError(_inner) => _inner.fmt(f), + ExecuteCommandErrorKind::TargetNotConnectedError(_inner) => _inner.fmt(f), + ExecuteCommandErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ExecuteCommandError { + fn code(&self) -> Option<&str> { + ExecuteCommandError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ExecuteCommandError { + pub fn new(kind: ExecuteCommandErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ExecuteCommandErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ExecuteCommandErrorKind::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() + } +} +impl std::error::Error for ExecuteCommandError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ExecuteCommandErrorKind::AccessDeniedError(_inner) => Some(_inner), + ExecuteCommandErrorKind::ClientError(_inner) => Some(_inner), + ExecuteCommandErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + ExecuteCommandErrorKind::InvalidParameterError(_inner) => Some(_inner), + ExecuteCommandErrorKind::ServerError(_inner) => Some(_inner), + ExecuteCommandErrorKind::TargetNotConnectedError(_inner) => Some(_inner), + ExecuteCommandErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAccountSettingsError { + pub kind: ListAccountSettingsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAccountSettingsErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAccountSettingsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAccountSettingsErrorKind::ClientError(_inner) => _inner.fmt(f), + ListAccountSettingsErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListAccountSettingsErrorKind::ServerError(_inner) => _inner.fmt(f), + ListAccountSettingsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAccountSettingsError { + fn code(&self) -> Option<&str> { + ListAccountSettingsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAccountSettingsError { + pub fn new(kind: ListAccountSettingsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAccountSettingsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAccountSettingsErrorKind::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() + } +} +impl std::error::Error for ListAccountSettingsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAccountSettingsErrorKind::ClientError(_inner) => Some(_inner), + ListAccountSettingsErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListAccountSettingsErrorKind::ServerError(_inner) => Some(_inner), + ListAccountSettingsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAttributesError { + pub kind: ListAttributesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAttributesErrorKind { + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAttributesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAttributesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + ListAttributesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListAttributesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAttributesError { + fn code(&self) -> Option<&str> { + ListAttributesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAttributesError { + pub fn new(kind: ListAttributesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAttributesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAttributesErrorKind::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() + } +} +impl std::error::Error for ListAttributesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAttributesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + ListAttributesErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListAttributesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListClustersError { + pub kind: ListClustersErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListClustersErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListClustersError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListClustersErrorKind::ClientError(_inner) => _inner.fmt(f), + ListClustersErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListClustersErrorKind::ServerError(_inner) => _inner.fmt(f), + ListClustersErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListClustersError { + fn code(&self) -> Option<&str> { + ListClustersError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListClustersError { + pub fn new(kind: ListClustersErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListClustersErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListClustersErrorKind::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() + } +} +impl std::error::Error for ListClustersError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListClustersErrorKind::ClientError(_inner) => Some(_inner), + ListClustersErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListClustersErrorKind::ServerError(_inner) => Some(_inner), + ListClustersErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListContainerInstancesError { + pub kind: ListContainerInstancesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListContainerInstancesErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListContainerInstancesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListContainerInstancesErrorKind::ClientError(_inner) => _inner.fmt(f), + ListContainerInstancesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + ListContainerInstancesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListContainerInstancesErrorKind::ServerError(_inner) => _inner.fmt(f), + ListContainerInstancesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListContainerInstancesError { + fn code(&self) -> Option<&str> { + ListContainerInstancesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListContainerInstancesError { + pub fn new(kind: ListContainerInstancesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListContainerInstancesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListContainerInstancesErrorKind::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() + } +} +impl std::error::Error for ListContainerInstancesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListContainerInstancesErrorKind::ClientError(_inner) => Some(_inner), + ListContainerInstancesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + ListContainerInstancesErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListContainerInstancesErrorKind::ServerError(_inner) => Some(_inner), + ListContainerInstancesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListServicesError { + pub kind: ListServicesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListServicesErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListServicesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListServicesErrorKind::ClientError(_inner) => _inner.fmt(f), + ListServicesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + ListServicesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListServicesErrorKind::ServerError(_inner) => _inner.fmt(f), + ListServicesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListServicesError { + fn code(&self) -> Option<&str> { + ListServicesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListServicesError { + pub fn new(kind: ListServicesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListServicesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListServicesErrorKind::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() + } +} +impl std::error::Error for ListServicesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListServicesErrorKind::ClientError(_inner) => Some(_inner), + ListServicesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + ListServicesErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListServicesErrorKind::ServerError(_inner) => Some(_inner), + ListServicesErrorKind::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 { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// 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::ClientError(_inner) => _inner.fmt(f), + ListTagsForResourceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + ListTagsForResourceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListTagsForResourceErrorKind::ServerError(_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 { + 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() + } +} +impl std::error::Error for ListTagsForResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListTagsForResourceErrorKind::ClientError(_inner) => Some(_inner), + ListTagsForResourceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + ListTagsForResourceErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListTagsForResourceErrorKind::ServerError(_inner) => Some(_inner), + ListTagsForResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListTaskDefinitionFamiliesError { + pub kind: ListTaskDefinitionFamiliesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListTaskDefinitionFamiliesErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListTaskDefinitionFamiliesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListTaskDefinitionFamiliesErrorKind::ClientError(_inner) => _inner.fmt(f), + ListTaskDefinitionFamiliesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListTaskDefinitionFamiliesErrorKind::ServerError(_inner) => _inner.fmt(f), + ListTaskDefinitionFamiliesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListTaskDefinitionFamiliesError { + fn code(&self) -> Option<&str> { + ListTaskDefinitionFamiliesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListTaskDefinitionFamiliesError { + pub fn new(kind: ListTaskDefinitionFamiliesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListTaskDefinitionFamiliesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListTaskDefinitionFamiliesErrorKind::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() + } +} +impl std::error::Error for ListTaskDefinitionFamiliesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListTaskDefinitionFamiliesErrorKind::ClientError(_inner) => Some(_inner), + ListTaskDefinitionFamiliesErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListTaskDefinitionFamiliesErrorKind::ServerError(_inner) => Some(_inner), + ListTaskDefinitionFamiliesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListTaskDefinitionsError { + pub kind: ListTaskDefinitionsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListTaskDefinitionsErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListTaskDefinitionsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListTaskDefinitionsErrorKind::ClientError(_inner) => _inner.fmt(f), + ListTaskDefinitionsErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListTaskDefinitionsErrorKind::ServerError(_inner) => _inner.fmt(f), + ListTaskDefinitionsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListTaskDefinitionsError { + fn code(&self) -> Option<&str> { + ListTaskDefinitionsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListTaskDefinitionsError { + pub fn new(kind: ListTaskDefinitionsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListTaskDefinitionsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListTaskDefinitionsErrorKind::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() + } +} +impl std::error::Error for ListTaskDefinitionsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListTaskDefinitionsErrorKind::ClientError(_inner) => Some(_inner), + ListTaskDefinitionsErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListTaskDefinitionsErrorKind::ServerError(_inner) => Some(_inner), + ListTaskDefinitionsErrorKind::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 { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + /// 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::ClientError(_inner) => _inner.fmt(f), + ListTasksErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + ListTasksErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + ListTasksErrorKind::ServerError(_inner) => _inner.fmt(f), + ListTasksErrorKind::ServiceNotFoundError(_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 { + 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() + } +} +impl std::error::Error for ListTasksError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListTasksErrorKind::ClientError(_inner) => Some(_inner), + ListTasksErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + ListTasksErrorKind::InvalidParameterError(_inner) => Some(_inner), + ListTasksErrorKind::ServerError(_inner) => Some(_inner), + ListTasksErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + ListTasksErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PutAccountSettingError { + pub kind: PutAccountSettingErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PutAccountSettingErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PutAccountSettingError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PutAccountSettingErrorKind::ClientError(_inner) => _inner.fmt(f), + PutAccountSettingErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + PutAccountSettingErrorKind::ServerError(_inner) => _inner.fmt(f), + PutAccountSettingErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PutAccountSettingError { + fn code(&self) -> Option<&str> { + PutAccountSettingError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PutAccountSettingError { + pub fn new(kind: PutAccountSettingErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PutAccountSettingErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PutAccountSettingErrorKind::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() + } +} +impl std::error::Error for PutAccountSettingError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PutAccountSettingErrorKind::ClientError(_inner) => Some(_inner), + PutAccountSettingErrorKind::InvalidParameterError(_inner) => Some(_inner), + PutAccountSettingErrorKind::ServerError(_inner) => Some(_inner), + PutAccountSettingErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PutAccountSettingDefaultError { + pub kind: PutAccountSettingDefaultErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PutAccountSettingDefaultErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PutAccountSettingDefaultError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PutAccountSettingDefaultErrorKind::ClientError(_inner) => _inner.fmt(f), + PutAccountSettingDefaultErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + PutAccountSettingDefaultErrorKind::ServerError(_inner) => _inner.fmt(f), + PutAccountSettingDefaultErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PutAccountSettingDefaultError { + fn code(&self) -> Option<&str> { + PutAccountSettingDefaultError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PutAccountSettingDefaultError { + pub fn new(kind: PutAccountSettingDefaultErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PutAccountSettingDefaultErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PutAccountSettingDefaultErrorKind::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() + } +} +impl std::error::Error for PutAccountSettingDefaultError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PutAccountSettingDefaultErrorKind::ClientError(_inner) => Some(_inner), + PutAccountSettingDefaultErrorKind::InvalidParameterError(_inner) => Some(_inner), + PutAccountSettingDefaultErrorKind::ServerError(_inner) => Some(_inner), + PutAccountSettingDefaultErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PutAttributesError { + pub kind: PutAttributesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PutAttributesErrorKind { + AttributeLimitExceededError(crate::error::AttributeLimitExceededError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + TargetNotFoundError(crate::error::TargetNotFoundError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PutAttributesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PutAttributesErrorKind::AttributeLimitExceededError(_inner) => _inner.fmt(f), + PutAttributesErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + PutAttributesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + PutAttributesErrorKind::TargetNotFoundError(_inner) => _inner.fmt(f), + PutAttributesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PutAttributesError { + fn code(&self) -> Option<&str> { + PutAttributesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PutAttributesError { + pub fn new(kind: PutAttributesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PutAttributesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PutAttributesErrorKind::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() + } +} +impl std::error::Error for PutAttributesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PutAttributesErrorKind::AttributeLimitExceededError(_inner) => Some(_inner), + PutAttributesErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + PutAttributesErrorKind::InvalidParameterError(_inner) => Some(_inner), + PutAttributesErrorKind::TargetNotFoundError(_inner) => Some(_inner), + PutAttributesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PutClusterCapacityProvidersError { + pub kind: PutClusterCapacityProvidersErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PutClusterCapacityProvidersErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ResourceInUseError(crate::error::ResourceInUseError), + ServerError(crate::error::ServerError), + UpdateInProgressError(crate::error::UpdateInProgressError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PutClusterCapacityProvidersError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PutClusterCapacityProvidersErrorKind::ClientError(_inner) => _inner.fmt(f), + PutClusterCapacityProvidersErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + PutClusterCapacityProvidersErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + PutClusterCapacityProvidersErrorKind::ResourceInUseError(_inner) => _inner.fmt(f), + PutClusterCapacityProvidersErrorKind::ServerError(_inner) => _inner.fmt(f), + PutClusterCapacityProvidersErrorKind::UpdateInProgressError(_inner) => _inner.fmt(f), + PutClusterCapacityProvidersErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PutClusterCapacityProvidersError { + fn code(&self) -> Option<&str> { + PutClusterCapacityProvidersError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PutClusterCapacityProvidersError { + pub fn new(kind: PutClusterCapacityProvidersErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PutClusterCapacityProvidersErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PutClusterCapacityProvidersErrorKind::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() + } +} +impl std::error::Error for PutClusterCapacityProvidersError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PutClusterCapacityProvidersErrorKind::ClientError(_inner) => Some(_inner), + PutClusterCapacityProvidersErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + PutClusterCapacityProvidersErrorKind::InvalidParameterError(_inner) => Some(_inner), + PutClusterCapacityProvidersErrorKind::ResourceInUseError(_inner) => Some(_inner), + PutClusterCapacityProvidersErrorKind::ServerError(_inner) => Some(_inner), + PutClusterCapacityProvidersErrorKind::UpdateInProgressError(_inner) => Some(_inner), + PutClusterCapacityProvidersErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct RegisterContainerInstanceError { + pub kind: RegisterContainerInstanceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum RegisterContainerInstanceErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for RegisterContainerInstanceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + RegisterContainerInstanceErrorKind::ClientError(_inner) => _inner.fmt(f), + RegisterContainerInstanceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + RegisterContainerInstanceErrorKind::ServerError(_inner) => _inner.fmt(f), + RegisterContainerInstanceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for RegisterContainerInstanceError { + fn code(&self) -> Option<&str> { + RegisterContainerInstanceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl RegisterContainerInstanceError { + pub fn new(kind: RegisterContainerInstanceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: RegisterContainerInstanceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: RegisterContainerInstanceErrorKind::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() + } +} +impl std::error::Error for RegisterContainerInstanceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + RegisterContainerInstanceErrorKind::ClientError(_inner) => Some(_inner), + RegisterContainerInstanceErrorKind::InvalidParameterError(_inner) => Some(_inner), + RegisterContainerInstanceErrorKind::ServerError(_inner) => Some(_inner), + RegisterContainerInstanceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct RegisterTaskDefinitionError { + pub kind: RegisterTaskDefinitionErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum RegisterTaskDefinitionErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for RegisterTaskDefinitionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + RegisterTaskDefinitionErrorKind::ClientError(_inner) => _inner.fmt(f), + RegisterTaskDefinitionErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + RegisterTaskDefinitionErrorKind::ServerError(_inner) => _inner.fmt(f), + RegisterTaskDefinitionErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for RegisterTaskDefinitionError { + fn code(&self) -> Option<&str> { + RegisterTaskDefinitionError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl RegisterTaskDefinitionError { + pub fn new(kind: RegisterTaskDefinitionErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: RegisterTaskDefinitionErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: RegisterTaskDefinitionErrorKind::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() + } +} +impl std::error::Error for RegisterTaskDefinitionError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + RegisterTaskDefinitionErrorKind::ClientError(_inner) => Some(_inner), + RegisterTaskDefinitionErrorKind::InvalidParameterError(_inner) => Some(_inner), + RegisterTaskDefinitionErrorKind::ServerError(_inner) => Some(_inner), + RegisterTaskDefinitionErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct RunTaskError { + pub kind: RunTaskErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum RunTaskErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + BlockedError(crate::error::BlockedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + PlatformTaskDefinitionIncompatibilityError( + crate::error::PlatformTaskDefinitionIncompatibilityError, + ), + PlatformUnknownError(crate::error::PlatformUnknownError), + ServerError(crate::error::ServerError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for RunTaskError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + RunTaskErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + RunTaskErrorKind::BlockedError(_inner) => _inner.fmt(f), + RunTaskErrorKind::ClientError(_inner) => _inner.fmt(f), + RunTaskErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + RunTaskErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + RunTaskErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => _inner.fmt(f), + RunTaskErrorKind::PlatformUnknownError(_inner) => _inner.fmt(f), + RunTaskErrorKind::ServerError(_inner) => _inner.fmt(f), + RunTaskErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + RunTaskErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for RunTaskError { + fn code(&self) -> Option<&str> { + RunTaskError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl RunTaskError { + pub fn new(kind: RunTaskErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: RunTaskErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: RunTaskErrorKind::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() + } +} +impl std::error::Error for RunTaskError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + RunTaskErrorKind::AccessDeniedError(_inner) => Some(_inner), + RunTaskErrorKind::BlockedError(_inner) => Some(_inner), + RunTaskErrorKind::ClientError(_inner) => Some(_inner), + RunTaskErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + RunTaskErrorKind::InvalidParameterError(_inner) => Some(_inner), + RunTaskErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => Some(_inner), + RunTaskErrorKind::PlatformUnknownError(_inner) => Some(_inner), + RunTaskErrorKind::ServerError(_inner) => Some(_inner), + RunTaskErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + RunTaskErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct StartTaskError { + pub kind: StartTaskErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum StartTaskErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for StartTaskError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + StartTaskErrorKind::ClientError(_inner) => _inner.fmt(f), + StartTaskErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + StartTaskErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + StartTaskErrorKind::ServerError(_inner) => _inner.fmt(f), + StartTaskErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for StartTaskError { + fn code(&self) -> Option<&str> { + StartTaskError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl StartTaskError { + pub fn new(kind: StartTaskErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: StartTaskErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: StartTaskErrorKind::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() + } +} +impl std::error::Error for StartTaskError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + StartTaskErrorKind::ClientError(_inner) => Some(_inner), + StartTaskErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + StartTaskErrorKind::InvalidParameterError(_inner) => Some(_inner), + StartTaskErrorKind::ServerError(_inner) => Some(_inner), + StartTaskErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct StopTaskError { + pub kind: StopTaskErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum StopTaskErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for StopTaskError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + StopTaskErrorKind::ClientError(_inner) => _inner.fmt(f), + StopTaskErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + StopTaskErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + StopTaskErrorKind::ServerError(_inner) => _inner.fmt(f), + StopTaskErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for StopTaskError { + fn code(&self) -> Option<&str> { + StopTaskError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl StopTaskError { + pub fn new(kind: StopTaskErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: StopTaskErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: StopTaskErrorKind::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() + } +} +impl std::error::Error for StopTaskError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + StopTaskErrorKind::ClientError(_inner) => Some(_inner), + StopTaskErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + StopTaskErrorKind::InvalidParameterError(_inner) => Some(_inner), + StopTaskErrorKind::ServerError(_inner) => Some(_inner), + StopTaskErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SubmitAttachmentStateChangesError { + pub kind: SubmitAttachmentStateChangesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SubmitAttachmentStateChangesErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SubmitAttachmentStateChangesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SubmitAttachmentStateChangesErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + SubmitAttachmentStateChangesErrorKind::ClientError(_inner) => _inner.fmt(f), + SubmitAttachmentStateChangesErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + SubmitAttachmentStateChangesErrorKind::ServerError(_inner) => _inner.fmt(f), + SubmitAttachmentStateChangesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SubmitAttachmentStateChangesError { + fn code(&self) -> Option<&str> { + SubmitAttachmentStateChangesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SubmitAttachmentStateChangesError { + pub fn new(kind: SubmitAttachmentStateChangesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SubmitAttachmentStateChangesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SubmitAttachmentStateChangesErrorKind::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() + } +} +impl std::error::Error for SubmitAttachmentStateChangesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SubmitAttachmentStateChangesErrorKind::AccessDeniedError(_inner) => Some(_inner), + SubmitAttachmentStateChangesErrorKind::ClientError(_inner) => Some(_inner), + SubmitAttachmentStateChangesErrorKind::InvalidParameterError(_inner) => Some(_inner), + SubmitAttachmentStateChangesErrorKind::ServerError(_inner) => Some(_inner), + SubmitAttachmentStateChangesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SubmitContainerStateChangeError { + pub kind: SubmitContainerStateChangeErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SubmitContainerStateChangeErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SubmitContainerStateChangeError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SubmitContainerStateChangeErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + SubmitContainerStateChangeErrorKind::ClientError(_inner) => _inner.fmt(f), + SubmitContainerStateChangeErrorKind::ServerError(_inner) => _inner.fmt(f), + SubmitContainerStateChangeErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SubmitContainerStateChangeError { + fn code(&self) -> Option<&str> { + SubmitContainerStateChangeError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SubmitContainerStateChangeError { + pub fn new(kind: SubmitContainerStateChangeErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SubmitContainerStateChangeErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SubmitContainerStateChangeErrorKind::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() + } +} +impl std::error::Error for SubmitContainerStateChangeError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SubmitContainerStateChangeErrorKind::AccessDeniedError(_inner) => Some(_inner), + SubmitContainerStateChangeErrorKind::ClientError(_inner) => Some(_inner), + SubmitContainerStateChangeErrorKind::ServerError(_inner) => Some(_inner), + SubmitContainerStateChangeErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SubmitTaskStateChangeError { + pub kind: SubmitTaskStateChangeErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SubmitTaskStateChangeErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SubmitTaskStateChangeError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SubmitTaskStateChangeErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + SubmitTaskStateChangeErrorKind::ClientError(_inner) => _inner.fmt(f), + SubmitTaskStateChangeErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + SubmitTaskStateChangeErrorKind::ServerError(_inner) => _inner.fmt(f), + SubmitTaskStateChangeErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SubmitTaskStateChangeError { + fn code(&self) -> Option<&str> { + SubmitTaskStateChangeError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SubmitTaskStateChangeError { + pub fn new(kind: SubmitTaskStateChangeErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SubmitTaskStateChangeErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SubmitTaskStateChangeErrorKind::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() + } +} +impl std::error::Error for SubmitTaskStateChangeError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SubmitTaskStateChangeErrorKind::AccessDeniedError(_inner) => Some(_inner), + SubmitTaskStateChangeErrorKind::ClientError(_inner) => Some(_inner), + SubmitTaskStateChangeErrorKind::InvalidParameterError(_inner) => Some(_inner), + SubmitTaskStateChangeErrorKind::ServerError(_inner) => Some(_inner), + SubmitTaskStateChangeErrorKind::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 { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ResourceNotFoundError(crate::error::ResourceNotFoundError), + ServerError(crate::error::ServerError), + /// 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::ClientError(_inner) => _inner.fmt(f), + TagResourceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + TagResourceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + TagResourceErrorKind::ResourceNotFoundError(_inner) => _inner.fmt(f), + TagResourceErrorKind::ServerError(_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 { + 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() + } +} +impl std::error::Error for TagResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + TagResourceErrorKind::ClientError(_inner) => Some(_inner), + TagResourceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + TagResourceErrorKind::InvalidParameterError(_inner) => Some(_inner), + TagResourceErrorKind::ResourceNotFoundError(_inner) => Some(_inner), + TagResourceErrorKind::ServerError(_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 { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ResourceNotFoundError(crate::error::ResourceNotFoundError), + ServerError(crate::error::ServerError), + /// 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::ClientError(_inner) => _inner.fmt(f), + UntagResourceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UntagResourceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UntagResourceErrorKind::ResourceNotFoundError(_inner) => _inner.fmt(f), + UntagResourceErrorKind::ServerError(_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 { + 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() + } +} +impl std::error::Error for UntagResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UntagResourceErrorKind::ClientError(_inner) => Some(_inner), + UntagResourceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UntagResourceErrorKind::InvalidParameterError(_inner) => Some(_inner), + UntagResourceErrorKind::ResourceNotFoundError(_inner) => Some(_inner), + UntagResourceErrorKind::ServerError(_inner) => Some(_inner), + UntagResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateCapacityProviderError { + pub kind: UpdateCapacityProviderErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateCapacityProviderErrorKind { + ClientError(crate::error::ClientError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateCapacityProviderError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateCapacityProviderErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateCapacityProviderErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateCapacityProviderErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateCapacityProviderErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateCapacityProviderError { + fn code(&self) -> Option<&str> { + UpdateCapacityProviderError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateCapacityProviderError { + pub fn new(kind: UpdateCapacityProviderErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateCapacityProviderErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateCapacityProviderErrorKind::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() + } +} +impl std::error::Error for UpdateCapacityProviderError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateCapacityProviderErrorKind::ClientError(_inner) => Some(_inner), + UpdateCapacityProviderErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateCapacityProviderErrorKind::ServerError(_inner) => Some(_inner), + UpdateCapacityProviderErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateClusterError { + pub kind: UpdateClusterErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateClusterErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateClusterError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateClusterErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateClusterErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateClusterErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateClusterErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateClusterErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateClusterError { + fn code(&self) -> Option<&str> { + UpdateClusterError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateClusterError { + pub fn new(kind: UpdateClusterErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateClusterErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateClusterErrorKind::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() + } +} +impl std::error::Error for UpdateClusterError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateClusterErrorKind::ClientError(_inner) => Some(_inner), + UpdateClusterErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateClusterErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateClusterErrorKind::ServerError(_inner) => Some(_inner), + UpdateClusterErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateClusterSettingsError { + pub kind: UpdateClusterSettingsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateClusterSettingsErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateClusterSettingsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateClusterSettingsErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateClusterSettingsErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateClusterSettingsErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateClusterSettingsErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateClusterSettingsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateClusterSettingsError { + fn code(&self) -> Option<&str> { + UpdateClusterSettingsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateClusterSettingsError { + pub fn new(kind: UpdateClusterSettingsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateClusterSettingsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateClusterSettingsErrorKind::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() + } +} +impl std::error::Error for UpdateClusterSettingsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateClusterSettingsErrorKind::ClientError(_inner) => Some(_inner), + UpdateClusterSettingsErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateClusterSettingsErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateClusterSettingsErrorKind::ServerError(_inner) => Some(_inner), + UpdateClusterSettingsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateContainerAgentError { + pub kind: UpdateContainerAgentErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateContainerAgentErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + MissingVersionError(crate::error::MissingVersionError), + NoUpdateAvailableError(crate::error::NoUpdateAvailableError), + ServerError(crate::error::ServerError), + UpdateInProgressError(crate::error::UpdateInProgressError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateContainerAgentError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateContainerAgentErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::MissingVersionError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::NoUpdateAvailableError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::UpdateInProgressError(_inner) => _inner.fmt(f), + UpdateContainerAgentErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateContainerAgentError { + fn code(&self) -> Option<&str> { + UpdateContainerAgentError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateContainerAgentError { + pub fn new(kind: UpdateContainerAgentErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateContainerAgentErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateContainerAgentErrorKind::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() + } +} +impl std::error::Error for UpdateContainerAgentError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateContainerAgentErrorKind::ClientError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::MissingVersionError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::NoUpdateAvailableError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::ServerError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::UpdateInProgressError(_inner) => Some(_inner), + UpdateContainerAgentErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateContainerInstancesStateError { + pub kind: UpdateContainerInstancesStateErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateContainerInstancesStateErrorKind { + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateContainerInstancesStateError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateContainerInstancesStateErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateContainerInstancesStateErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateContainerInstancesStateErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateContainerInstancesStateErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateContainerInstancesStateErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateContainerInstancesStateError { + fn code(&self) -> Option<&str> { + UpdateContainerInstancesStateError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateContainerInstancesStateError { + pub fn new(kind: UpdateContainerInstancesStateErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateContainerInstancesStateErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateContainerInstancesStateErrorKind::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() + } +} +impl std::error::Error for UpdateContainerInstancesStateError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateContainerInstancesStateErrorKind::ClientError(_inner) => Some(_inner), + UpdateContainerInstancesStateErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateContainerInstancesStateErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateContainerInstancesStateErrorKind::ServerError(_inner) => Some(_inner), + UpdateContainerInstancesStateErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateServiceError { + pub kind: UpdateServiceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateServiceErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + PlatformTaskDefinitionIncompatibilityError( + crate::error::PlatformTaskDefinitionIncompatibilityError, + ), + PlatformUnknownError(crate::error::PlatformUnknownError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateServiceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateServiceErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => { + _inner.fmt(f) + } + UpdateServiceErrorKind::PlatformUnknownError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::ServiceNotActiveError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + UpdateServiceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateServiceError { + fn code(&self) -> Option<&str> { + UpdateServiceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateServiceError { + pub fn new(kind: UpdateServiceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateServiceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateServiceErrorKind::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() + } +} +impl std::error::Error for UpdateServiceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateServiceErrorKind::AccessDeniedError(_inner) => Some(_inner), + UpdateServiceErrorKind::ClientError(_inner) => Some(_inner), + UpdateServiceErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateServiceErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(_inner) => { + Some(_inner) + } + UpdateServiceErrorKind::PlatformUnknownError(_inner) => Some(_inner), + UpdateServiceErrorKind::ServerError(_inner) => Some(_inner), + UpdateServiceErrorKind::ServiceNotActiveError(_inner) => Some(_inner), + UpdateServiceErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + UpdateServiceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateServicePrimaryTaskSetError { + pub kind: UpdateServicePrimaryTaskSetErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateServicePrimaryTaskSetErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + TaskSetNotFoundError(crate::error::TaskSetNotFoundError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateServicePrimaryTaskSetError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateServicePrimaryTaskSetErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::ServiceNotActiveError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::TaskSetNotFoundError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + UpdateServicePrimaryTaskSetErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateServicePrimaryTaskSetError { + fn code(&self) -> Option<&str> { + UpdateServicePrimaryTaskSetError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateServicePrimaryTaskSetError { + pub fn new(kind: UpdateServicePrimaryTaskSetErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateServicePrimaryTaskSetErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateServicePrimaryTaskSetErrorKind::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() + } +} +impl std::error::Error for UpdateServicePrimaryTaskSetError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateServicePrimaryTaskSetErrorKind::AccessDeniedError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::ClientError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::ServerError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::ServiceNotActiveError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::TaskSetNotFoundError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + UpdateServicePrimaryTaskSetErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateTaskSetError { + pub kind: UpdateTaskSetErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateTaskSetErrorKind { + AccessDeniedError(crate::error::AccessDeniedError), + ClientError(crate::error::ClientError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + TaskSetNotFoundError(crate::error::TaskSetNotFoundError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateTaskSetError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateTaskSetErrorKind::AccessDeniedError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::ClientError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::ClusterNotFoundError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::InvalidParameterError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::ServerError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::ServiceNotActiveError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::ServiceNotFoundError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::TaskSetNotFoundError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::UnsupportedFeatureError(_inner) => _inner.fmt(f), + UpdateTaskSetErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateTaskSetError { + fn code(&self) -> Option<&str> { + UpdateTaskSetError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateTaskSetError { + pub fn new(kind: UpdateTaskSetErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateTaskSetErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateTaskSetErrorKind::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() + } +} +impl std::error::Error for UpdateTaskSetError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateTaskSetErrorKind::AccessDeniedError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::ClientError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::ClusterNotFoundError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::InvalidParameterError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::ServerError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::ServiceNotActiveError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::ServiceNotFoundError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::TaskSetNotFoundError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::UnsupportedFeatureError(_inner) => Some(_inner), + UpdateTaskSetErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +///

      The specified task is not supported in this Region.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UnsupportedFeatureError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for UnsupportedFeatureError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UnsupportedFeatureError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl UnsupportedFeatureError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for UnsupportedFeatureError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "UnsupportedFeatureError [UnsupportedFeatureException]")?; + if let Some(inner_1) = &self.message { + write!(f, ": {}", inner_1)?; + } + Ok(()) + } +} +impl std::error::Error for UnsupportedFeatureError {} +/// See [`UnsupportedFeatureError`](crate::error::UnsupportedFeatureError) +pub mod unsupported_feature_error { + /// A builder for [`UnsupportedFeatureError`](crate::error::UnsupportedFeatureError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`UnsupportedFeatureError`](crate::error::UnsupportedFeatureError) + pub fn build(self) -> crate::error::UnsupportedFeatureError { + crate::error::UnsupportedFeatureError { + message: self.message, + } + } + } +} +impl UnsupportedFeatureError { + /// Creates a new builder-style object to manufacture [`UnsupportedFeatureError`](crate::error::UnsupportedFeatureError) + pub fn builder() -> crate::error::unsupported_feature_error::Builder { + crate::error::unsupported_feature_error::Builder::default() + } +} + +///

      The specified task set could not be found. You can view your available task sets with +/// DescribeTaskSets. Task sets are specific to each cluster, service +/// and Region.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TaskSetNotFoundError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for TaskSetNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TaskSetNotFoundError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl TaskSetNotFoundError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for TaskSetNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "TaskSetNotFoundError [TaskSetNotFoundException]")?; + if let Some(inner_2) = &self.message { + write!(f, ": {}", inner_2)?; + } + Ok(()) + } +} +impl std::error::Error for TaskSetNotFoundError {} +/// See [`TaskSetNotFoundError`](crate::error::TaskSetNotFoundError) +pub mod task_set_not_found_error { + /// A builder for [`TaskSetNotFoundError`](crate::error::TaskSetNotFoundError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`TaskSetNotFoundError`](crate::error::TaskSetNotFoundError) + pub fn build(self) -> crate::error::TaskSetNotFoundError { + crate::error::TaskSetNotFoundError { + message: self.message, + } + } + } +} +impl TaskSetNotFoundError { + /// Creates a new builder-style object to manufacture [`TaskSetNotFoundError`](crate::error::TaskSetNotFoundError) + pub fn builder() -> crate::error::task_set_not_found_error::Builder { + crate::error::task_set_not_found_error::Builder::default() + } +} + +///

      The specified service could not be found. You can view your available services with +/// ListServices. Amazon ECS services are cluster-specific and +/// Region-specific.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceNotFoundError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceNotFoundError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceNotFoundError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceNotFoundError [ServiceNotFoundException]")?; + if let Some(inner_3) = &self.message { + write!(f, ": {}", inner_3)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceNotFoundError {} +/// See [`ServiceNotFoundError`](crate::error::ServiceNotFoundError) +pub mod service_not_found_error { + /// A builder for [`ServiceNotFoundError`](crate::error::ServiceNotFoundError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ServiceNotFoundError`](crate::error::ServiceNotFoundError) + pub fn build(self) -> crate::error::ServiceNotFoundError { + crate::error::ServiceNotFoundError { + message: self.message, + } + } + } +} +impl ServiceNotFoundError { + /// Creates a new builder-style object to manufacture [`ServiceNotFoundError`](crate::error::ServiceNotFoundError) + pub fn builder() -> crate::error::service_not_found_error::Builder { + crate::error::service_not_found_error::Builder::default() + } +} + +///

      The specified service is not active. You can't update a service that is inactive. If +/// you have previously deleted a service, you can re-create it with CreateService.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceNotActiveError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceNotActiveError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceNotActiveError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceNotActiveError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceNotActiveError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceNotActiveError [ServiceNotActiveException]")?; + if let Some(inner_4) = &self.message { + write!(f, ": {}", inner_4)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceNotActiveError {} +/// See [`ServiceNotActiveError`](crate::error::ServiceNotActiveError) +pub mod service_not_active_error { + /// A builder for [`ServiceNotActiveError`](crate::error::ServiceNotActiveError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ServiceNotActiveError`](crate::error::ServiceNotActiveError) + pub fn build(self) -> crate::error::ServiceNotActiveError { + crate::error::ServiceNotActiveError { + message: self.message, + } + } + } +} +impl ServiceNotActiveError { + /// Creates a new builder-style object to manufacture [`ServiceNotActiveError`](crate::error::ServiceNotActiveError) + pub fn builder() -> crate::error::service_not_active_error::Builder { + crate::error::service_not_active_error::Builder::default() + } +} + +///

      These errors are usually caused by a server issue.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ServerError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ServerError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServerError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServerError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServerError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServerError [ServerException]")?; + if let Some(inner_5) = &self.message { + write!(f, ": {}", inner_5)?; + } + Ok(()) + } +} +impl std::error::Error for ServerError {} +/// See [`ServerError`](crate::error::ServerError) +pub mod server_error { + /// A builder for [`ServerError`](crate::error::ServerError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ServerError`](crate::error::ServerError) + pub fn build(self) -> crate::error::ServerError { + crate::error::ServerError { + message: self.message, + } + } + } +} +impl ServerError { + /// Creates a new builder-style object to manufacture [`ServerError`](crate::error::ServerError) + pub fn builder() -> crate::error::server_error::Builder { + crate::error::server_error::Builder::default() + } +} + +///

      The specified parameter is invalid. Review the available parameters for the API +/// request.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct InvalidParameterError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for InvalidParameterError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvalidParameterError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl InvalidParameterError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for InvalidParameterError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InvalidParameterError [InvalidParameterException]")?; + if let Some(inner_6) = &self.message { + write!(f, ": {}", inner_6)?; + } + Ok(()) + } +} +impl std::error::Error for InvalidParameterError {} +/// See [`InvalidParameterError`](crate::error::InvalidParameterError) +pub mod invalid_parameter_error { + /// A builder for [`InvalidParameterError`](crate::error::InvalidParameterError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`InvalidParameterError`](crate::error::InvalidParameterError) + pub fn build(self) -> crate::error::InvalidParameterError { + crate::error::InvalidParameterError { + message: self.message, + } + } + } +} +impl InvalidParameterError { + /// Creates a new builder-style object to manufacture [`InvalidParameterError`](crate::error::InvalidParameterError) + pub fn builder() -> crate::error::invalid_parameter_error::Builder { + crate::error::invalid_parameter_error::Builder::default() + } +} + +///

      The specified cluster could not be found. You can view your available clusters with +/// ListClusters. Amazon ECS clusters are Region-specific.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClusterNotFoundError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ClusterNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClusterNotFoundError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ClusterNotFoundError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ClusterNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ClusterNotFoundError [ClusterNotFoundException]")?; + if let Some(inner_7) = &self.message { + write!(f, ": {}", inner_7)?; + } + Ok(()) + } +} +impl std::error::Error for ClusterNotFoundError {} +/// See [`ClusterNotFoundError`](crate::error::ClusterNotFoundError) +pub mod cluster_not_found_error { + /// A builder for [`ClusterNotFoundError`](crate::error::ClusterNotFoundError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ClusterNotFoundError`](crate::error::ClusterNotFoundError) + pub fn build(self) -> crate::error::ClusterNotFoundError { + crate::error::ClusterNotFoundError { + message: self.message, + } + } + } +} +impl ClusterNotFoundError { + /// Creates a new builder-style object to manufacture [`ClusterNotFoundError`](crate::error::ClusterNotFoundError) + pub fn builder() -> crate::error::cluster_not_found_error::Builder { + crate::error::cluster_not_found_error::Builder::default() + } +} + +///

      These errors are usually caused by a client action, such as using an action or +/// resource on behalf of a user that doesn't have permissions to use the action or +/// resource, or specifying an identifier that is not valid.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClientError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ClientError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClientError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ClientError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ClientError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ClientError [ClientException]")?; + if let Some(inner_8) = &self.message { + write!(f, ": {}", inner_8)?; + } + Ok(()) + } +} +impl std::error::Error for ClientError {} +/// See [`ClientError`](crate::error::ClientError) +pub mod client_error { + /// A builder for [`ClientError`](crate::error::ClientError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ClientError`](crate::error::ClientError) + pub fn build(self) -> crate::error::ClientError { + crate::error::ClientError { + message: self.message, + } + } + } +} +impl ClientError { + /// Creates a new builder-style object to manufacture [`ClientError`](crate::error::ClientError) + pub fn builder() -> crate::error::client_error::Builder { + crate::error::client_error::Builder::default() + } +} + +///

      You do not have authorization to perform the requested action.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct AccessDeniedError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for AccessDeniedError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AccessDeniedError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl AccessDeniedError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for AccessDeniedError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "AccessDeniedError [AccessDeniedException]")?; + if let Some(inner_9) = &self.message { + write!(f, ": {}", inner_9)?; + } + Ok(()) + } +} +impl std::error::Error for AccessDeniedError {} +/// See [`AccessDeniedError`](crate::error::AccessDeniedError) +pub mod access_denied_error { + /// A builder for [`AccessDeniedError`](crate::error::AccessDeniedError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`AccessDeniedError`](crate::error::AccessDeniedError) + pub fn build(self) -> crate::error::AccessDeniedError { + crate::error::AccessDeniedError { + message: self.message, + } + } + } +} +impl AccessDeniedError { + /// Creates a new builder-style object to manufacture [`AccessDeniedError`](crate::error::AccessDeniedError) + pub fn builder() -> crate::error::access_denied_error::Builder { + crate::error::access_denied_error::Builder::default() + } +} + +///

      The specified platform version does not exist.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PlatformUnknownError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for PlatformUnknownError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PlatformUnknownError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl PlatformUnknownError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for PlatformUnknownError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "PlatformUnknownError [PlatformUnknownException]")?; + if let Some(inner_10) = &self.message { + write!(f, ": {}", inner_10)?; + } + Ok(()) + } +} +impl std::error::Error for PlatformUnknownError {} +/// See [`PlatformUnknownError`](crate::error::PlatformUnknownError) +pub mod platform_unknown_error { + /// A builder for [`PlatformUnknownError`](crate::error::PlatformUnknownError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`PlatformUnknownError`](crate::error::PlatformUnknownError) + pub fn build(self) -> crate::error::PlatformUnknownError { + crate::error::PlatformUnknownError { + message: self.message, + } + } + } +} +impl PlatformUnknownError { + /// Creates a new builder-style object to manufacture [`PlatformUnknownError`](crate::error::PlatformUnknownError) + pub fn builder() -> crate::error::platform_unknown_error::Builder { + crate::error::platform_unknown_error::Builder::default() + } +} + +///

      The specified platform version does not satisfy the task definition's required +/// capabilities.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PlatformTaskDefinitionIncompatibilityError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for PlatformTaskDefinitionIncompatibilityError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PlatformTaskDefinitionIncompatibilityError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl PlatformTaskDefinitionIncompatibilityError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for PlatformTaskDefinitionIncompatibilityError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "PlatformTaskDefinitionIncompatibilityError [PlatformTaskDefinitionIncompatibilityException]")?; + if let Some(inner_11) = &self.message { + write!(f, ": {}", inner_11)?; + } + Ok(()) + } +} +impl std::error::Error for PlatformTaskDefinitionIncompatibilityError {} +/// See [`PlatformTaskDefinitionIncompatibilityError`](crate::error::PlatformTaskDefinitionIncompatibilityError) +pub mod platform_task_definition_incompatibility_error { + /// A builder for [`PlatformTaskDefinitionIncompatibilityError`](crate::error::PlatformTaskDefinitionIncompatibilityError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`PlatformTaskDefinitionIncompatibilityError`](crate::error::PlatformTaskDefinitionIncompatibilityError) + pub fn build(self) -> crate::error::PlatformTaskDefinitionIncompatibilityError { + crate::error::PlatformTaskDefinitionIncompatibilityError { + message: self.message, + } + } + } +} +impl PlatformTaskDefinitionIncompatibilityError { + /// Creates a new builder-style object to manufacture [`PlatformTaskDefinitionIncompatibilityError`](crate::error::PlatformTaskDefinitionIncompatibilityError) + pub fn builder() -> crate::error::platform_task_definition_incompatibility_error::Builder { + crate::error::platform_task_definition_incompatibility_error::Builder::default() + } +} + +///

      There is already a current Amazon ECS container agent update in progress on the specified +/// container instance. If the container agent becomes disconnected while it is in a +/// transitional stage, such as PENDING or STAGING, the update +/// process can get stuck in that state. However, when the agent reconnects, it resumes +/// where it stopped previously.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateInProgressError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for UpdateInProgressError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateInProgressError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl UpdateInProgressError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for UpdateInProgressError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "UpdateInProgressError [UpdateInProgressException]")?; + if let Some(inner_12) = &self.message { + write!(f, ": {}", inner_12)?; + } + Ok(()) + } +} +impl std::error::Error for UpdateInProgressError {} +/// See [`UpdateInProgressError`](crate::error::UpdateInProgressError) +pub mod update_in_progress_error { + /// A builder for [`UpdateInProgressError`](crate::error::UpdateInProgressError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`UpdateInProgressError`](crate::error::UpdateInProgressError) + pub fn build(self) -> crate::error::UpdateInProgressError { + crate::error::UpdateInProgressError { + message: self.message, + } + } + } +} +impl UpdateInProgressError { + /// Creates a new builder-style object to manufacture [`UpdateInProgressError`](crate::error::UpdateInProgressError) + pub fn builder() -> crate::error::update_in_progress_error::Builder { + crate::error::update_in_progress_error::Builder::default() + } +} + +///

      There is no update available for this Amazon ECS container agent. This could be because the +/// agent is already running the latest version, or it is so old that there is no update +/// path to the current version.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct NoUpdateAvailableError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for NoUpdateAvailableError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("NoUpdateAvailableError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl NoUpdateAvailableError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for NoUpdateAvailableError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "NoUpdateAvailableError [NoUpdateAvailableException]")?; + if let Some(inner_13) = &self.message { + write!(f, ": {}", inner_13)?; + } + Ok(()) + } +} +impl std::error::Error for NoUpdateAvailableError {} +/// See [`NoUpdateAvailableError`](crate::error::NoUpdateAvailableError) +pub mod no_update_available_error { + /// A builder for [`NoUpdateAvailableError`](crate::error::NoUpdateAvailableError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`NoUpdateAvailableError`](crate::error::NoUpdateAvailableError) + pub fn build(self) -> crate::error::NoUpdateAvailableError { + crate::error::NoUpdateAvailableError { + message: self.message, + } + } + } +} +impl NoUpdateAvailableError { + /// Creates a new builder-style object to manufacture [`NoUpdateAvailableError`](crate::error::NoUpdateAvailableError) + pub fn builder() -> crate::error::no_update_available_error::Builder { + crate::error::no_update_available_error::Builder::default() + } +} + +///

      Amazon ECS is unable to determine the current version of the Amazon ECS container agent on the +/// container instance and does not have enough information to proceed with an update. This +/// could be because the agent running on the container instance is an older or custom +/// version that does not use our version information.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct MissingVersionError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for MissingVersionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MissingVersionError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl MissingVersionError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for MissingVersionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "MissingVersionError [MissingVersionException]")?; + if let Some(inner_14) = &self.message { + write!(f, ": {}", inner_14)?; + } + Ok(()) + } +} +impl std::error::Error for MissingVersionError {} +/// See [`MissingVersionError`](crate::error::MissingVersionError) +pub mod missing_version_error { + /// A builder for [`MissingVersionError`](crate::error::MissingVersionError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`MissingVersionError`](crate::error::MissingVersionError) + pub fn build(self) -> crate::error::MissingVersionError { + crate::error::MissingVersionError { + message: self.message, + } + } + } +} +impl MissingVersionError { + /// Creates a new builder-style object to manufacture [`MissingVersionError`](crate::error::MissingVersionError) + pub fn builder() -> crate::error::missing_version_error::Builder { + crate::error::missing_version_error::Builder::default() + } +} + +///

      The specified resource could not be found.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceNotFoundError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ResourceNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceNotFoundError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ResourceNotFoundError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ResourceNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ResourceNotFoundError [ResourceNotFoundException]")?; + if let Some(inner_15) = &self.message { + write!(f, ": {}", inner_15)?; + } + Ok(()) + } +} +impl std::error::Error for ResourceNotFoundError {} +/// See [`ResourceNotFoundError`](crate::error::ResourceNotFoundError) +pub mod resource_not_found_error { + /// A builder for [`ResourceNotFoundError`](crate::error::ResourceNotFoundError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ResourceNotFoundError`](crate::error::ResourceNotFoundError) + pub fn build(self) -> crate::error::ResourceNotFoundError { + crate::error::ResourceNotFoundError { + message: self.message, + } + } + } +} +impl ResourceNotFoundError { + /// Creates a new builder-style object to manufacture [`ResourceNotFoundError`](crate::error::ResourceNotFoundError) + pub fn builder() -> crate::error::resource_not_found_error::Builder { + crate::error::resource_not_found_error::Builder::default() + } +} + +///

      Your AWS account has been blocked. For more information, contact AWS Support.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct BlockedError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for BlockedError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BlockedError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl BlockedError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for BlockedError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BlockedError [BlockedException]")?; + if let Some(inner_16) = &self.message { + write!(f, ": {}", inner_16)?; + } + Ok(()) + } +} +impl std::error::Error for BlockedError {} +/// See [`BlockedError`](crate::error::BlockedError) +pub mod blocked_error { + /// A builder for [`BlockedError`](crate::error::BlockedError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`BlockedError`](crate::error::BlockedError) + pub fn build(self) -> crate::error::BlockedError { + crate::error::BlockedError { + message: self.message, + } + } + } +} +impl BlockedError { + /// Creates a new builder-style object to manufacture [`BlockedError`](crate::error::BlockedError) + pub fn builder() -> crate::error::blocked_error::Builder { + crate::error::blocked_error::Builder::default() + } +} + +///

      The specified resource is in-use and cannot be removed.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceInUseError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ResourceInUseError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceInUseError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ResourceInUseError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ResourceInUseError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ResourceInUseError [ResourceInUseException]")?; + if let Some(inner_17) = &self.message { + write!(f, ": {}", inner_17)?; + } + Ok(()) + } +} +impl std::error::Error for ResourceInUseError {} +/// See [`ResourceInUseError`](crate::error::ResourceInUseError) +pub mod resource_in_use_error { + /// A builder for [`ResourceInUseError`](crate::error::ResourceInUseError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ResourceInUseError`](crate::error::ResourceInUseError) + pub fn build(self) -> crate::error::ResourceInUseError { + crate::error::ResourceInUseError { + message: self.message, + } + } + } +} +impl ResourceInUseError { + /// Creates a new builder-style object to manufacture [`ResourceInUseError`](crate::error::ResourceInUseError) + pub fn builder() -> crate::error::resource_in_use_error::Builder { + crate::error::resource_in_use_error::Builder::default() + } +} + +///

      The specified target could not be found. You can view your available container +/// instances with ListContainerInstances. Amazon ECS container instances are +/// cluster-specific and Region-specific.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TargetNotFoundError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for TargetNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TargetNotFoundError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl TargetNotFoundError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for TargetNotFoundError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "TargetNotFoundError [TargetNotFoundException]")?; + if let Some(inner_18) = &self.message { + write!(f, ": {}", inner_18)?; + } + Ok(()) + } +} +impl std::error::Error for TargetNotFoundError {} +/// See [`TargetNotFoundError`](crate::error::TargetNotFoundError) +pub mod target_not_found_error { + /// A builder for [`TargetNotFoundError`](crate::error::TargetNotFoundError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`TargetNotFoundError`](crate::error::TargetNotFoundError) + pub fn build(self) -> crate::error::TargetNotFoundError { + crate::error::TargetNotFoundError { + message: self.message, + } + } + } +} +impl TargetNotFoundError { + /// Creates a new builder-style object to manufacture [`TargetNotFoundError`](crate::error::TargetNotFoundError) + pub fn builder() -> crate::error::target_not_found_error::Builder { + crate::error::target_not_found_error::Builder::default() + } +} + +///

      You can apply up to 10 custom attributes per resource. You can view the attributes of +/// a resource with ListAttributes. You can remove existing attributes on +/// a resource with DeleteAttributes.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct AttributeLimitExceededError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for AttributeLimitExceededError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AttributeLimitExceededError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl AttributeLimitExceededError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for AttributeLimitExceededError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "AttributeLimitExceededError [AttributeLimitExceededException]" + )?; + if let Some(inner_19) = &self.message { + write!(f, ": {}", inner_19)?; + } + Ok(()) + } +} +impl std::error::Error for AttributeLimitExceededError {} +/// See [`AttributeLimitExceededError`](crate::error::AttributeLimitExceededError) +pub mod attribute_limit_exceeded_error { + /// A builder for [`AttributeLimitExceededError`](crate::error::AttributeLimitExceededError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`AttributeLimitExceededError`](crate::error::AttributeLimitExceededError) + pub fn build(self) -> crate::error::AttributeLimitExceededError { + crate::error::AttributeLimitExceededError { + message: self.message, + } + } + } +} +impl AttributeLimitExceededError { + /// Creates a new builder-style object to manufacture [`AttributeLimitExceededError`](crate::error::AttributeLimitExceededError) + pub fn builder() -> crate::error::attribute_limit_exceeded_error::Builder { + crate::error::attribute_limit_exceeded_error::Builder::default() + } +} + +///

      The target container is not properly configured with the execute command agent or the +/// container is no longer active or running.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TargetNotConnectedError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for TargetNotConnectedError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TargetNotConnectedError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl TargetNotConnectedError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for TargetNotConnectedError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "TargetNotConnectedError [TargetNotConnectedException]")?; + if let Some(inner_20) = &self.message { + write!(f, ": {}", inner_20)?; + } + Ok(()) + } +} +impl std::error::Error for TargetNotConnectedError {} +/// See [`TargetNotConnectedError`](crate::error::TargetNotConnectedError) +pub mod target_not_connected_error { + /// A builder for [`TargetNotConnectedError`](crate::error::TargetNotConnectedError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`TargetNotConnectedError`](crate::error::TargetNotConnectedError) + pub fn build(self) -> crate::error::TargetNotConnectedError { + crate::error::TargetNotConnectedError { + message: self.message, + } + } + } +} +impl TargetNotConnectedError { + /// Creates a new builder-style object to manufacture [`TargetNotConnectedError`](crate::error::TargetNotConnectedError) + pub fn builder() -> crate::error::target_not_connected_error::Builder { + crate::error::target_not_connected_error::Builder::default() + } +} + +///

      You cannot delete a cluster that has active tasks.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClusterContainsTasksError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ClusterContainsTasksError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClusterContainsTasksError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ClusterContainsTasksError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ClusterContainsTasksError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ClusterContainsTasksError [ClusterContainsTasksException]" + )?; + if let Some(inner_21) = &self.message { + write!(f, ": {}", inner_21)?; + } + Ok(()) + } +} +impl std::error::Error for ClusterContainsTasksError {} +/// See [`ClusterContainsTasksError`](crate::error::ClusterContainsTasksError) +pub mod cluster_contains_tasks_error { + /// A builder for [`ClusterContainsTasksError`](crate::error::ClusterContainsTasksError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ClusterContainsTasksError`](crate::error::ClusterContainsTasksError) + pub fn build(self) -> crate::error::ClusterContainsTasksError { + crate::error::ClusterContainsTasksError { + message: self.message, + } + } + } +} +impl ClusterContainsTasksError { + /// Creates a new builder-style object to manufacture [`ClusterContainsTasksError`](crate::error::ClusterContainsTasksError) + pub fn builder() -> crate::error::cluster_contains_tasks_error::Builder { + crate::error::cluster_contains_tasks_error::Builder::default() + } +} + +///

      You cannot delete a cluster that contains services. First, update the service to +/// reduce its desired task count to 0 and then delete the service. For more information, +/// see UpdateService and DeleteService.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClusterContainsServicesError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ClusterContainsServicesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClusterContainsServicesError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ClusterContainsServicesError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ClusterContainsServicesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ClusterContainsServicesError [ClusterContainsServicesException]" + )?; + if let Some(inner_22) = &self.message { + write!(f, ": {}", inner_22)?; + } + Ok(()) + } +} +impl std::error::Error for ClusterContainsServicesError {} +/// See [`ClusterContainsServicesError`](crate::error::ClusterContainsServicesError) +pub mod cluster_contains_services_error { + /// A builder for [`ClusterContainsServicesError`](crate::error::ClusterContainsServicesError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ClusterContainsServicesError`](crate::error::ClusterContainsServicesError) + pub fn build(self) -> crate::error::ClusterContainsServicesError { + crate::error::ClusterContainsServicesError { + message: self.message, + } + } + } +} +impl ClusterContainsServicesError { + /// Creates a new builder-style object to manufacture [`ClusterContainsServicesError`](crate::error::ClusterContainsServicesError) + pub fn builder() -> crate::error::cluster_contains_services_error::Builder { + crate::error::cluster_contains_services_error::Builder::default() + } +} + +///

      You cannot delete a cluster that has registered container instances. First, deregister +/// the container instances before you can delete the cluster. For more information, see +/// DeregisterContainerInstance.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClusterContainsContainerInstancesError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ClusterContainsContainerInstancesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClusterContainsContainerInstancesError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ClusterContainsContainerInstancesError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ClusterContainsContainerInstancesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ClusterContainsContainerInstancesError [ClusterContainsContainerInstancesException]" + )?; + if let Some(inner_23) = &self.message { + write!(f, ": {}", inner_23)?; + } + Ok(()) + } +} +impl std::error::Error for ClusterContainsContainerInstancesError {} +/// See [`ClusterContainsContainerInstancesError`](crate::error::ClusterContainsContainerInstancesError) +pub mod cluster_contains_container_instances_error { + /// A builder for [`ClusterContainsContainerInstancesError`](crate::error::ClusterContainsContainerInstancesError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ClusterContainsContainerInstancesError`](crate::error::ClusterContainsContainerInstancesError) + pub fn build(self) -> crate::error::ClusterContainsContainerInstancesError { + crate::error::ClusterContainsContainerInstancesError { + message: self.message, + } + } + } +} +impl ClusterContainsContainerInstancesError { + /// Creates a new builder-style object to manufacture [`ClusterContainsContainerInstancesError`](crate::error::ClusterContainsContainerInstancesError) + pub fn builder() -> crate::error::cluster_contains_container_instances_error::Builder { + crate::error::cluster_contains_container_instances_error::Builder::default() + } +} + +///

      The limit for the resource has been exceeded.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct LimitExceededError { + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for LimitExceededError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("LimitExceededError"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl LimitExceededError { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for LimitExceededError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "LimitExceededError [LimitExceededException]")?; + if let Some(inner_24) = &self.message { + write!(f, ": {}", inner_24)?; + } + Ok(()) + } +} +impl std::error::Error for LimitExceededError {} +/// See [`LimitExceededError`](crate::error::LimitExceededError) +pub mod limit_exceeded_error { + /// A builder for [`LimitExceededError`](crate::error::LimitExceededError) + #[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, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`LimitExceededError`](crate::error::LimitExceededError) + pub fn build(self) -> crate::error::LimitExceededError { + crate::error::LimitExceededError { + message: self.message, + } + } + } +} +impl LimitExceededError { + /// Creates a new builder-style object to manufacture [`LimitExceededError`](crate::error::LimitExceededError) + pub fn builder() -> crate::error::limit_exceeded_error::Builder { + crate::error::limit_exceeded_error::Builder::default() + } +} diff --git a/sdk/ecs/src/error_meta.rs b/sdk/ecs/src/error_meta.rs new file mode 100644 index 000000000000..ca4a0f7ebb8a --- /dev/null +++ b/sdk/ecs/src/error_meta.rs @@ -0,0 +1,1321 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum Error { + AccessDeniedError(crate::error::AccessDeniedError), + AttributeLimitExceededError(crate::error::AttributeLimitExceededError), + BlockedError(crate::error::BlockedError), + ClientError(crate::error::ClientError), + ClusterContainsContainerInstancesError(crate::error::ClusterContainsContainerInstancesError), + ClusterContainsServicesError(crate::error::ClusterContainsServicesError), + ClusterContainsTasksError(crate::error::ClusterContainsTasksError), + ClusterNotFoundError(crate::error::ClusterNotFoundError), + InvalidParameterError(crate::error::InvalidParameterError), + LimitExceededError(crate::error::LimitExceededError), + MissingVersionError(crate::error::MissingVersionError), + NoUpdateAvailableError(crate::error::NoUpdateAvailableError), + PlatformTaskDefinitionIncompatibilityError( + crate::error::PlatformTaskDefinitionIncompatibilityError, + ), + PlatformUnknownError(crate::error::PlatformUnknownError), + ResourceInUseError(crate::error::ResourceInUseError), + ResourceNotFoundError(crate::error::ResourceNotFoundError), + ServerError(crate::error::ServerError), + ServiceNotActiveError(crate::error::ServiceNotActiveError), + ServiceNotFoundError(crate::error::ServiceNotFoundError), + TargetNotConnectedError(crate::error::TargetNotConnectedError), + TargetNotFoundError(crate::error::TargetNotFoundError), + TaskSetNotFoundError(crate::error::TaskSetNotFoundError), + UnsupportedFeatureError(crate::error::UnsupportedFeatureError), + UpdateInProgressError(crate::error::UpdateInProgressError), + Unhandled(Box), +} +impl std::fmt::Display for Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Error::AccessDeniedError(inner) => inner.fmt(f), + Error::AttributeLimitExceededError(inner) => inner.fmt(f), + Error::BlockedError(inner) => inner.fmt(f), + Error::ClientError(inner) => inner.fmt(f), + Error::ClusterContainsContainerInstancesError(inner) => inner.fmt(f), + Error::ClusterContainsServicesError(inner) => inner.fmt(f), + Error::ClusterContainsTasksError(inner) => inner.fmt(f), + Error::ClusterNotFoundError(inner) => inner.fmt(f), + Error::InvalidParameterError(inner) => inner.fmt(f), + Error::LimitExceededError(inner) => inner.fmt(f), + Error::MissingVersionError(inner) => inner.fmt(f), + Error::NoUpdateAvailableError(inner) => inner.fmt(f), + Error::PlatformTaskDefinitionIncompatibilityError(inner) => inner.fmt(f), + Error::PlatformUnknownError(inner) => inner.fmt(f), + Error::ResourceInUseError(inner) => inner.fmt(f), + Error::ResourceNotFoundError(inner) => inner.fmt(f), + Error::ServerError(inner) => inner.fmt(f), + Error::ServiceNotActiveError(inner) => inner.fmt(f), + Error::ServiceNotFoundError(inner) => inner.fmt(f), + Error::TargetNotConnectedError(inner) => inner.fmt(f), + Error::TargetNotFoundError(inner) => inner.fmt(f), + Error::TaskSetNotFoundError(inner) => inner.fmt(f), + Error::UnsupportedFeatureError(inner) => inner.fmt(f), + Error::UpdateInProgressError(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::CreateCapacityProviderErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::CreateCapacityProviderErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::CreateCapacityProviderErrorKind::LimitExceededError(inner) => { + Error::LimitExceededError(inner) + } + crate::error::CreateCapacityProviderErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::CreateCapacityProviderErrorKind::UpdateInProgressError(inner) => { + Error::UpdateInProgressError(inner) + } + crate::error::CreateCapacityProviderErrorKind::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::CreateClusterErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::CreateClusterErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::CreateClusterErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::CreateClusterErrorKind::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::CreateServiceErrorKind::AccessDeniedError(inner) => Error::AccessDeniedError(inner), + crate::error::CreateServiceErrorKind::ClientError(inner) => Error::ClientError(inner), + crate::error::CreateServiceErrorKind::ClusterNotFoundError(inner) => Error::ClusterNotFoundError(inner), + crate::error::CreateServiceErrorKind::InvalidParameterError(inner) => Error::InvalidParameterError(inner), + crate::error::CreateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(inner) => Error::PlatformTaskDefinitionIncompatibilityError(inner), + crate::error::CreateServiceErrorKind::PlatformUnknownError(inner) => Error::PlatformUnknownError(inner), + crate::error::CreateServiceErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::CreateServiceErrorKind::UnsupportedFeatureError(inner) => Error::UnsupportedFeatureError(inner), + crate::error::CreateServiceErrorKind::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::CreateTaskSetErrorKind::AccessDeniedError(inner) => Error::AccessDeniedError(inner), + crate::error::CreateTaskSetErrorKind::ClientError(inner) => Error::ClientError(inner), + crate::error::CreateTaskSetErrorKind::ClusterNotFoundError(inner) => Error::ClusterNotFoundError(inner), + crate::error::CreateTaskSetErrorKind::InvalidParameterError(inner) => Error::InvalidParameterError(inner), + crate::error::CreateTaskSetErrorKind::PlatformTaskDefinitionIncompatibilityError(inner) => Error::PlatformTaskDefinitionIncompatibilityError(inner), + crate::error::CreateTaskSetErrorKind::PlatformUnknownError(inner) => Error::PlatformUnknownError(inner), + crate::error::CreateTaskSetErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::CreateTaskSetErrorKind::ServiceNotActiveError(inner) => Error::ServiceNotActiveError(inner), + crate::error::CreateTaskSetErrorKind::ServiceNotFoundError(inner) => Error::ServiceNotFoundError(inner), + crate::error::CreateTaskSetErrorKind::UnsupportedFeatureError(inner) => Error::UnsupportedFeatureError(inner), + crate::error::CreateTaskSetErrorKind::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::DeleteAccountSettingErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeleteAccountSettingErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeleteAccountSettingErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeleteAccountSettingErrorKind::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::DeleteAttributesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DeleteAttributesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeleteAttributesErrorKind::TargetNotFoundError(inner) => { + Error::TargetNotFoundError(inner) + } + crate::error::DeleteAttributesErrorKind::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::DeleteCapacityProviderErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeleteCapacityProviderErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeleteCapacityProviderErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeleteCapacityProviderErrorKind::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::DeleteClusterErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeleteClusterErrorKind::ClusterContainsContainerInstancesError( + inner, + ) => Error::ClusterContainsContainerInstancesError(inner), + crate::error::DeleteClusterErrorKind::ClusterContainsServicesError(inner) => { + Error::ClusterContainsServicesError(inner) + } + crate::error::DeleteClusterErrorKind::ClusterContainsTasksError(inner) => { + Error::ClusterContainsTasksError(inner) + } + crate::error::DeleteClusterErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DeleteClusterErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeleteClusterErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeleteClusterErrorKind::UpdateInProgressError(inner) => { + Error::UpdateInProgressError(inner) + } + crate::error::DeleteClusterErrorKind::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::DeleteServiceErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeleteServiceErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DeleteServiceErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeleteServiceErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeleteServiceErrorKind::ServiceNotFoundError(inner) => { + Error::ServiceNotFoundError(inner) + } + crate::error::DeleteServiceErrorKind::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::DeleteTaskSetErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::DeleteTaskSetErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeleteTaskSetErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DeleteTaskSetErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeleteTaskSetErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeleteTaskSetErrorKind::ServiceNotActiveError(inner) => { + Error::ServiceNotActiveError(inner) + } + crate::error::DeleteTaskSetErrorKind::ServiceNotFoundError(inner) => { + Error::ServiceNotFoundError(inner) + } + crate::error::DeleteTaskSetErrorKind::TaskSetNotFoundError(inner) => { + Error::TaskSetNotFoundError(inner) + } + crate::error::DeleteTaskSetErrorKind::UnsupportedFeatureError(inner) => { + Error::UnsupportedFeatureError(inner) + } + crate::error::DeleteTaskSetErrorKind::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::DeregisterContainerInstanceErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeregisterContainerInstanceErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DeregisterContainerInstanceErrorKind::InvalidParameterError( + inner, + ) => Error::InvalidParameterError(inner), + crate::error::DeregisterContainerInstanceErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeregisterContainerInstanceErrorKind::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::DeregisterTaskDefinitionErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DeregisterTaskDefinitionErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DeregisterTaskDefinitionErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DeregisterTaskDefinitionErrorKind::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::DescribeCapacityProvidersErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeCapacityProvidersErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeCapacityProvidersErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeCapacityProvidersErrorKind::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::DescribeClustersErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeClustersErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeClustersErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeClustersErrorKind::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::DescribeContainerInstancesErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeContainerInstancesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DescribeContainerInstancesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeContainerInstancesErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeContainerInstancesErrorKind::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::DescribeServicesErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeServicesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DescribeServicesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeServicesErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeServicesErrorKind::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::DescribeTaskDefinitionErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeTaskDefinitionErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeTaskDefinitionErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeTaskDefinitionErrorKind::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::DescribeTasksErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeTasksErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DescribeTasksErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeTasksErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeTasksErrorKind::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::DescribeTaskSetsErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::DescribeTaskSetsErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DescribeTaskSetsErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::DescribeTaskSetsErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::DescribeTaskSetsErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DescribeTaskSetsErrorKind::ServiceNotActiveError(inner) => { + Error::ServiceNotActiveError(inner) + } + crate::error::DescribeTaskSetsErrorKind::ServiceNotFoundError(inner) => { + Error::ServiceNotFoundError(inner) + } + crate::error::DescribeTaskSetsErrorKind::UnsupportedFeatureError(inner) => { + Error::UnsupportedFeatureError(inner) + } + crate::error::DescribeTaskSetsErrorKind::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::DiscoverPollEndpointErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::DiscoverPollEndpointErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::DiscoverPollEndpointErrorKind::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::ExecuteCommandErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::ExecuteCommandErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ExecuteCommandErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::ExecuteCommandErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ExecuteCommandErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ExecuteCommandErrorKind::TargetNotConnectedError(inner) => { + Error::TargetNotConnectedError(inner) + } + crate::error::ExecuteCommandErrorKind::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::ListAccountSettingsErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListAccountSettingsErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListAccountSettingsErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ListAccountSettingsErrorKind::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::ListAttributesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::ListAttributesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListAttributesErrorKind::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::ListClustersErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListClustersErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListClustersErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ListClustersErrorKind::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::ListContainerInstancesErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListContainerInstancesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::ListContainerInstancesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListContainerInstancesErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ListContainerInstancesErrorKind::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::ListServicesErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListServicesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::ListServicesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListServicesErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ListServicesErrorKind::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::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListTagsForResourceErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::ListTagsForResourceErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListTagsForResourceErrorKind::ServerError(inner) => { + Error::ServerError(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::ListTaskDefinitionFamiliesErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListTaskDefinitionFamiliesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListTaskDefinitionFamiliesErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ListTaskDefinitionFamiliesErrorKind::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::ListTaskDefinitionsErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::ListTaskDefinitionsErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListTaskDefinitionsErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::ListTaskDefinitionsErrorKind::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::ClientError(inner) => Error::ClientError(inner), + crate::error::ListTasksErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::ListTasksErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::ListTasksErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::ListTasksErrorKind::ServiceNotFoundError(inner) => { + Error::ServiceNotFoundError(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::PutAccountSettingErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::PutAccountSettingErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::PutAccountSettingErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::PutAccountSettingErrorKind::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::PutAccountSettingDefaultErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::PutAccountSettingDefaultErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::PutAccountSettingDefaultErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::PutAccountSettingDefaultErrorKind::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::PutAttributesErrorKind::AttributeLimitExceededError(inner) => { + Error::AttributeLimitExceededError(inner) + } + crate::error::PutAttributesErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::PutAttributesErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::PutAttributesErrorKind::TargetNotFoundError(inner) => { + Error::TargetNotFoundError(inner) + } + crate::error::PutAttributesErrorKind::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::PutClusterCapacityProvidersErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::PutClusterCapacityProvidersErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::PutClusterCapacityProvidersErrorKind::InvalidParameterError( + inner, + ) => Error::InvalidParameterError(inner), + crate::error::PutClusterCapacityProvidersErrorKind::ResourceInUseError(inner) => { + Error::ResourceInUseError(inner) + } + crate::error::PutClusterCapacityProvidersErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::PutClusterCapacityProvidersErrorKind::UpdateInProgressError( + inner, + ) => Error::UpdateInProgressError(inner), + crate::error::PutClusterCapacityProvidersErrorKind::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::RegisterContainerInstanceErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::RegisterContainerInstanceErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::RegisterContainerInstanceErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::RegisterContainerInstanceErrorKind::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::RegisterTaskDefinitionErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::RegisterTaskDefinitionErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::RegisterTaskDefinitionErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::RegisterTaskDefinitionErrorKind::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::RunTaskErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::RunTaskErrorKind::BlockedError(inner) => Error::BlockedError(inner), + crate::error::RunTaskErrorKind::ClientError(inner) => Error::ClientError(inner), + crate::error::RunTaskErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::RunTaskErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::RunTaskErrorKind::PlatformTaskDefinitionIncompatibilityError( + inner, + ) => Error::PlatformTaskDefinitionIncompatibilityError(inner), + crate::error::RunTaskErrorKind::PlatformUnknownError(inner) => { + Error::PlatformUnknownError(inner) + } + crate::error::RunTaskErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::RunTaskErrorKind::UnsupportedFeatureError(inner) => { + Error::UnsupportedFeatureError(inner) + } + crate::error::RunTaskErrorKind::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::StartTaskErrorKind::ClientError(inner) => Error::ClientError(inner), + crate::error::StartTaskErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::StartTaskErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::StartTaskErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::StartTaskErrorKind::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::StopTaskErrorKind::ClientError(inner) => Error::ClientError(inner), + crate::error::StopTaskErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::StopTaskErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::StopTaskErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::StopTaskErrorKind::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::SubmitAttachmentStateChangesErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::SubmitAttachmentStateChangesErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::SubmitAttachmentStateChangesErrorKind::InvalidParameterError( + inner, + ) => Error::InvalidParameterError(inner), + crate::error::SubmitAttachmentStateChangesErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::SubmitAttachmentStateChangesErrorKind::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::SubmitContainerStateChangeErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::SubmitContainerStateChangeErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::SubmitContainerStateChangeErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::SubmitContainerStateChangeErrorKind::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::SubmitTaskStateChangeErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::SubmitTaskStateChangeErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::SubmitTaskStateChangeErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::SubmitTaskStateChangeErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::SubmitTaskStateChangeErrorKind::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::ClientError(inner) => Error::ClientError(inner), + crate::error::TagResourceErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::TagResourceErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::TagResourceErrorKind::ResourceNotFoundError(inner) => { + Error::ResourceNotFoundError(inner) + } + crate::error::TagResourceErrorKind::ServerError(inner) => Error::ServerError(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::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UntagResourceErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::UntagResourceErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::UntagResourceErrorKind::ResourceNotFoundError(inner) => { + Error::ResourceNotFoundError(inner) + } + crate::error::UntagResourceErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UntagResourceErrorKind::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::UpdateCapacityProviderErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateCapacityProviderErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::UpdateCapacityProviderErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateCapacityProviderErrorKind::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::UpdateClusterErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateClusterErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::UpdateClusterErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::UpdateClusterErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateClusterErrorKind::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::UpdateClusterSettingsErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateClusterSettingsErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::UpdateClusterSettingsErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::UpdateClusterSettingsErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateClusterSettingsErrorKind::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::UpdateContainerAgentErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateContainerAgentErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::UpdateContainerAgentErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::UpdateContainerAgentErrorKind::MissingVersionError(inner) => { + Error::MissingVersionError(inner) + } + crate::error::UpdateContainerAgentErrorKind::NoUpdateAvailableError(inner) => { + Error::NoUpdateAvailableError(inner) + } + crate::error::UpdateContainerAgentErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateContainerAgentErrorKind::UpdateInProgressError(inner) => { + Error::UpdateInProgressError(inner) + } + crate::error::UpdateContainerAgentErrorKind::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::UpdateContainerInstancesStateErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateContainerInstancesStateErrorKind::ClusterNotFoundError( + inner, + ) => Error::ClusterNotFoundError(inner), + crate::error::UpdateContainerInstancesStateErrorKind::InvalidParameterError( + inner, + ) => Error::InvalidParameterError(inner), + crate::error::UpdateContainerInstancesStateErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateContainerInstancesStateErrorKind::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::UpdateServiceErrorKind::AccessDeniedError(inner) => Error::AccessDeniedError(inner), + crate::error::UpdateServiceErrorKind::ClientError(inner) => Error::ClientError(inner), + crate::error::UpdateServiceErrorKind::ClusterNotFoundError(inner) => Error::ClusterNotFoundError(inner), + crate::error::UpdateServiceErrorKind::InvalidParameterError(inner) => Error::InvalidParameterError(inner), + crate::error::UpdateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(inner) => Error::PlatformTaskDefinitionIncompatibilityError(inner), + crate::error::UpdateServiceErrorKind::PlatformUnknownError(inner) => Error::PlatformUnknownError(inner), + crate::error::UpdateServiceErrorKind::ServerError(inner) => Error::ServerError(inner), + crate::error::UpdateServiceErrorKind::ServiceNotActiveError(inner) => Error::ServiceNotActiveError(inner), + crate::error::UpdateServiceErrorKind::ServiceNotFoundError(inner) => Error::ServiceNotFoundError(inner), + crate::error::UpdateServiceErrorKind::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::UpdateServicePrimaryTaskSetErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::UpdateServicePrimaryTaskSetErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateServicePrimaryTaskSetErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::UpdateServicePrimaryTaskSetErrorKind::InvalidParameterError( + inner, + ) => Error::InvalidParameterError(inner), + crate::error::UpdateServicePrimaryTaskSetErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateServicePrimaryTaskSetErrorKind::ServiceNotActiveError( + inner, + ) => Error::ServiceNotActiveError(inner), + crate::error::UpdateServicePrimaryTaskSetErrorKind::ServiceNotFoundError(inner) => { + Error::ServiceNotFoundError(inner) + } + crate::error::UpdateServicePrimaryTaskSetErrorKind::TaskSetNotFoundError(inner) => { + Error::TaskSetNotFoundError(inner) + } + crate::error::UpdateServicePrimaryTaskSetErrorKind::UnsupportedFeatureError( + inner, + ) => Error::UnsupportedFeatureError(inner), + crate::error::UpdateServicePrimaryTaskSetErrorKind::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::UpdateTaskSetErrorKind::AccessDeniedError(inner) => { + Error::AccessDeniedError(inner) + } + crate::error::UpdateTaskSetErrorKind::ClientError(inner) => { + Error::ClientError(inner) + } + crate::error::UpdateTaskSetErrorKind::ClusterNotFoundError(inner) => { + Error::ClusterNotFoundError(inner) + } + crate::error::UpdateTaskSetErrorKind::InvalidParameterError(inner) => { + Error::InvalidParameterError(inner) + } + crate::error::UpdateTaskSetErrorKind::ServerError(inner) => { + Error::ServerError(inner) + } + crate::error::UpdateTaskSetErrorKind::ServiceNotActiveError(inner) => { + Error::ServiceNotActiveError(inner) + } + crate::error::UpdateTaskSetErrorKind::ServiceNotFoundError(inner) => { + Error::ServiceNotFoundError(inner) + } + crate::error::UpdateTaskSetErrorKind::TaskSetNotFoundError(inner) => { + Error::TaskSetNotFoundError(inner) + } + crate::error::UpdateTaskSetErrorKind::UnsupportedFeatureError(inner) => { + Error::UnsupportedFeatureError(inner) + } + crate::error::UpdateTaskSetErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl std::error::Error for Error {} diff --git a/sdk/ecs/src/input.rs b/sdk/ecs/src/input.rs new file mode 100644 index 000000000000..b0ade589f64b --- /dev/null +++ b/sdk/ecs/src/input.rs @@ -0,0 +1,12019 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// See [`CreateCapacityProviderInput`](crate::input::CreateCapacityProviderInput) +pub mod create_capacity_provider_input { + /// A builder for [`CreateCapacityProviderInput`](crate::input::CreateCapacityProviderInput) + #[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) auto_scaling_group_provider: + std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The name of the capacity provider. Up to 255 characters are allowed, including letters + /// (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed + /// with "aws", "ecs", or "fargate".

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The details of the Auto Scaling group for the capacity provider.

      + pub fn auto_scaling_group_provider( + mut self, + inp: crate::model::AutoScalingGroupProvider, + ) -> Self { + self.auto_scaling_group_provider = Some(inp); + self + } + pub fn set_auto_scaling_group_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.auto_scaling_group_provider = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`CreateCapacityProviderInput`](crate::input::CreateCapacityProviderInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::CreateCapacityProviderInput { + name: self.name, + auto_scaling_group_provider: self.auto_scaling_group_provider, + tags: self.tags, + }) + } + } +} +impl CreateCapacityProviderInput { + /// Consumes the builder and constructs an Operation<[`CreateCapacityProvider`](crate::operation::CreateCapacityProvider)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::CreateCapacityProvider, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_capacity_provider(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateCapacityProvider::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateCapacityProvider", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.CreateCapacityProvider", + )) + } + 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 [`CreateCapacityProviderInput`](crate::input::CreateCapacityProviderInput) + pub fn builder() -> crate::input::create_capacity_provider_input::Builder { + crate::input::create_capacity_provider_input::Builder::default() + } +} + +/// See [`CreateClusterInput`](crate::input::CreateClusterInput) +pub mod create_cluster_input { + /// A builder for [`CreateClusterInput`](crate::input::CreateClusterInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster_name: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) settings: std::option::Option>, + pub(crate) configuration: std::option::Option, + pub(crate) capacity_providers: std::option::Option>, + pub(crate) default_capacity_provider_strategy: + std::option::Option>, + } + impl Builder { + ///

      The name of your cluster. If you do not specify a name for your cluster, you create a + /// cluster named default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

      + pub fn cluster_name(mut self, inp: impl Into) -> Self { + self.cluster_name = Some(inp.into()); + self + } + pub fn set_cluster_name(mut self, inp: std::option::Option) -> Self { + self.cluster_name = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + pub fn settings(mut self, inp: impl Into) -> Self { + let mut v = self.settings.unwrap_or_default(); + v.push(inp.into()); + self.settings = Some(v); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.settings = inp; + self + } + ///

      The execute command configuration for the cluster.

      + pub fn configuration(mut self, inp: crate::model::ClusterConfiguration) -> Self { + self.configuration = Some(inp); + self + } + pub fn set_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.configuration = inp; + self + } + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + let mut v = self.capacity_providers.unwrap_or_default(); + v.push(inp.into()); + self.capacity_providers = Some(v); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_providers = inp; + self + } + pub fn default_capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.default_capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.default_capacity_provider_strategy = Some(v); + self + } + pub fn set_default_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.default_capacity_provider_strategy = inp; + self + } + /// Consumes the builder and constructs a [`CreateClusterInput`](crate::input::CreateClusterInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::CreateClusterInput { + cluster_name: self.cluster_name, + tags: self.tags, + settings: self.settings, + configuration: self.configuration, + capacity_providers: self.capacity_providers, + default_capacity_provider_strategy: self.default_capacity_provider_strategy, + }) + } + } +} +impl CreateClusterInput { + /// Consumes the builder and constructs an Operation<[`CreateCluster`](crate::operation::CreateCluster)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::CreateCluster, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_create_cluster(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateCluster::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateCluster", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.CreateCluster", + )) + } + 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 [`CreateClusterInput`](crate::input::CreateClusterInput) + pub fn builder() -> crate::input::create_cluster_input::Builder { + crate::input::create_cluster_input::Builder::default() + } +} + +/// See [`CreateServiceInput`](crate::input::CreateServiceInput) +pub mod create_service_input { + /// A builder for [`CreateServiceInput`](crate::input::CreateServiceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service_name: std::option::Option, + pub(crate) task_definition: std::option::Option, + pub(crate) load_balancers: std::option::Option>, + pub(crate) service_registries: + std::option::Option>, + pub(crate) desired_count: std::option::Option, + pub(crate) client_token: std::option::Option, + pub(crate) launch_type: std::option::Option, + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) platform_version: std::option::Option, + pub(crate) role: std::option::Option, + pub(crate) deployment_configuration: + std::option::Option, + pub(crate) placement_constraints: + std::option::Option>, + pub(crate) placement_strategy: + std::option::Option>, + pub(crate) network_configuration: std::option::Option, + pub(crate) health_check_grace_period_seconds: std::option::Option, + pub(crate) scheduling_strategy: std::option::Option, + pub(crate) deployment_controller: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) enable_ecs_managed_tags: std::option::Option, + pub(crate) propagate_tags: std::option::Option, + pub(crate) enable_execute_command: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      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 + /// Region or across multiple Regions.

      + pub fn service_name(mut self, inp: impl Into) -> Self { + self.service_name = Some(inp.into()); + self + } + pub fn set_service_name(mut self, inp: std::option::Option) -> Self { + self.service_name = inp; + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used.

      + ///

      A task definition must be specified if the service is using either the + /// ECS or CODE_DEPLOY deployment controllers.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + pub fn load_balancers(mut self, inp: impl Into) -> Self { + let mut v = self.load_balancers.unwrap_or_default(); + v.push(inp.into()); + self.load_balancers = Some(v); + self + } + pub fn set_load_balancers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.load_balancers = inp; + self + } + pub fn service_registries(mut self, inp: impl Into) -> Self { + let mut v = self.service_registries.unwrap_or_default(); + v.push(inp.into()); + self.service_registries = Some(v); + self + } + pub fn set_service_registries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.service_registries = inp; + self + } + ///

      The number of instantiations of the specified task definition to place and keep + /// running on your cluster.

      + ///

      This is required if schedulingStrategy is REPLICA or is not + /// specified. If schedulingStrategy is DAEMON then this is not + /// required.

      + pub fn desired_count(mut self, inp: i32) -> Self { + self.desired_count = Some(inp); + self + } + pub fn set_desired_count(mut self, inp: std::option::Option) -> Self { + self.desired_count = inp; + self + } + ///

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

      + pub fn client_token(mut self, inp: impl Into) -> Self { + self.client_token = Some(inp.into()); + self + } + pub fn set_client_token(mut self, inp: std::option::Option) -> Self { + self.client_token = inp; + self + } + ///

      The infrastructure on which to run your service. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A service can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      The platform version that your tasks in the service are running on. A platform version + /// is specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default. For more + /// information, see AWS Fargate platform + /// versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your + /// load balancer on your behalf. This parameter is only permitted if you are using a load + /// balancer with your service and your task definition does not use the awsvpc + /// network mode. If you specify the role parameter, you must also specify a + /// load balancer object with the loadBalancers parameter.

      + /// + ///

      If your account has already created the Amazon ECS service-linked role, that role is + /// used by default for your service unless you specify a role here. The service-linked + /// role is required if your task definition uses the awsvpc network mode + /// or if the service is configured to use service discovery, an external deployment + /// controller, multiple target groups, or Elastic Inference accelerators in which case + /// you should not specify a role here. For more information, see Using + /// service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///
      + ///

      If your specified role has a path other than /, then you must either + /// specify the full role ARN (this is recommended) or prefix the role name with the path. + /// For example, if a role with the name bar has a path of /foo/ + /// then you would specify /foo/bar as the role name. For more information, see + /// Friendly names and paths in the IAM User Guide.

      + pub fn role(mut self, inp: impl Into) -> Self { + self.role = Some(inp.into()); + self + } + pub fn set_role(mut self, inp: std::option::Option) -> Self { + self.role = inp; + self + } + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub fn deployment_configuration( + mut self, + inp: crate::model::DeploymentConfiguration, + ) -> Self { + self.deployment_configuration = Some(inp); + self + } + pub fn set_deployment_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.deployment_configuration = inp; + self + } + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_constraints.unwrap_or_default(); + v.push(inp.into()); + self.placement_constraints = Some(v); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_constraints = inp; + self + } + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_strategy.unwrap_or_default(); + v.push(inp.into()); + self.placement_strategy = Some(v); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_strategy = inp; + self + } + ///

      The network configuration for the service. 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 + /// in the Amazon Elastic Container Service Developer Guide.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used + /// when your service is configured to use a load balancer. If your service has a load + /// balancer defined and you don't specify a health check grace period value, the default + /// value of 0 is used.

      + ///

      If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you + /// can specify a health check grace period of up to 2,147,483,647 seconds. During that + /// time, the Amazon ECS service scheduler ignores health check status. This grace period can + /// prevent the service scheduler from marking tasks as unhealthy and stopping them before + /// they have time to come up.

      + pub fn health_check_grace_period_seconds(mut self, inp: i32) -> Self { + self.health_check_grace_period_seconds = Some(inp); + self + } + pub fn set_health_check_grace_period_seconds( + mut self, + inp: std::option::Option, + ) -> Self { + self.health_check_grace_period_seconds = inp; + self + } + ///

      The scheduling strategy to use for the service. For more information, see Services.

      + ///

      There are two service scheduler strategies available:

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

        + /// REPLICA-The replica scheduling strategy places and + /// maintains the desired number of tasks across your cluster. By default, the + /// service scheduler spreads tasks across Availability Zones. You can use task + /// placement strategies and constraints to customize task placement decisions. This + /// scheduler strategy is required if the service is using the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types.

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

        + /// DAEMON-The daemon scheduling strategy deploys exactly one + /// task on each active container instance that meets all of the task placement + /// constraints that you specify in your cluster. The service scheduler also + /// evaluates the task placement constraints for running tasks and will stop tasks + /// that do not meet the placement constraints. When you're using this strategy, you + /// don't need to specify a desired number of tasks, a task placement strategy, or + /// use Service Auto Scaling policies.

        + /// + ///

        Tasks using the Fargate launch type or the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types don't support the DAEMON scheduling strategy.

        + ///
        + ///
      • + ///
      + pub fn scheduling_strategy(mut self, inp: crate::model::SchedulingStrategy) -> Self { + self.scheduling_strategy = Some(inp); + self + } + pub fn set_scheduling_strategy( + mut self, + inp: std::option::Option, + ) -> Self { + self.scheduling_strategy = inp; + self + } + ///

      The deployment controller to use for the service. If no deployment controller is + /// specified, the default value of ECS is used.

      + pub fn deployment_controller(mut self, inp: crate::model::DeploymentController) -> Self { + self.deployment_controller = Some(inp); + self + } + pub fn set_deployment_controller( + mut self, + inp: std::option::Option, + ) -> Self { + self.deployment_controller = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For + /// more information, see Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// tasks in the service. If no value is specified, the tags are not propagated. Tags can + /// only be propagated to the tasks within the service during service creation. To add tags + /// to a task after service creation, use the TagResource API + /// action.

      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.propagate_tags = Some(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.propagate_tags = inp; + self + } + ///

      Whether or not the execute command functionality is enabled for the service. If + /// true, this enables execute command functionality on all containers in + /// the service tasks.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + /// Consumes the builder and constructs a [`CreateServiceInput`](crate::input::CreateServiceInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::CreateServiceInput { + cluster: self.cluster, + service_name: self.service_name, + task_definition: self.task_definition, + load_balancers: self.load_balancers, + service_registries: self.service_registries, + desired_count: self.desired_count, + client_token: self.client_token, + launch_type: self.launch_type, + capacity_provider_strategy: self.capacity_provider_strategy, + platform_version: self.platform_version, + role: self.role, + deployment_configuration: self.deployment_configuration, + placement_constraints: self.placement_constraints, + placement_strategy: self.placement_strategy, + network_configuration: self.network_configuration, + health_check_grace_period_seconds: self.health_check_grace_period_seconds, + scheduling_strategy: self.scheduling_strategy, + deployment_controller: self.deployment_controller, + tags: self.tags, + enable_ecs_managed_tags: self.enable_ecs_managed_tags.unwrap_or_default(), + propagate_tags: self.propagate_tags, + enable_execute_command: self.enable_execute_command.unwrap_or_default(), + }) + } + } +} +impl CreateServiceInput { + /// Consumes the builder and constructs an Operation<[`CreateService`](crate::operation::CreateService)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::CreateService, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_create_service(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateService::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateService", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.CreateService", + )) + } + 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 [`CreateServiceInput`](crate::input::CreateServiceInput) + pub fn builder() -> crate::input::create_service_input::Builder { + crate::input::create_service_input::Builder::default() + } +} + +/// See [`CreateTaskSetInput`](crate::input::CreateTaskSetInput) +pub mod create_task_set_input { + /// A builder for [`CreateTaskSetInput`](crate::input::CreateTaskSetInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) service: std::option::Option, + pub(crate) cluster: std::option::Option, + pub(crate) external_id: std::option::Option, + pub(crate) task_definition: std::option::Option, + pub(crate) network_configuration: std::option::Option, + pub(crate) load_balancers: std::option::Option>, + pub(crate) service_registries: + std::option::Option>, + pub(crate) launch_type: std::option::Option, + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) platform_version: std::option::Option, + pub(crate) scale: std::option::Option, + pub(crate) client_token: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the + /// task set in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      An optional non-unique tag that identifies this task set in external systems. If the + /// task set is associated with a service discovery registry, the tasks in this task set + /// will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided + /// value.

      + pub fn external_id(mut self, inp: impl Into) -> Self { + self.external_id = Some(inp.into()); + self + } + pub fn set_external_id(mut self, inp: std::option::Option) -> Self { + self.external_id = inp; + self + } + ///

      The task definition for the tasks in the task set to use.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + ///

      An object representing the network configuration for a task set.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + pub fn load_balancers(mut self, inp: impl Into) -> Self { + let mut v = self.load_balancers.unwrap_or_default(); + v.push(inp.into()); + self.load_balancers = Some(v); + self + } + pub fn set_load_balancers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.load_balancers = inp; + self + } + pub fn service_registries(mut self, inp: impl Into) -> Self { + let mut v = self.service_registries.unwrap_or_default(); + v.push(inp.into()); + self.service_registries = Some(v); + self + } + pub fn set_service_registries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.service_registries = inp; + self + } + ///

      The launch type that new tasks in the task set will use. For more information, see + /// Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

      + ///

      If a launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      The platform version that the tasks in the task set should use. A platform version is + /// specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub fn scale(mut self, inp: crate::model::Scale) -> Self { + self.scale = Some(inp); + self + } + pub fn set_scale(mut self, inp: std::option::Option) -> Self { + self.scale = inp; + self + } + ///

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

      + pub fn client_token(mut self, inp: impl Into) -> Self { + self.client_token = Some(inp.into()); + self + } + pub fn set_client_token(mut self, inp: std::option::Option) -> Self { + self.client_token = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`CreateTaskSetInput`](crate::input::CreateTaskSetInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::CreateTaskSetInput { + service: self.service, + cluster: self.cluster, + external_id: self.external_id, + task_definition: self.task_definition, + network_configuration: self.network_configuration, + load_balancers: self.load_balancers, + service_registries: self.service_registries, + launch_type: self.launch_type, + capacity_provider_strategy: self.capacity_provider_strategy, + platform_version: self.platform_version, + scale: self.scale, + client_token: self.client_token, + tags: self.tags, + }) + } + } +} +impl CreateTaskSetInput { + /// Consumes the builder and constructs an Operation<[`CreateTaskSet`](crate::operation::CreateTaskSet)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::CreateTaskSet, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_task_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateTaskSet::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateTaskSet", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.CreateTaskSet", + )) + } + 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 [`CreateTaskSetInput`](crate::input::CreateTaskSetInput) + pub fn builder() -> crate::input::create_task_set_input::Builder { + crate::input::create_task_set_input::Builder::default() + } +} + +/// See [`DeleteAccountSettingInput`](crate::input::DeleteAccountSettingInput) +pub mod delete_account_setting_input { + /// A builder for [`DeleteAccountSettingInput`](crate::input::DeleteAccountSettingInput) + #[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) principal_arn: std::option::Option, + } + impl Builder { + ///

      The resource name for which to disable the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it disables the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.principal_arn = Some(inp.into()); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.principal_arn = inp; + self + } + /// Consumes the builder and constructs a [`DeleteAccountSettingInput`](crate::input::DeleteAccountSettingInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DeleteAccountSettingInput { + name: self.name, + principal_arn: self.principal_arn, + }) + } + } +} +impl DeleteAccountSettingInput { + /// Consumes the builder and constructs an Operation<[`DeleteAccountSetting`](crate::operation::DeleteAccountSetting)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteAccountSetting, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_delete_account_setting(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteAccountSetting::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteAccountSetting", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeleteAccountSetting", + )) + } + 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 [`DeleteAccountSettingInput`](crate::input::DeleteAccountSettingInput) + pub fn builder() -> crate::input::delete_account_setting_input::Builder { + crate::input::delete_account_setting_input::Builder::default() + } +} + +/// See [`DeleteAttributesInput`](crate::input::DeleteAttributesInput) +pub mod delete_attributes_input { + /// A builder for [`DeleteAttributesInput`](crate::input::DeleteAttributesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) attributes: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete + /// attributes. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`DeleteAttributesInput`](crate::input::DeleteAttributesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DeleteAttributesInput { + cluster: self.cluster, + attributes: self.attributes, + }) + } + } +} +impl DeleteAttributesInput { + /// Consumes the builder and constructs an Operation<[`DeleteAttributes`](crate::operation::DeleteAttributes)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteAttributes, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_delete_attributes(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteAttributes::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteAttributes", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeleteAttributes", + )) + } + 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 [`DeleteAttributesInput`](crate::input::DeleteAttributesInput) + pub fn builder() -> crate::input::delete_attributes_input::Builder { + crate::input::delete_attributes_input::Builder::default() + } +} + +/// See [`DeleteCapacityProviderInput`](crate::input::DeleteCapacityProviderInput) +pub mod delete_capacity_provider_input { + /// A builder for [`DeleteCapacityProviderInput`](crate::input::DeleteCapacityProviderInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

      + pub fn capacity_provider(mut self, inp: impl Into) -> Self { + self.capacity_provider = Some(inp.into()); + self + } + pub fn set_capacity_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider = inp; + self + } + /// Consumes the builder and constructs a [`DeleteCapacityProviderInput`](crate::input::DeleteCapacityProviderInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DeleteCapacityProviderInput { + capacity_provider: self.capacity_provider, + }) + } + } +} +impl DeleteCapacityProviderInput { + /// Consumes the builder and constructs an Operation<[`DeleteCapacityProvider`](crate::operation::DeleteCapacityProvider)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteCapacityProvider, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_delete_capacity_provider(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteCapacityProvider::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteCapacityProvider", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeleteCapacityProvider", + )) + } + 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 [`DeleteCapacityProviderInput`](crate::input::DeleteCapacityProviderInput) + pub fn builder() -> crate::input::delete_capacity_provider_input::Builder { + crate::input::delete_capacity_provider_input::Builder::default() + } +} + +/// See [`DeleteClusterInput`](crate::input::DeleteClusterInput) +pub mod delete_cluster_input { + /// A builder for [`DeleteClusterInput`](crate::input::DeleteClusterInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to delete.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`DeleteClusterInput`](crate::input::DeleteClusterInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::DeleteClusterInput { + cluster: self.cluster, + }) + } + } +} +impl DeleteClusterInput { + /// Consumes the builder and constructs an Operation<[`DeleteCluster`](crate::operation::DeleteCluster)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteCluster, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_delete_cluster(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteCluster::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteCluster", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeleteCluster", + )) + } + 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 [`DeleteClusterInput`](crate::input::DeleteClusterInput) + pub fn builder() -> crate::input::delete_cluster_input::Builder { + crate::input::delete_cluster_input::Builder::default() + } +} + +/// See [`DeleteServiceInput`](crate::input::DeleteServiceInput) +pub mod delete_service_input { + /// A builder for [`DeleteServiceInput`](crate::input::DeleteServiceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service: std::option::Option, + pub(crate) force: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The name of the service to delete.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + ///

      If true, allows you to delete a service even if it has not been scaled + /// down to zero tasks. It is only necessary to use this if the service is using the + /// REPLICA scheduling strategy.

      + pub fn force(mut self, inp: bool) -> Self { + self.force = Some(inp); + self + } + pub fn set_force(mut self, inp: std::option::Option) -> Self { + self.force = inp; + self + } + /// Consumes the builder and constructs a [`DeleteServiceInput`](crate::input::DeleteServiceInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::DeleteServiceInput { + cluster: self.cluster, + service: self.service, + force: self.force, + }) + } + } +} +impl DeleteServiceInput { + /// Consumes the builder and constructs an Operation<[`DeleteService`](crate::operation::DeleteService)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteService, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_delete_service(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteService::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteService", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeleteService", + )) + } + 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 [`DeleteServiceInput`](crate::input::DeleteServiceInput) + pub fn builder() -> crate::input::delete_service_input::Builder { + crate::input::delete_service_input::Builder::default() + } +} + +/// See [`DeleteTaskSetInput`](crate::input::DeleteTaskSetInput) +pub mod delete_task_set_input { + /// A builder for [`DeleteTaskSetInput`](crate::input::DeleteTaskSetInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service: std::option::Option, + pub(crate) task_set: std::option::Option, + pub(crate) force: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in to delete.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to + /// delete.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + ///

      The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

      + pub fn task_set(mut self, inp: impl Into) -> Self { + self.task_set = Some(inp.into()); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.task_set = inp; + self + } + ///

      If true, this allows you to delete a task set even if it hasn't been + /// scaled down to zero.

      + pub fn force(mut self, inp: bool) -> Self { + self.force = Some(inp); + self + } + pub fn set_force(mut self, inp: std::option::Option) -> Self { + self.force = inp; + self + } + /// Consumes the builder and constructs a [`DeleteTaskSetInput`](crate::input::DeleteTaskSetInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::DeleteTaskSetInput { + cluster: self.cluster, + service: self.service, + task_set: self.task_set, + force: self.force, + }) + } + } +} +impl DeleteTaskSetInput { + /// Consumes the builder and constructs an Operation<[`DeleteTaskSet`](crate::operation::DeleteTaskSet)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteTaskSet, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_delete_task_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteTaskSet::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteTaskSet", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeleteTaskSet", + )) + } + 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 [`DeleteTaskSetInput`](crate::input::DeleteTaskSetInput) + pub fn builder() -> crate::input::delete_task_set_input::Builder { + crate::input::delete_task_set_input::Builder::default() + } +} + +/// See [`DeregisterContainerInstanceInput`](crate::input::DeregisterContainerInstanceInput) +pub mod deregister_container_instance_input { + /// A builder for [`DeregisterContainerInstanceInput`](crate::input::DeregisterContainerInstanceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) container_instance: std::option::Option, + pub(crate) force: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// deregister. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + 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 AWS 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, inp: impl Into) -> Self { + self.container_instance = Some(inp.into()); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + ///

      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 + /// tasks remain running until you terminate the instance or the tasks stop through some + /// other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If + /// an orphaned task on your container instance is part of an Amazon ECS service, then the + /// service scheduler starts another copy of that task, on a different container instance if + /// possible.

      + ///

      Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer + /// target group are deregistered. They begin connection draining according to the settings + /// on the load balancer or target group.

      + pub fn force(mut self, inp: bool) -> Self { + self.force = Some(inp); + self + } + pub fn set_force(mut self, inp: std::option::Option) -> Self { + self.force = inp; + self + } + /// Consumes the builder and constructs a [`DeregisterContainerInstanceInput`](crate::input::DeregisterContainerInstanceInput) + pub fn build( + self, + ) -> Result< + crate::input::DeregisterContainerInstanceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeregisterContainerInstanceInput { + cluster: self.cluster, + container_instance: self.container_instance, + force: self.force, + }) + } + } +} +impl DeregisterContainerInstanceInput { + /// Consumes the builder and constructs an Operation<[`DeregisterContainerInstance`](crate::operation::DeregisterContainerInstance)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeregisterContainerInstance, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_deregister_container_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeregisterContainerInstance::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeregisterContainerInstance", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeregisterContainerInstance", + )) + } + 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 [`DeregisterContainerInstanceInput`](crate::input::DeregisterContainerInstanceInput) + pub fn builder() -> crate::input::deregister_container_instance_input::Builder { + crate::input::deregister_container_instance_input::Builder::default() + } +} + +/// See [`DeregisterTaskDefinitionInput`](crate::input::DeregisterTaskDefinitionInput) +pub mod deregister_task_definition_input { + /// A builder for [`DeregisterTaskDefinitionInput`](crate::input::DeregisterTaskDefinitionInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition: std::option::Option, + } + impl Builder { + ///

      The family and revision (family:revision) or + /// full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a + /// revision.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + /// Consumes the builder and constructs a [`DeregisterTaskDefinitionInput`](crate::input::DeregisterTaskDefinitionInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DeregisterTaskDefinitionInput { + task_definition: self.task_definition, + }) + } + } +} +impl DeregisterTaskDefinitionInput { + /// Consumes the builder and constructs an Operation<[`DeregisterTaskDefinition`](crate::operation::DeregisterTaskDefinition)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeregisterTaskDefinition, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_deregister_task_definition(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeregisterTaskDefinition::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeregisterTaskDefinition", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DeregisterTaskDefinition", + )) + } + 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 [`DeregisterTaskDefinitionInput`](crate::input::DeregisterTaskDefinitionInput) + pub fn builder() -> crate::input::deregister_task_definition_input::Builder { + crate::input::deregister_task_definition_input::Builder::default() + } +} + +/// See [`DescribeCapacityProvidersInput`](crate::input::DescribeCapacityProvidersInput) +pub mod describe_capacity_providers_input { + /// A builder for [`DescribeCapacityProvidersInput`](crate::input::DescribeCapacityProvidersInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_providers: std::option::Option>, + pub(crate) include: std::option::Option>, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + let mut v = self.capacity_providers.unwrap_or_default(); + v.push(inp.into()); + self.capacity_providers = Some(v); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_providers = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + ///

      The maximum number of account setting results returned by + /// DescribeCapacityProviders in paginated output. When this parameter is + /// used, DescribeCapacityProviders only returns maxResults + /// results in a single page along with a nextToken response element. The + /// remaining results of the initial request can be seen by sending another + /// DescribeCapacityProviders request with the returned + /// nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then DescribeCapacityProviders returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + ///

      The nextToken value returned from a previous paginated + /// DescribeCapacityProviders request where maxResults was + /// used and the results exceeded the value of that parameter. Pagination continues from the + /// end of the previous results that returned the nextToken value.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`DescribeCapacityProvidersInput`](crate::input::DescribeCapacityProvidersInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DescribeCapacityProvidersInput { + capacity_providers: self.capacity_providers, + include: self.include, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +impl DescribeCapacityProvidersInput { + /// Consumes the builder and constructs an Operation<[`DescribeCapacityProviders`](crate::operation::DescribeCapacityProviders)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeCapacityProviders, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_describe_capacity_providers(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeCapacityProviders::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeCapacityProviders", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeCapacityProviders", + )) + } + 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 [`DescribeCapacityProvidersInput`](crate::input::DescribeCapacityProvidersInput) + pub fn builder() -> crate::input::describe_capacity_providers_input::Builder { + crate::input::describe_capacity_providers_input::Builder::default() + } +} + +/// See [`DescribeClustersInput`](crate::input::DescribeClustersInput) +pub mod describe_clusters_input { + /// A builder for [`DescribeClustersInput`](crate::input::DescribeClustersInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) clusters: std::option::Option>, + pub(crate) include: std::option::Option>, + } + impl Builder { + pub fn clusters(mut self, inp: impl Into) -> Self { + let mut v = self.clusters.unwrap_or_default(); + v.push(inp.into()); + self.clusters = Some(v); + self + } + pub fn set_clusters( + mut self, + inp: std::option::Option>, + ) -> Self { + self.clusters = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + /// Consumes the builder and constructs a [`DescribeClustersInput`](crate::input::DescribeClustersInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DescribeClustersInput { + clusters: self.clusters, + include: self.include, + }) + } + } +} +impl DescribeClustersInput { + /// Consumes the builder and constructs an Operation<[`DescribeClusters`](crate::operation::DescribeClusters)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeClusters, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_describe_clusters(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeClusters::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeClusters", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeClusters", + )) + } + 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 [`DescribeClustersInput`](crate::input::DescribeClustersInput) + pub fn builder() -> crate::input::describe_clusters_input::Builder { + crate::input::describe_clusters_input::Builder::default() + } +} + +/// See [`DescribeContainerInstancesInput`](crate::input::DescribeContainerInstancesInput) +pub mod describe_container_instances_input { + /// A builder for [`DescribeContainerInstancesInput`](crate::input::DescribeContainerInstancesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) container_instances: std::option::Option>, + pub(crate) include: + std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance + /// or container instances you are describing were launched in any cluster other than the + /// default cluster.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn container_instances(mut self, inp: impl Into) -> Self { + let mut v = self.container_instances.unwrap_or_default(); + v.push(inp.into()); + self.container_instances = Some(v); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_instances = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + /// Consumes the builder and constructs a [`DescribeContainerInstancesInput`](crate::input::DescribeContainerInstancesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DescribeContainerInstancesInput { + cluster: self.cluster, + container_instances: self.container_instances, + include: self.include, + }) + } + } +} +impl DescribeContainerInstancesInput { + /// Consumes the builder and constructs an Operation<[`DescribeContainerInstances`](crate::operation::DescribeContainerInstances)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeContainerInstances, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_describe_container_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeContainerInstances::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeContainerInstances", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeContainerInstances", + )) + } + 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 [`DescribeContainerInstancesInput`](crate::input::DescribeContainerInstancesInput) + pub fn builder() -> crate::input::describe_container_instances_input::Builder { + crate::input::describe_container_instances_input::Builder::default() + } +} + +/// See [`DescribeServicesInput`](crate::input::DescribeServicesInput) +pub mod describe_services_input { + /// A builder for [`DescribeServicesInput`](crate::input::DescribeServicesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) services: std::option::Option>, + pub(crate) include: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. + /// If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are + /// describing were launched in any cluster other than the default cluster.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn services(mut self, inp: impl Into) -> Self { + let mut v = self.services.unwrap_or_default(); + v.push(inp.into()); + self.services = Some(v); + self + } + pub fn set_services( + mut self, + inp: std::option::Option>, + ) -> Self { + self.services = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + /// Consumes the builder and constructs a [`DescribeServicesInput`](crate::input::DescribeServicesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DescribeServicesInput { + cluster: self.cluster, + services: self.services, + include: self.include, + }) + } + } +} +impl DescribeServicesInput { + /// Consumes the builder and constructs an Operation<[`DescribeServices`](crate::operation::DescribeServices)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeServices, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_describe_services(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeServices::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeServices", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeServices", + )) + } + 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 [`DescribeServicesInput`](crate::input::DescribeServicesInput) + pub fn builder() -> crate::input::describe_services_input::Builder { + crate::input::describe_services_input::Builder::default() + } +} + +/// See [`DescribeTaskDefinitionInput`](crate::input::DescribeTaskDefinitionInput) +pub mod describe_task_definition_input { + /// A builder for [`DescribeTaskDefinitionInput`](crate::input::DescribeTaskDefinitionInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition: std::option::Option, + pub(crate) include: std::option::Option>, + } + impl Builder { + ///

      The family for the latest ACTIVE revision, + /// family and revision (family:revision) for a + /// specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to + /// describe.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + /// Consumes the builder and constructs a [`DescribeTaskDefinitionInput`](crate::input::DescribeTaskDefinitionInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DescribeTaskDefinitionInput { + task_definition: self.task_definition, + include: self.include, + }) + } + } +} +impl DescribeTaskDefinitionInput { + /// Consumes the builder and constructs an Operation<[`DescribeTaskDefinition`](crate::operation::DescribeTaskDefinition)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeTaskDefinition, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_describe_task_definition(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeTaskDefinition::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeTaskDefinition", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeTaskDefinition", + )) + } + 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 [`DescribeTaskDefinitionInput`](crate::input::DescribeTaskDefinitionInput) + pub fn builder() -> crate::input::describe_task_definition_input::Builder { + crate::input::describe_task_definition_input::Builder::default() + } +} + +/// See [`DescribeTasksInput`](crate::input::DescribeTasksInput) +pub mod describe_tasks_input { + /// A builder for [`DescribeTasksInput`](crate::input::DescribeTasksInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) tasks: std::option::Option>, + pub(crate) include: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you + /// are describing were launched in any cluster other than the default cluster.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn tasks(mut self, inp: impl Into) -> Self { + let mut v = self.tasks.unwrap_or_default(); + v.push(inp.into()); + self.tasks = Some(v); + self + } + pub fn set_tasks( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tasks = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + /// Consumes the builder and constructs a [`DescribeTasksInput`](crate::input::DescribeTasksInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::DescribeTasksInput { + cluster: self.cluster, + tasks: self.tasks, + include: self.include, + }) + } + } +} +impl DescribeTasksInput { + /// Consumes the builder and constructs an Operation<[`DescribeTasks`](crate::operation::DescribeTasks)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeTasks, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_describe_tasks(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeTasks::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeTasks", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeTasks", + )) + } + 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 [`DescribeTasksInput`](crate::input::DescribeTasksInput) + pub fn builder() -> crate::input::describe_tasks_input::Builder { + crate::input::describe_tasks_input::Builder::default() + } +} + +/// See [`DescribeTaskSetsInput`](crate::input::DescribeTaskSetsInput) +pub mod describe_task_sets_input { + /// A builder for [`DescribeTaskSetsInput`](crate::input::DescribeTaskSetsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service: std::option::Option, + pub(crate) task_sets: std::option::Option>, + pub(crate) include: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// sets exist in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + pub fn task_sets(mut self, inp: impl Into) -> Self { + let mut v = self.task_sets.unwrap_or_default(); + v.push(inp.into()); + self.task_sets = Some(v); + self + } + pub fn set_task_sets( + mut self, + inp: std::option::Option>, + ) -> Self { + self.task_sets = inp; + self + } + pub fn include(mut self, inp: impl Into) -> Self { + let mut v = self.include.unwrap_or_default(); + v.push(inp.into()); + self.include = Some(v); + self + } + pub fn set_include( + mut self, + inp: std::option::Option>, + ) -> Self { + self.include = inp; + self + } + /// Consumes the builder and constructs a [`DescribeTaskSetsInput`](crate::input::DescribeTaskSetsInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DescribeTaskSetsInput { + cluster: self.cluster, + service: self.service, + task_sets: self.task_sets, + include: self.include, + }) + } + } +} +impl DescribeTaskSetsInput { + /// Consumes the builder and constructs an Operation<[`DescribeTaskSets`](crate::operation::DescribeTaskSets)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DescribeTaskSets, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_describe_task_sets(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeTaskSets::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeTaskSets", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DescribeTaskSets", + )) + } + 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 [`DescribeTaskSetsInput`](crate::input::DescribeTaskSetsInput) + pub fn builder() -> crate::input::describe_task_sets_input::Builder { + crate::input::describe_task_sets_input::Builder::default() + } +} + +/// See [`DiscoverPollEndpointInput`](crate::input::DiscoverPollEndpointInput) +pub mod discover_poll_endpoint_input { + /// A builder for [`DiscoverPollEndpointInput`](crate::input::DiscoverPollEndpointInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instance: std::option::Option, + pub(crate) cluster: std::option::Option, + } + 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 AWS 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, inp: impl Into) -> Self { + self.container_instance = Some(inp.into()); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance + /// belongs.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`DiscoverPollEndpointInput`](crate::input::DiscoverPollEndpointInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DiscoverPollEndpointInput { + container_instance: self.container_instance, + cluster: self.cluster, + }) + } + } +} +impl DiscoverPollEndpointInput { + /// Consumes the builder and constructs an Operation<[`DiscoverPollEndpoint`](crate::operation::DiscoverPollEndpoint)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DiscoverPollEndpoint, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_discover_poll_endpoint(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DiscoverPollEndpoint::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DiscoverPollEndpoint", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.DiscoverPollEndpoint", + )) + } + 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 [`DiscoverPollEndpointInput`](crate::input::DiscoverPollEndpointInput) + pub fn builder() -> crate::input::discover_poll_endpoint_input::Builder { + crate::input::discover_poll_endpoint_input::Builder::default() + } +} + +/// See [`ExecuteCommandInput`](crate::input::ExecuteCommandInput) +pub mod execute_command_input { + /// A builder for [`ExecuteCommandInput`](crate::input::ExecuteCommandInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) container: std::option::Option, + pub(crate) command: std::option::Option, + pub(crate) interactive: std::option::Option, + pub(crate) task: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) or short name of the cluster the task is running in. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The name of the container to execute the command on. A container name only needs to be + /// specified for tasks containing multiple containers.

      + pub fn container(mut self, inp: impl Into) -> Self { + self.container = Some(inp.into()); + self + } + pub fn set_container(mut self, inp: std::option::Option) -> Self { + self.container = inp; + self + } + ///

      The command to run on the container.

      + pub fn command(mut self, inp: impl Into) -> Self { + self.command = Some(inp.into()); + self + } + pub fn set_command(mut self, inp: std::option::Option) -> Self { + self.command = inp; + self + } + ///

      Use this flag to run your command in interactive mode.

      + pub fn interactive(mut self, inp: bool) -> Self { + self.interactive = Some(inp); + self + } + pub fn set_interactive(mut self, inp: bool) -> Self { + self.interactive = Some(inp); + self + } + ///

      The Amazon Resource Name (ARN) or ID of the task the container is part of.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.task = Some(inp.into()); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.task = inp; + self + } + /// Consumes the builder and constructs a [`ExecuteCommandInput`](crate::input::ExecuteCommandInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ExecuteCommandInput { + cluster: self.cluster, + container: self.container, + command: self.command, + interactive: self.interactive.unwrap_or_default(), + task: self.task, + }) + } + } +} +impl ExecuteCommandInput { + /// Consumes the builder and constructs an Operation<[`ExecuteCommand`](crate::operation::ExecuteCommand)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ExecuteCommand, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_execute_command(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ExecuteCommand::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ExecuteCommand", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ExecuteCommand", + )) + } + 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 [`ExecuteCommandInput`](crate::input::ExecuteCommandInput) + pub fn builder() -> crate::input::execute_command_input::Builder { + crate::input::execute_command_input::Builder::default() + } +} + +/// See [`ListAccountSettingsInput`](crate::input::ListAccountSettingsInput) +pub mod list_account_settings_input { + /// A builder for [`ListAccountSettingsInput`](crate::input::ListAccountSettingsInput) + #[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) value: std::option::Option, + pub(crate) principal_arn: std::option::Option, + pub(crate) effective_settings: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + } + impl Builder { + ///

      The name of the account setting you want to list the settings for.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The value of the account settings with which to filter results. You must also specify + /// an account setting name to use this parameter.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + /// this field is omitted, the account settings are listed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.principal_arn = Some(inp.into()); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.principal_arn = inp; + self + } + ///

      Specifies whether to return the effective settings. If true, the account + /// settings for the root user or the default setting for the principalArn are + /// returned. If false, the account settings for the principalArn + /// are returned if they are set. Otherwise, no account settings are returned.

      + pub fn effective_settings(mut self, inp: bool) -> Self { + self.effective_settings = Some(inp); + self + } + pub fn set_effective_settings(mut self, inp: bool) -> Self { + self.effective_settings = Some(inp); + self + } + ///

      The nextToken value returned from a ListAccountSettings + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of account setting results returned by + /// ListAccountSettings in paginated output. When this parameter is used, + /// ListAccountSettings only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListAccountSettings + /// request with the returned nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then ListAccountSettings returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + /// Consumes the builder and constructs a [`ListAccountSettingsInput`](crate::input::ListAccountSettingsInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ListAccountSettingsInput { + name: self.name, + value: self.value, + principal_arn: self.principal_arn, + effective_settings: self.effective_settings.unwrap_or_default(), + next_token: self.next_token, + max_results: self.max_results.unwrap_or_default(), + }) + } + } +} +impl ListAccountSettingsInput { + /// Consumes the builder and constructs an Operation<[`ListAccountSettings`](crate::operation::ListAccountSettings)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListAccountSettings, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_list_account_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListAccountSettings::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListAccountSettings", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListAccountSettings", + )) + } + 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 [`ListAccountSettingsInput`](crate::input::ListAccountSettingsInput) + pub fn builder() -> crate::input::list_account_settings_input::Builder { + crate::input::list_account_settings_input::Builder::default() + } +} + +/// See [`ListAttributesInput`](crate::input::ListAttributesInput) +pub mod list_attributes_input { + /// A builder for [`ListAttributesInput`](crate::input::ListAttributesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) target_type: std::option::Option, + pub(crate) attribute_name: std::option::Option, + pub(crate) attribute_value: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The type of the target with which to list attributes.

      + pub fn target_type(mut self, inp: crate::model::TargetType) -> Self { + self.target_type = Some(inp); + self + } + pub fn set_target_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.target_type = inp; + self + } + ///

      The name of the attribute with which to filter the results.

      + pub fn attribute_name(mut self, inp: impl Into) -> Self { + self.attribute_name = Some(inp.into()); + self + } + pub fn set_attribute_name(mut self, inp: std::option::Option) -> Self { + self.attribute_name = inp; + self + } + ///

      The value of the attribute with which to filter results. You must also specify an + /// attribute name to use this parameter.

      + pub fn attribute_value(mut self, inp: impl Into) -> Self { + self.attribute_value = Some(inp.into()); + self + } + pub fn set_attribute_value( + mut self, + inp: std::option::Option, + ) -> Self { + self.attribute_value = inp; + self + } + ///

      The nextToken value returned from a ListAttributes request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of cluster results returned by ListAttributes in + /// paginated output. When this parameter is used, ListAttributes only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListAttributes request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListAttributes returns up to + /// 100 results and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + /// Consumes the builder and constructs a [`ListAttributesInput`](crate::input::ListAttributesInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ListAttributesInput { + cluster: self.cluster, + target_type: self.target_type, + attribute_name: self.attribute_name, + attribute_value: self.attribute_value, + next_token: self.next_token, + max_results: self.max_results, + }) + } + } +} +impl ListAttributesInput { + /// Consumes the builder and constructs an Operation<[`ListAttributes`](crate::operation::ListAttributes)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListAttributes, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_list_attributes(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListAttributes::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListAttributes", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListAttributes", + )) + } + 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 [`ListAttributesInput`](crate::input::ListAttributesInput) + pub fn builder() -> crate::input::list_attributes_input::Builder { + crate::input::list_attributes_input::Builder::default() + } +} + +/// See [`ListClustersInput`](crate::input::ListClustersInput) +pub mod list_clusters_input { + /// A builder for [`ListClustersInput`](crate::input::ListClustersInput) + #[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) max_results: std::option::Option, + } + impl Builder { + ///

      The nextToken value returned from a ListClusters request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of cluster results returned by ListClusters in + /// paginated output. When this parameter is used, ListClusters only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListClusters request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListClusters returns up to + /// 100 results and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + /// Consumes the builder and constructs a [`ListClustersInput`](crate::input::ListClustersInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ListClustersInput { + next_token: self.next_token, + max_results: self.max_results, + }) + } + } +} +impl ListClustersInput { + /// Consumes the builder and constructs an Operation<[`ListClusters`](crate::operation::ListClusters)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListClusters, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_clusters(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListClusters::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("ListClusters", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListClusters", + )) + } + 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 [`ListClustersInput`](crate::input::ListClustersInput) + pub fn builder() -> crate::input::list_clusters_input::Builder { + crate::input::list_clusters_input::Builder::default() + } +} + +/// See [`ListContainerInstancesInput`](crate::input::ListContainerInstancesInput) +pub mod list_container_instances_input { + /// A builder for [`ListContainerInstancesInput`](crate::input::ListContainerInstancesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) filter: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) status: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// list. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      You can filter the results of a ListContainerInstances operation with + /// cluster query language statements. For more information, see Cluster Query Language in the + /// Amazon Elastic Container Service Developer Guide.

      + pub fn filter(mut self, inp: impl Into) -> Self { + self.filter = Some(inp.into()); + self + } + pub fn set_filter(mut self, inp: std::option::Option) -> Self { + self.filter = inp; + self + } + ///

      The nextToken value returned from a ListContainerInstances + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of container instance results returned by + /// ListContainerInstances in paginated output. When this parameter is + /// used, ListContainerInstances only returns maxResults results + /// in a single page along with a nextToken response element. The remaining + /// results of the initial request can be seen by sending another + /// ListContainerInstances request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListContainerInstances returns up to + /// 100 results and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + ///

      Filters the container instances by status. For example, if you specify the + /// DRAINING status, the results include only container instances that have + /// been set to DRAINING using UpdateContainerInstancesState. + /// If you do not specify this parameter, the default is to include container instances set + /// to all states other than INACTIVE.

      + pub fn status(mut self, inp: crate::model::ContainerInstanceStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + /// Consumes the builder and constructs a [`ListContainerInstancesInput`](crate::input::ListContainerInstancesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ListContainerInstancesInput { + cluster: self.cluster, + filter: self.filter, + next_token: self.next_token, + max_results: self.max_results, + status: self.status, + }) + } + } +} +impl ListContainerInstancesInput { + /// Consumes the builder and constructs an Operation<[`ListContainerInstances`](crate::operation::ListContainerInstances)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListContainerInstances, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_list_container_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListContainerInstances::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListContainerInstances", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListContainerInstances", + )) + } + 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 [`ListContainerInstancesInput`](crate::input::ListContainerInstancesInput) + pub fn builder() -> crate::input::list_container_instances_input::Builder { + crate::input::list_container_instances_input::Builder::default() + } +} + +/// See [`ListServicesInput`](crate::input::ListServicesInput) +pub mod list_services_input { + /// A builder for [`ListServicesInput`](crate::input::ListServicesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) launch_type: std::option::Option, + pub(crate) scheduling_strategy: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListServices results. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The nextToken value returned from a ListServices request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of service results returned by ListServices in + /// paginated output. When this parameter is used, ListServices only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListServices request with the returned nextToken + /// value. This value can be between 1 and 100. If + /// this parameter is not used, then ListServices returns up to + /// 10 results and a nextToken value if + /// applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + ///

      The launch type to use when filtering the ListServices results.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + ///

      The scheduling strategy to use when filtering the ListServices + /// results.

      + pub fn scheduling_strategy(mut self, inp: crate::model::SchedulingStrategy) -> Self { + self.scheduling_strategy = Some(inp); + self + } + pub fn set_scheduling_strategy( + mut self, + inp: std::option::Option, + ) -> Self { + self.scheduling_strategy = inp; + self + } + /// Consumes the builder and constructs a [`ListServicesInput`](crate::input::ListServicesInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ListServicesInput { + cluster: self.cluster, + next_token: self.next_token, + max_results: self.max_results, + launch_type: self.launch_type, + scheduling_strategy: self.scheduling_strategy, + }) + } + } +} +impl ListServicesInput { + /// Consumes the builder and constructs an Operation<[`ListServices`](crate::operation::ListServices)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListServices, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_services(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListServices::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("ListServices", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListServices", + )) + } + 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 [`ListServicesInput`](crate::input::ListServicesInput) + pub fn builder() -> crate::input::list_services_input::Builder { + crate::input::list_services_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) that identifies the resource for which to list the tags. Currently, the + /// supported resources are Amazon ECS tasks, services, task definitions, clusters, and container + /// instances.

      + pub fn resource_arn(mut self, inp: impl Into) -> Self { + self.resource_arn = Some(inp.into()); + self + } + pub fn set_resource_arn(mut self, inp: std::option::Option) -> Self { + self.resource_arn = inp; + self + } + /// Consumes the builder and constructs a [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ListTagsForResourceInput { + resource_arn: self.resource_arn, + }) + } + } +} +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, + ) -> 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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_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", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListTagsForResource", + )) + } + 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 [`ListTaskDefinitionFamiliesInput`](crate::input::ListTaskDefinitionFamiliesInput) +pub mod list_task_definition_families_input { + /// A builder for [`ListTaskDefinitionFamiliesInput`](crate::input::ListTaskDefinitionFamiliesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) family_prefix: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + } + impl Builder { + ///

      The familyPrefix is a string that is used to filter the results of + /// ListTaskDefinitionFamilies. If you specify a familyPrefix, + /// only task definition family names that begin with the familyPrefix string + /// are returned.

      + pub fn family_prefix(mut self, inp: impl Into) -> Self { + self.family_prefix = Some(inp.into()); + self + } + pub fn set_family_prefix(mut self, inp: std::option::Option) -> Self { + self.family_prefix = inp; + self + } + ///

      The task definition family status with which to filter the + /// ListTaskDefinitionFamilies results. By default, both + /// ACTIVE and INACTIVE task definition families are listed. + /// If this parameter is set to ACTIVE, only task definition families that have + /// an ACTIVE task definition revision are returned. If this parameter is set + /// to INACTIVE, only task definition families that do not have any + /// ACTIVE task definition revisions are returned. If you paginate the + /// resulting output, be sure to keep the status value constant in each + /// subsequent request.

      + pub fn status(mut self, inp: crate::model::TaskDefinitionFamilyStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + ///

      The nextToken value returned from a + /// ListTaskDefinitionFamilies request indicating that more results are + /// available to fulfill the request and further calls will be needed. If + /// maxResults was provided, it is possible the number of results to be + /// fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of task definition family results returned by + /// ListTaskDefinitionFamilies in paginated output. When this parameter is + /// used, ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another + /// ListTaskDefinitionFamilies request with the returned + /// nextToken value. This value can be between 1 and + /// 100. If this parameter is not used, then + /// ListTaskDefinitionFamilies returns up to 100 results + /// and a nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + /// Consumes the builder and constructs a [`ListTaskDefinitionFamiliesInput`](crate::input::ListTaskDefinitionFamiliesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ListTaskDefinitionFamiliesInput { + family_prefix: self.family_prefix, + status: self.status, + next_token: self.next_token, + max_results: self.max_results, + }) + } + } +} +impl ListTaskDefinitionFamiliesInput { + /// Consumes the builder and constructs an Operation<[`ListTaskDefinitionFamilies`](crate::operation::ListTaskDefinitionFamilies)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListTaskDefinitionFamilies, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_task_definition_families(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListTaskDefinitionFamilies::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListTaskDefinitionFamilies", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListTaskDefinitionFamilies", + )) + } + 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 [`ListTaskDefinitionFamiliesInput`](crate::input::ListTaskDefinitionFamiliesInput) + pub fn builder() -> crate::input::list_task_definition_families_input::Builder { + crate::input::list_task_definition_families_input::Builder::default() + } +} + +/// See [`ListTaskDefinitionsInput`](crate::input::ListTaskDefinitionsInput) +pub mod list_task_definitions_input { + /// A builder for [`ListTaskDefinitionsInput`](crate::input::ListTaskDefinitionsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) family_prefix: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) sort: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + } + impl Builder { + ///

      The full family name with which to filter the ListTaskDefinitions + /// results. Specifying a familyPrefix limits the listed task definitions to + /// task definition revisions that belong to that family.

      + pub fn family_prefix(mut self, inp: impl Into) -> Self { + self.family_prefix = Some(inp.into()); + self + } + pub fn set_family_prefix(mut self, inp: std::option::Option) -> Self { + self.family_prefix = inp; + self + } + ///

      The task definition status with which to filter the ListTaskDefinitions + /// results. By default, only ACTIVE task definitions are listed. By setting + /// this parameter to INACTIVE, you can view task definitions that are + /// INACTIVE as long as an active task or service still references them. If + /// you paginate the resulting output, be sure to keep the status value + /// constant in each subsequent request.

      + pub fn status(mut self, inp: crate::model::TaskDefinitionStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + ///

      The order in which to sort the results. Valid values are ASC and + /// DESC. By default (ASC), task definitions are listed + /// lexicographically by family name and in ascending numerical order by revision so that + /// the newest task definitions in a family are listed last. Setting this parameter to + /// DESC reverses the sort order on family name and revision so that the + /// newest task definitions in a family are listed first.

      + pub fn sort(mut self, inp: crate::model::SortOrder) -> Self { + self.sort = Some(inp); + self + } + pub fn set_sort(mut self, inp: std::option::Option) -> Self { + self.sort = inp; + self + } + ///

      The nextToken value returned from a ListTaskDefinitions + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of task definition results returned by + /// ListTaskDefinitions in paginated output. When this parameter is used, + /// ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListTaskDefinitions + /// request with the returned nextToken value. This value can be between + /// 1 and 100. If this parameter is not used, then + /// ListTaskDefinitions returns up to 100 results and a + /// nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + /// Consumes the builder and constructs a [`ListTaskDefinitionsInput`](crate::input::ListTaskDefinitionsInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ListTaskDefinitionsInput { + family_prefix: self.family_prefix, + status: self.status, + sort: self.sort, + next_token: self.next_token, + max_results: self.max_results, + }) + } + } +} +impl ListTaskDefinitionsInput { + /// Consumes the builder and constructs an Operation<[`ListTaskDefinitions`](crate::operation::ListTaskDefinitions)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListTaskDefinitions, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_list_task_definitions(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListTaskDefinitions::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListTaskDefinitions", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListTaskDefinitions", + )) + } + 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 [`ListTaskDefinitionsInput`](crate::input::ListTaskDefinitionsInput) + pub fn builder() -> crate::input::list_task_definitions_input::Builder { + crate::input::list_task_definitions_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) cluster: std::option::Option, + pub(crate) container_instance: std::option::Option, + pub(crate) family: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) started_by: std::option::Option, + pub(crate) service_name: std::option::Option, + pub(crate) desired_status: std::option::Option, + pub(crate) launch_type: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListTasks results. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The container instance ID or full ARN of the container instance to use when + /// filtering the ListTasks results. Specifying a + /// containerInstance limits the results to tasks that belong to that + /// container instance.

      + pub fn container_instance(mut self, inp: impl Into) -> Self { + self.container_instance = Some(inp.into()); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + ///

      The name of the task definition family to use when filtering the + /// ListTasks results. Specifying a family limits the results + /// to tasks that belong to that family.

      + pub fn family(mut self, inp: impl Into) -> Self { + self.family = Some(inp.into()); + self + } + pub fn set_family(mut self, inp: std::option::Option) -> Self { + self.family = inp; + self + } + ///

      The nextToken value returned from a ListTasks request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

      The maximum number of task results returned by ListTasks in paginated + /// output. When this parameter is used, ListTasks only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListTasks request with the returned nextToken value. + /// This value can be between 1 and 100. If this parameter is + /// not used, then ListTasks returns up to 100 results and a + /// nextToken value if applicable.

      + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + ///

      The startedBy value with which to filter the task results. Specifying a + /// startedBy value limits the results to tasks that were started with that + /// value.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.started_by = Some(inp.into()); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.started_by = inp; + self + } + ///

      The name of the service to use when filtering the ListTasks results. + /// Specifying a serviceName limits the results to tasks that belong to that + /// service.

      + pub fn service_name(mut self, inp: impl Into) -> Self { + self.service_name = Some(inp.into()); + self + } + pub fn set_service_name(mut self, inp: std::option::Option) -> Self { + self.service_name = inp; + self + } + ///

      The task desired status to use when filtering the ListTasks results. + /// Specifying a desiredStatus of STOPPED limits the results to + /// tasks that Amazon ECS has set the desired status to STOPPED. This can be useful + /// for debugging tasks that are not starting properly or have died or finished. The default + /// status filter is RUNNING, which shows tasks that Amazon ECS has set the desired + /// status to RUNNING.

      + /// + ///

      Although you can filter results based on a desired status of PENDING, + /// this does not return any results. Amazon ECS never sets the desired status of a task to + /// that value (only a task's lastStatus may have a value of + /// PENDING).

      + ///
      + pub fn desired_status(mut self, inp: crate::model::DesiredStatus) -> Self { + self.desired_status = Some(inp); + self + } + pub fn set_desired_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.desired_status = inp; + self + } + ///

      The launch type to use when filtering the ListTasks results.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + /// Consumes the builder and constructs a [`ListTasksInput`](crate::input::ListTasksInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ListTasksInput { + cluster: self.cluster, + container_instance: self.container_instance, + family: self.family, + next_token: self.next_token, + max_results: self.max_results, + started_by: self.started_by, + service_name: self.service_name, + desired_status: self.desired_status, + launch_type: self.launch_type, + }) + } + } +} +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, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListTasks, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_tasks(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_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", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.ListTasks", + )) + } + 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 [`PutAccountSettingInput`](crate::input::PutAccountSettingInput) +pub mod put_account_setting_input { + /// A builder for [`PutAccountSettingInput`](crate::input::PutAccountSettingInput) + #[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) value: std::option::Option, + pub(crate) principal_arn: std::option::Option, + } + impl Builder { + ///

      The Amazon ECS resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the elastic network interface (ENI) limit + /// for your Amazon ECS container instances is affected. If containerInsights is + /// specified, the default setting for CloudWatch Container Insights for your clusters is + /// affected.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it modifies the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.principal_arn = Some(inp.into()); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.principal_arn = inp; + self + } + /// Consumes the builder and constructs a [`PutAccountSettingInput`](crate::input::PutAccountSettingInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::PutAccountSettingInput { + name: self.name, + value: self.value, + principal_arn: self.principal_arn, + }) + } + } +} +impl PutAccountSettingInput { + /// Consumes the builder and constructs an Operation<[`PutAccountSetting`](crate::operation::PutAccountSetting)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::PutAccountSetting, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_put_account_setting(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PutAccountSetting::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "PutAccountSetting", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.PutAccountSetting", + )) + } + 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 [`PutAccountSettingInput`](crate::input::PutAccountSettingInput) + pub fn builder() -> crate::input::put_account_setting_input::Builder { + crate::input::put_account_setting_input::Builder::default() + } +} + +/// See [`PutAccountSettingDefaultInput`](crate::input::PutAccountSettingDefaultInput) +pub mod put_account_setting_default_input { + /// A builder for [`PutAccountSettingDefaultInput`](crate::input::PutAccountSettingDefaultInput) + #[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) value: std::option::Option, + } + impl Builder { + ///

      The resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected. If containerInsights is specified, the default + /// setting for CloudWatch Container Insights for your clusters is affected.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + /// Consumes the builder and constructs a [`PutAccountSettingDefaultInput`](crate::input::PutAccountSettingDefaultInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::PutAccountSettingDefaultInput { + name: self.name, + value: self.value, + }) + } + } +} +impl PutAccountSettingDefaultInput { + /// Consumes the builder and constructs an Operation<[`PutAccountSettingDefault`](crate::operation::PutAccountSettingDefault)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::PutAccountSettingDefault, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_put_account_setting_default(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PutAccountSettingDefault::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "PutAccountSettingDefault", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.PutAccountSettingDefault", + )) + } + 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 [`PutAccountSettingDefaultInput`](crate::input::PutAccountSettingDefaultInput) + pub fn builder() -> crate::input::put_account_setting_default_input::Builder { + crate::input::put_account_setting_default_input::Builder::default() + } +} + +/// See [`PutAttributesInput`](crate::input::PutAttributesInput) +pub mod put_attributes_input { + /// A builder for [`PutAttributesInput`](crate::input::PutAttributesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) attributes: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply + /// attributes. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`PutAttributesInput`](crate::input::PutAttributesInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::PutAttributesInput { + cluster: self.cluster, + attributes: self.attributes, + }) + } + } +} +impl PutAttributesInput { + /// Consumes the builder and constructs an Operation<[`PutAttributes`](crate::operation::PutAttributes)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::PutAttributes, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_put_attributes(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PutAttributes::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "PutAttributes", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.PutAttributes", + )) + } + 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 [`PutAttributesInput`](crate::input::PutAttributesInput) + pub fn builder() -> crate::input::put_attributes_input::Builder { + crate::input::put_attributes_input::Builder::default() + } +} + +/// See [`PutClusterCapacityProvidersInput`](crate::input::PutClusterCapacityProvidersInput) +pub mod put_cluster_capacity_providers_input { + /// A builder for [`PutClusterCapacityProvidersInput`](crate::input::PutClusterCapacityProvidersInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) capacity_providers: std::option::Option>, + pub(crate) default_capacity_provider_strategy: + std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider + /// settings for. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + let mut v = self.capacity_providers.unwrap_or_default(); + v.push(inp.into()); + self.capacity_providers = Some(v); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_providers = inp; + self + } + pub fn default_capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.default_capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.default_capacity_provider_strategy = Some(v); + self + } + pub fn set_default_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.default_capacity_provider_strategy = inp; + self + } + /// Consumes the builder and constructs a [`PutClusterCapacityProvidersInput`](crate::input::PutClusterCapacityProvidersInput) + pub fn build( + self, + ) -> Result< + crate::input::PutClusterCapacityProvidersInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::PutClusterCapacityProvidersInput { + cluster: self.cluster, + capacity_providers: self.capacity_providers, + default_capacity_provider_strategy: self.default_capacity_provider_strategy, + }) + } + } +} +impl PutClusterCapacityProvidersInput { + /// Consumes the builder and constructs an Operation<[`PutClusterCapacityProviders`](crate::operation::PutClusterCapacityProviders)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::PutClusterCapacityProviders, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_put_cluster_capacity_providers(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PutClusterCapacityProviders::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "PutClusterCapacityProviders", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.PutClusterCapacityProviders", + )) + } + 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 [`PutClusterCapacityProvidersInput`](crate::input::PutClusterCapacityProvidersInput) + pub fn builder() -> crate::input::put_cluster_capacity_providers_input::Builder { + crate::input::put_cluster_capacity_providers_input::Builder::default() + } +} + +/// See [`RegisterContainerInstanceInput`](crate::input::RegisterContainerInstanceInput) +pub mod register_container_instance_input { + /// A builder for [`RegisterContainerInstanceInput`](crate::input::RegisterContainerInstanceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) instance_identity_document: std::option::Option, + pub(crate) instance_identity_document_signature: std::option::Option, + pub(crate) total_resources: std::option::Option>, + pub(crate) version_info: std::option::Option, + pub(crate) container_instance_arn: std::option::Option, + pub(crate) attributes: std::option::Option>, + pub(crate) platform_devices: + std::option::Option>, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container + /// instance. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The instance identity document for the EC2 instance to register. This document can be + /// found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/document/ + ///

      + pub fn instance_identity_document(mut self, inp: impl Into) -> Self { + self.instance_identity_document = Some(inp.into()); + self + } + pub fn set_instance_identity_document( + mut self, + inp: std::option::Option, + ) -> Self { + self.instance_identity_document = inp; + self + } + ///

      The instance identity document signature for the EC2 instance to register. This + /// signature can be found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/signature/ + ///

      + pub fn instance_identity_document_signature( + mut self, + inp: impl Into, + ) -> Self { + self.instance_identity_document_signature = Some(inp.into()); + self + } + pub fn set_instance_identity_document_signature( + mut self, + inp: std::option::Option, + ) -> Self { + self.instance_identity_document_signature = inp; + self + } + pub fn total_resources(mut self, inp: impl Into) -> Self { + let mut v = self.total_resources.unwrap_or_default(); + v.push(inp.into()); + self.total_resources = Some(v); + self + } + pub fn set_total_resources( + mut self, + inp: std::option::Option>, + ) -> Self { + self.total_resources = inp; + self + } + ///

      The version information for the Amazon ECS container agent and Docker daemon running on the + /// container instance.

      + pub fn version_info(mut self, inp: crate::model::VersionInfo) -> Self { + self.version_info = Some(inp); + self + } + pub fn set_version_info( + mut self, + inp: std::option::Option, + ) -> Self { + self.version_info = inp; + self + } + ///

      The ARN of the container instance (if it was previously registered).

      + pub fn container_instance_arn(mut self, inp: impl Into) -> Self { + self.container_instance_arn = Some(inp.into()); + self + } + pub fn set_container_instance_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance_arn = inp; + self + } + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + pub fn platform_devices(mut self, inp: impl Into) -> Self { + let mut v = self.platform_devices.unwrap_or_default(); + v.push(inp.into()); + self.platform_devices = Some(v); + self + } + pub fn set_platform_devices( + mut self, + inp: std::option::Option>, + ) -> Self { + self.platform_devices = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`RegisterContainerInstanceInput`](crate::input::RegisterContainerInstanceInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::RegisterContainerInstanceInput { + cluster: self.cluster, + instance_identity_document: self.instance_identity_document, + instance_identity_document_signature: self.instance_identity_document_signature, + total_resources: self.total_resources, + version_info: self.version_info, + container_instance_arn: self.container_instance_arn, + attributes: self.attributes, + platform_devices: self.platform_devices, + tags: self.tags, + }) + } + } +} +impl RegisterContainerInstanceInput { + /// Consumes the builder and constructs an Operation<[`RegisterContainerInstance`](crate::operation::RegisterContainerInstance)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::RegisterContainerInstance, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_register_container_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::RegisterContainerInstance::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "RegisterContainerInstance", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.RegisterContainerInstance", + )) + } + 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 [`RegisterContainerInstanceInput`](crate::input::RegisterContainerInstanceInput) + pub fn builder() -> crate::input::register_container_instance_input::Builder { + crate::input::register_container_instance_input::Builder::default() + } +} + +/// See [`RegisterTaskDefinitionInput`](crate::input::RegisterTaskDefinitionInput) +pub mod register_task_definition_input { + /// A builder for [`RegisterTaskDefinitionInput`](crate::input::RegisterTaskDefinitionInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) family: std::option::Option, + pub(crate) task_role_arn: std::option::Option, + pub(crate) execution_role_arn: std::option::Option, + pub(crate) network_mode: std::option::Option, + pub(crate) container_definitions: + std::option::Option>, + pub(crate) volumes: std::option::Option>, + pub(crate) placement_constraints: + std::option::Option>, + pub(crate) requires_compatibilities: + std::option::Option>, + pub(crate) cpu: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) pid_mode: std::option::Option, + pub(crate) ipc_mode: std::option::Option, + pub(crate) proxy_configuration: std::option::Option, + pub(crate) inference_accelerators: + std::option::Option>, + pub(crate) ephemeral_storage: std::option::Option, + } + impl Builder { + ///

      You must specify a family for a task definition, which allows you to + /// track multiple versions of the same task definition. The family is used as + /// a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

      + pub fn family(mut self, inp: impl Into) -> Self { + self.family = Some(inp.into()); + self + } + pub fn set_family(mut self, inp: std::option::Option) -> Self { + self.family = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can + /// assume. All containers in this task are granted the permissions that are specified in + /// this role. For more information, see IAM Roles for + /// Tasks in the Amazon Elastic Container Service Developer Guide.

      + pub fn task_role_arn(mut self, inp: impl Into) -> Self { + self.task_role_arn = Some(inp.into()); + self + } + pub fn set_task_role_arn(mut self, inp: std::option::Option) -> Self { + self.task_role_arn = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + /// permission to make AWS API calls on your behalf. The task execution IAM role is required + /// depending on the requirements of your task. For more information, see Amazon ECS task + /// execution IAM role in the Amazon Elastic Container Service Developer Guide.

      + pub fn execution_role_arn(mut self, inp: impl Into) -> Self { + self.execution_role_arn = Some(inp.into()); + self + } + pub fn set_execution_role_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.execution_role_arn = inp; + self + } + ///

      The Docker networking mode to use for the containers in the task. The valid values are + /// none, bridge, awsvpc, and host. + /// If no network mode is specified, the default is bridge.

      + ///

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + /// For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + /// mode is set to none, you cannot specify port mappings in your container + /// definitions, and the tasks containers do not have external connectivity. The + /// host and awsvpc network modes offer the highest networking + /// performance for containers because they use the EC2 network stack instead of the + /// virtualized network stack provided by the bridge mode.

      + ///

      With the host and awsvpc network modes, exposed container + /// ports are mapped directly to the corresponding host port (for the host + /// network mode) or the attached elastic network interface port (for the + /// awsvpc network mode), so you cannot take advantage of dynamic host port + /// mappings.

      + /// + ///

      When using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice + /// to use a non-root user.

      + ///
      + ///

      If the network mode is awsvpc, the task is allocated an elastic network + /// interface, and you must specify a NetworkConfiguration value when you create + /// a service or run a task with the task definition. For more information, see Task Networking in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + /// ecs-init package, or AWS Fargate infrastructure support the + /// awsvpc network mode.

      + ///
      + ///

      If the network mode is host, you cannot run multiple instantiations of the + /// same task on a single container instance when port mappings are used.

      + ///

      Docker for Windows uses different network modes than Docker for Linux. When you + /// register a task definition with Windows containers, you must not specify a network mode. + /// If you use the console to register a task definition with Windows containers, you must + /// choose the network mode object.

      + ///

      For more information, see Network + /// settings in the Docker run reference.

      + pub fn network_mode(mut self, inp: crate::model::NetworkMode) -> Self { + self.network_mode = Some(inp); + self + } + pub fn set_network_mode( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_mode = inp; + self + } + pub fn container_definitions( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.container_definitions.unwrap_or_default(); + v.push(inp.into()); + self.container_definitions = Some(v); + self + } + pub fn set_container_definitions( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_definitions = inp; + self + } + pub fn volumes(mut self, inp: impl Into) -> Self { + let mut v = self.volumes.unwrap_or_default(); + v.push(inp.into()); + self.volumes = Some(v); + self + } + pub fn set_volumes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.volumes = inp; + self + } + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_constraints.unwrap_or_default(); + v.push(inp.into()); + self.placement_constraints = Some(v); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.placement_constraints = inp; + self + } + pub fn requires_compatibilities( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.requires_compatibilities.unwrap_or_default(); + v.push(inp.into()); + self.requires_compatibilities = Some(v); + self + } + pub fn set_requires_compatibilities( + mut self, + inp: std::option::Option>, + ) -> Self { + self.requires_compatibilities = inp; + self + } + ///

      The number of CPU units used by the task. It can be expressed as an integer using CPU + /// units, for example 1024, or as a string using vCPUs, for example 1 + /// vCPU or 1 vcpu, in a task definition. String values are + /// converted to an integer indicating the CPU units when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If you are using the EC2 launch type, this field is optional. Supported + /// values are between 128 CPU units (0.125 vCPUs) and + /// 10240 CPU units (10 vCPUs).

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + pub fn cpu(mut self, inp: impl Into) -> Self { + self.cpu = Some(inp.into()); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.cpu = inp; + self + } + ///

      The amount of memory (in MiB) used by the task. It can be expressed as an integer + /// using MiB, for example 1024, or as a string using GB, for example + /// 1GB or 1 GB, in a task definition. String values are + /// converted to an integer indicating the MiB when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If using the EC2 launch type, this field is optional.

      + ///

      If using the Fargate launch type, this field is required and you must + /// use one of the following values, which determines your range of supported values for the + /// cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + pub fn memory(mut self, inp: impl Into) -> Self { + self.memory = Some(inp.into()); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + ///

      The process namespace to use for the containers in the task. The valid + /// values are host or task. If host + /// is specified, then all containers within the tasks that specified the + /// host PID mode on the same container instance share the + /// same process namespace with the host Amazon EC2 instance. If task is + /// specified, all containers within the specified task share the same + /// process namespace. If no value is specified, the default is a private + /// namespace. For more information, see PID settings in the Docker run + /// reference.

      + ///

      If the host PID mode is used, be aware that there is a + /// heightened risk of undesired process namespace expose. For more + /// information, see Docker + /// security.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn pid_mode(mut self, inp: crate::model::PidMode) -> Self { + self.pid_mode = Some(inp); + self + } + pub fn set_pid_mode(mut self, inp: std::option::Option) -> Self { + self.pid_mode = inp; + self + } + ///

      The IPC resource namespace to use for the containers in the task. The valid values are + /// host, task, or none. If host is + /// specified, then all containers within the tasks that specified the host IPC + /// mode on the same container instance share the same IPC resources with the host Amazon EC2 + /// instance. If task is specified, all containers within the specified task + /// share the same IPC resources. If none is specified, then IPC resources + /// within the containers of a task are private and not shared with other containers in a + /// task or on the container instance. If no value is specified, then the IPC resource + /// namespace sharing depends on the Docker daemon setting on the container instance. For + /// more information, see IPC + /// settings in the Docker run reference.

      + ///

      If the host IPC mode is used, be aware that there is a heightened risk of + /// undesired IPC namespace expose. For more information, see Docker + /// security.

      + ///

      If you are setting namespaced kernel parameters using systemControls for + /// the containers in the task, the following will apply to your IPC resource namespace. For + /// more information, see System + /// Controls in the Amazon Elastic Container Service Developer Guide.

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

        For tasks that use the host IPC mode, IPC namespace related + /// systemControls are not supported.

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

        For tasks that use the task IPC mode, IPC namespace related + /// systemControls will apply to all containers within a + /// task.

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

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn ipc_mode(mut self, inp: crate::model::IpcMode) -> Self { + self.ipc_mode = Some(inp); + self + } + pub fn set_ipc_mode(mut self, inp: std::option::Option) -> Self { + self.ipc_mode = inp; + self + } + ///

      The configuration details for the App Mesh proxy.

      + ///

      For tasks hosted on Amazon EC2 instances, the container instances require at least version + /// 1.26.0 of the container agent and at least version + /// 1.26.0-1 of the ecs-init package to enable a proxy + /// configuration. If your container instances are launched from the Amazon ECS-optimized + /// AMI version 20190301 or later, then they contain the required versions of + /// the container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the + /// Amazon Elastic Container Service Developer Guide.

      + pub fn proxy_configuration(mut self, inp: crate::model::ProxyConfiguration) -> Self { + self.proxy_configuration = Some(inp); + self + } + pub fn set_proxy_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.proxy_configuration = inp; + self + } + pub fn inference_accelerators( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.inference_accelerators.unwrap_or_default(); + v.push(inp.into()); + self.inference_accelerators = Some(v); + self + } + pub fn set_inference_accelerators( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inference_accelerators = inp; + self + } + ///

      The amount of ephemeral storage to allocate for the task. This parameter is used to + /// expand the total amount of ephemeral storage available, beyond the default amount, for + /// tasks hosted on AWS Fargate. For more information, see Fargate task + /// storage in the Amazon ECS User Guide for AWS Fargate.

      + /// + ///

      This parameter is only supported for tasks hosted on AWS Fargate using platform + /// version 1.4.0 or later.

      + ///
      + pub fn ephemeral_storage(mut self, inp: crate::model::EphemeralStorage) -> Self { + self.ephemeral_storage = Some(inp); + self + } + pub fn set_ephemeral_storage( + mut self, + inp: std::option::Option, + ) -> Self { + self.ephemeral_storage = inp; + self + } + /// Consumes the builder and constructs a [`RegisterTaskDefinitionInput`](crate::input::RegisterTaskDefinitionInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::RegisterTaskDefinitionInput { + family: self.family, + task_role_arn: self.task_role_arn, + execution_role_arn: self.execution_role_arn, + network_mode: self.network_mode, + container_definitions: self.container_definitions, + volumes: self.volumes, + placement_constraints: self.placement_constraints, + requires_compatibilities: self.requires_compatibilities, + cpu: self.cpu, + memory: self.memory, + tags: self.tags, + pid_mode: self.pid_mode, + ipc_mode: self.ipc_mode, + proxy_configuration: self.proxy_configuration, + inference_accelerators: self.inference_accelerators, + ephemeral_storage: self.ephemeral_storage, + }) + } + } +} +impl RegisterTaskDefinitionInput { + /// Consumes the builder and constructs an Operation<[`RegisterTaskDefinition`](crate::operation::RegisterTaskDefinition)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::RegisterTaskDefinition, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_register_task_definition(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::RegisterTaskDefinition::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "RegisterTaskDefinition", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.RegisterTaskDefinition", + )) + } + 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 [`RegisterTaskDefinitionInput`](crate::input::RegisterTaskDefinitionInput) + pub fn builder() -> crate::input::register_task_definition_input::Builder { + crate::input::register_task_definition_input::Builder::default() + } +} + +/// See [`RunTaskInput`](crate::input::RunTaskInput) +pub mod run_task_input { + /// A builder for [`RunTaskInput`](crate::input::RunTaskInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) cluster: std::option::Option, + pub(crate) count: std::option::Option, + pub(crate) enable_ecs_managed_tags: std::option::Option, + pub(crate) enable_execute_command: std::option::Option, + pub(crate) group: std::option::Option, + pub(crate) launch_type: std::option::Option, + pub(crate) network_configuration: std::option::Option, + pub(crate) overrides: std::option::Option, + pub(crate) placement_constraints: + std::option::Option>, + pub(crate) placement_strategy: + std::option::Option>, + pub(crate) platform_version: std::option::Option, + pub(crate) propagate_tags: std::option::Option, + pub(crate) reference_id: std::option::Option, + pub(crate) started_by: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) task_definition: std::option::Option, + } + impl Builder { + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The number of instantiations of the specified task to place on your cluster. You can + /// specify up to 10 tasks per call.

      + pub fn count(mut self, inp: i32) -> Self { + self.count = Some(inp); + self + } + pub fn set_count(mut self, inp: std::option::Option) -> Self { + self.count = inp; + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + ///

      Whether or not to enable the execute command functionality for the containers in this + /// task. If true, this enables execute command functionality on all containers + /// in the task.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + 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).

      + pub fn group(mut self, inp: impl Into) -> Self { + self.group = Some(inp.into()); + self + } + pub fn set_group(mut self, inp: std::option::Option) -> Self { + self.group = inp; + self + } + ///

      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.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A task can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + ///

      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 + /// in the Amazon Elastic Container Service Developer Guide.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + ///

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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, inp: crate::model::TaskOverride) -> Self { + self.overrides = Some(inp); + self + } + pub fn set_overrides( + mut self, + inp: std::option::Option, + ) -> Self { + self.overrides = inp; + self + } + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_constraints.unwrap_or_default(); + v.push(inp.into()); + self.placement_constraints = Some(v); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_constraints = inp; + self + } + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_strategy.unwrap_or_default(); + v.push(inp.into()); + self.placement_strategy = Some(v); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_strategy = inp; + 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 + /// AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      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 + /// during task creation. To add tags to a task after task creation, use the TagResource API action.

      + /// + ///

      An error will be received if you specify the SERVICE option when + /// running a task.

      + ///
      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.propagate_tags = Some(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.propagate_tags = inp; + self + } + ///

      The reference ID to use for the task.

      + pub fn reference_id(mut self, inp: impl Into) -> Self { + self.reference_id = Some(inp.into()); + self + } + pub fn set_reference_id(mut self, inp: std::option::Option) -> Self { + self.reference_id = inp; + self + } + ///

      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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.started_by = Some(inp.into()); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.started_by = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + /// Consumes the builder and constructs a [`RunTaskInput`](crate::input::RunTaskInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::RunTaskInput { + capacity_provider_strategy: self.capacity_provider_strategy, + cluster: self.cluster, + count: self.count, + enable_ecs_managed_tags: self.enable_ecs_managed_tags.unwrap_or_default(), + enable_execute_command: self.enable_execute_command.unwrap_or_default(), + group: self.group, + launch_type: self.launch_type, + network_configuration: self.network_configuration, + overrides: self.overrides, + placement_constraints: self.placement_constraints, + placement_strategy: self.placement_strategy, + platform_version: self.platform_version, + propagate_tags: self.propagate_tags, + reference_id: self.reference_id, + started_by: self.started_by, + tags: self.tags, + task_definition: self.task_definition, + }) + } + } +} +impl RunTaskInput { + /// Consumes the builder and constructs an Operation<[`RunTask`](crate::operation::RunTask)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_run_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = + smithy_http::operation::Operation::new(request, crate::operation::RunTask::new()) + .with_metadata(smithy_http::operation::Metadata::new("RunTask", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header("X-Amz-Target", "AmazonEC2ContainerServiceV20141113.RunTask")) + } + 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 [`RunTaskInput`](crate::input::RunTaskInput) + pub fn builder() -> crate::input::run_task_input::Builder { + crate::input::run_task_input::Builder::default() + } +} + +/// See [`StartTaskInput`](crate::input::StartTaskInput) +pub mod start_task_input { + /// A builder for [`StartTaskInput`](crate::input::StartTaskInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) container_instances: std::option::Option>, + pub(crate) enable_ecs_managed_tags: std::option::Option, + pub(crate) enable_execute_command: std::option::Option, + pub(crate) group: std::option::Option, + pub(crate) network_configuration: std::option::Option, + pub(crate) overrides: std::option::Option, + pub(crate) propagate_tags: std::option::Option, + pub(crate) reference_id: std::option::Option, + pub(crate) started_by: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) task_definition: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn container_instances(mut self, inp: impl Into) -> Self { + let mut v = self.container_instances.unwrap_or_default(); + v.push(inp.into()); + self.container_instances = Some(v); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_instances = inp; + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + ///

      Whether or not the execute command functionality is enabled for the task. If + /// true, this enables execute command functionality on all containers in + /// the task.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + 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).

      + pub fn group(mut self, inp: impl Into) -> Self { + self.group = Some(inp.into()); + self + } + pub fn set_group(mut self, inp: std::option::Option) -> Self { + self.group = inp; + self + } + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + ///

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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, inp: crate::model::TaskOverride) -> Self { + self.overrides = Some(inp); + self + } + pub fn set_overrides( + mut self, + inp: std::option::Option, + ) -> Self { + self.overrides = inp; + self + } + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// task. If no value is specified, the tags are not propagated.

      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.propagate_tags = Some(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.propagate_tags = inp; + self + } + ///

      The reference ID to use for the task.

      + pub fn reference_id(mut self, inp: impl Into) -> Self { + self.reference_id = Some(inp.into()); + self + } + pub fn set_reference_id(mut self, inp: std::option::Option) -> Self { + self.reference_id = inp; + self + } + ///

      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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.started_by = Some(inp.into()); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.started_by = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to start. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + /// Consumes the builder and constructs a [`StartTaskInput`](crate::input::StartTaskInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::StartTaskInput { + cluster: self.cluster, + container_instances: self.container_instances, + enable_ecs_managed_tags: self.enable_ecs_managed_tags.unwrap_or_default(), + enable_execute_command: self.enable_execute_command.unwrap_or_default(), + group: self.group, + network_configuration: self.network_configuration, + overrides: self.overrides, + propagate_tags: self.propagate_tags, + reference_id: self.reference_id, + started_by: self.started_by, + tags: self.tags, + task_definition: self.task_definition, + }) + } + } +} +impl StartTaskInput { + /// Consumes the builder and constructs an Operation<[`StartTask`](crate::operation::StartTask)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::StartTask, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_start_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = + smithy_http::operation::Operation::new(request, crate::operation::StartTask::new()) + .with_metadata(smithy_http::operation::Metadata::new("StartTask", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.StartTask", + )) + } + 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 [`StartTaskInput`](crate::input::StartTaskInput) + pub fn builder() -> crate::input::start_task_input::Builder { + crate::input::start_task_input::Builder::default() + } +} + +/// See [`StopTaskInput`](crate::input::StopTaskInput) +pub mod stop_task_input { + /// A builder for [`StopTaskInput`](crate::input::StopTaskInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) task: std::option::Option, + pub(crate) reason: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The task ID or full Amazon Resource Name (ARN) of the task to stop.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.task = Some(inp.into()); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.task = inp; + self + } + ///

      An optional message specified when a task is stopped. For example, if you are using a + /// custom scheduler, you can use this parameter to specify the reason for stopping the task + /// here, and the message appears in subsequent DescribeTasks API + /// operations on this task. Up to 255 characters are allowed in this message.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + /// Consumes the builder and constructs a [`StopTaskInput`](crate::input::StopTaskInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::StopTaskInput { + cluster: self.cluster, + task: self.task, + reason: self.reason, + }) + } + } +} +impl StopTaskInput { + /// Consumes the builder and constructs an Operation<[`StopTask`](crate::operation::StopTask)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::StopTask, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_stop_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = + smithy_http::operation::Operation::new(request, crate::operation::StopTask::new()) + .with_metadata(smithy_http::operation::Metadata::new("StopTask", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.StopTask", + )) + } + 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 [`StopTaskInput`](crate::input::StopTaskInput) + pub fn builder() -> crate::input::stop_task_input::Builder { + crate::input::stop_task_input::Builder::default() + } +} + +/// See [`SubmitAttachmentStateChangesInput`](crate::input::SubmitAttachmentStateChangesInput) +pub mod submit_attachment_state_changes_input { + /// A builder for [`SubmitAttachmentStateChangesInput`](crate::input::SubmitAttachmentStateChangesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) attachments: + std::option::Option>, + } + impl Builder { + ///

      The short name or full ARN of the cluster that hosts the container instance the + /// attachment belongs to.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn attachments(mut self, inp: impl Into) -> Self { + let mut v = self.attachments.unwrap_or_default(); + v.push(inp.into()); + self.attachments = Some(v); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attachments = inp; + self + } + /// Consumes the builder and constructs a [`SubmitAttachmentStateChangesInput`](crate::input::SubmitAttachmentStateChangesInput) + pub fn build( + self, + ) -> Result< + crate::input::SubmitAttachmentStateChangesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::SubmitAttachmentStateChangesInput { + cluster: self.cluster, + attachments: self.attachments, + }) + } + } +} +impl SubmitAttachmentStateChangesInput { + /// Consumes the builder and constructs an Operation<[`SubmitAttachmentStateChanges`](crate::operation::SubmitAttachmentStateChanges)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::SubmitAttachmentStateChanges, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_submit_attachment_state_changes(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SubmitAttachmentStateChanges::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "SubmitAttachmentStateChanges", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.SubmitAttachmentStateChanges", + )) + } + 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 [`SubmitAttachmentStateChangesInput`](crate::input::SubmitAttachmentStateChangesInput) + pub fn builder() -> crate::input::submit_attachment_state_changes_input::Builder { + crate::input::submit_attachment_state_changes_input::Builder::default() + } +} + +/// See [`SubmitContainerStateChangeInput`](crate::input::SubmitContainerStateChangeInput) +pub mod submit_container_state_change_input { + /// A builder for [`SubmitContainerStateChangeInput`](crate::input::SubmitContainerStateChangeInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) task: std::option::Option, + pub(crate) container_name: std::option::Option, + pub(crate) runtime_id: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) exit_code: std::option::Option, + pub(crate) reason: std::option::Option, + pub(crate) network_bindings: + std::option::Option>, + } + impl Builder { + ///

      The short name or full ARN of the cluster that hosts the container.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.task = Some(inp.into()); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.task = inp; + self + } + ///

      The name of the container.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      The ID of the Docker container.

      + pub fn runtime_id(mut self, inp: impl Into) -> Self { + self.runtime_id = Some(inp.into()); + self + } + pub fn set_runtime_id(mut self, inp: std::option::Option) -> Self { + self.runtime_id = inp; + self + } + ///

      The status of the state change request.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The exit code returned for the state change request.

      + pub fn exit_code(mut self, inp: i32) -> Self { + self.exit_code = Some(inp); + self + } + pub fn set_exit_code(mut self, inp: std::option::Option) -> Self { + self.exit_code = inp; + self + } + ///

      The reason for the state change request.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + pub fn network_bindings(mut self, inp: impl Into) -> Self { + let mut v = self.network_bindings.unwrap_or_default(); + v.push(inp.into()); + self.network_bindings = Some(v); + self + } + pub fn set_network_bindings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.network_bindings = inp; + self + } + /// Consumes the builder and constructs a [`SubmitContainerStateChangeInput`](crate::input::SubmitContainerStateChangeInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::SubmitContainerStateChangeInput { + cluster: self.cluster, + task: self.task, + container_name: self.container_name, + runtime_id: self.runtime_id, + status: self.status, + exit_code: self.exit_code, + reason: self.reason, + network_bindings: self.network_bindings, + }) + } + } +} +impl SubmitContainerStateChangeInput { + /// Consumes the builder and constructs an Operation<[`SubmitContainerStateChange`](crate::operation::SubmitContainerStateChange)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::SubmitContainerStateChange, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_submit_container_state_change(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SubmitContainerStateChange::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "SubmitContainerStateChange", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.SubmitContainerStateChange", + )) + } + 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 [`SubmitContainerStateChangeInput`](crate::input::SubmitContainerStateChangeInput) + pub fn builder() -> crate::input::submit_container_state_change_input::Builder { + crate::input::submit_container_state_change_input::Builder::default() + } +} + +/// See [`SubmitTaskStateChangeInput`](crate::input::SubmitTaskStateChangeInput) +pub mod submit_task_state_change_input { + /// A builder for [`SubmitTaskStateChangeInput`](crate::input::SubmitTaskStateChangeInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) task: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) reason: std::option::Option, + pub(crate) containers: + std::option::Option>, + pub(crate) attachments: + std::option::Option>, + pub(crate) managed_agents: + std::option::Option>, + pub(crate) pull_started_at: std::option::Option, + pub(crate) pull_stopped_at: std::option::Option, + pub(crate) execution_stopped_at: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The task ID or full ARN of the task in the state change request.

      + pub fn task(mut self, inp: impl Into) -> Self { + self.task = Some(inp.into()); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.task = inp; + self + } + ///

      The status of the state change request.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The reason for the state change request.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + pub fn containers(mut self, inp: impl Into) -> Self { + let mut v = self.containers.unwrap_or_default(); + v.push(inp.into()); + self.containers = Some(v); + self + } + pub fn set_containers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.containers = inp; + self + } + pub fn attachments(mut self, inp: impl Into) -> Self { + let mut v = self.attachments.unwrap_or_default(); + v.push(inp.into()); + self.attachments = Some(v); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attachments = inp; + self + } + pub fn managed_agents( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.managed_agents.unwrap_or_default(); + v.push(inp.into()); + self.managed_agents = Some(v); + self + } + pub fn set_managed_agents( + mut self, + inp: std::option::Option>, + ) -> Self { + self.managed_agents = inp; + self + } + ///

      The Unix timestamp for when the container image pull began.

      + pub fn pull_started_at(mut self, inp: smithy_types::Instant) -> Self { + self.pull_started_at = Some(inp); + self + } + pub fn set_pull_started_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.pull_started_at = inp; + self + } + ///

      The Unix timestamp for when the container image pull completed.

      + pub fn pull_stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.pull_stopped_at = Some(inp); + self + } + pub fn set_pull_stopped_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.pull_stopped_at = inp; + self + } + ///

      The Unix timestamp for when the task execution stopped.

      + pub fn execution_stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.execution_stopped_at = Some(inp); + self + } + pub fn set_execution_stopped_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.execution_stopped_at = inp; + self + } + /// Consumes the builder and constructs a [`SubmitTaskStateChangeInput`](crate::input::SubmitTaskStateChangeInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::SubmitTaskStateChangeInput { + cluster: self.cluster, + task: self.task, + status: self.status, + reason: self.reason, + containers: self.containers, + attachments: self.attachments, + managed_agents: self.managed_agents, + pull_started_at: self.pull_started_at, + pull_stopped_at: self.pull_stopped_at, + execution_stopped_at: self.execution_stopped_at, + }) + } + } +} +impl SubmitTaskStateChangeInput { + /// Consumes the builder and constructs an Operation<[`SubmitTaskStateChange`](crate::operation::SubmitTaskStateChange)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::SubmitTaskStateChange, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_submit_task_state_change(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SubmitTaskStateChange::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "SubmitTaskStateChange", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.SubmitTaskStateChange", + )) + } + 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 [`SubmitTaskStateChangeInput`](crate::input::SubmitTaskStateChangeInput) + pub fn builder() -> crate::input::submit_task_state_change_input::Builder { + crate::input::submit_task_state_change_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>, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources + /// are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + /// instances.

      + pub fn resource_arn(mut self, inp: impl Into) -> Self { + self.resource_arn = Some(inp.into()); + self + } + pub fn set_resource_arn(mut self, inp: std::option::Option) -> Self { + self.resource_arn = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`TagResourceInput`](crate::input::TagResourceInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::TagResourceInput { + resource_arn: self.resource_arn, + tags: self.tags, + }) + } + } +} +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, + ) -> 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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_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", "ecs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.TagResource", + )) + } + 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 resource from which to delete tags. Currently, the supported + /// resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and + /// container instances.

      + pub fn resource_arn(mut self, inp: impl Into) -> Self { + self.resource_arn = Some(inp.into()); + self + } + pub fn set_resource_arn(mut self, inp: std::option::Option) -> Self { + self.resource_arn = inp; + self + } + pub fn tag_keys(mut self, inp: impl Into) -> Self { + let mut v = self.tag_keys.unwrap_or_default(); + v.push(inp.into()); + self.tag_keys = Some(v); + self + } + pub fn set_tag_keys( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tag_keys = inp; + self + } + /// Consumes the builder and constructs a [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::UntagResourceInput { + resource_arn: self.resource_arn, + tag_keys: self.tag_keys, + }) + } + } +} +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, + ) -> 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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_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", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UntagResource", + )) + } + 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 [`UpdateCapacityProviderInput`](crate::input::UpdateCapacityProviderInput) +pub mod update_capacity_provider_input { + /// A builder for [`UpdateCapacityProviderInput`](crate::input::UpdateCapacityProviderInput) + #[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) auto_scaling_group_provider: + std::option::Option, + } + impl Builder { + ///

      The name of the capacity provider to update.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      An object representing the parameters to update for the Auto Scaling group capacity + /// provider.

      + pub fn auto_scaling_group_provider( + mut self, + inp: crate::model::AutoScalingGroupProviderUpdate, + ) -> Self { + self.auto_scaling_group_provider = Some(inp); + self + } + pub fn set_auto_scaling_group_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.auto_scaling_group_provider = inp; + self + } + /// Consumes the builder and constructs a [`UpdateCapacityProviderInput`](crate::input::UpdateCapacityProviderInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::UpdateCapacityProviderInput { + name: self.name, + auto_scaling_group_provider: self.auto_scaling_group_provider, + }) + } + } +} +impl UpdateCapacityProviderInput { + /// Consumes the builder and constructs an Operation<[`UpdateCapacityProvider`](crate::operation::UpdateCapacityProvider)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateCapacityProvider, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_capacity_provider(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateCapacityProvider::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateCapacityProvider", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateCapacityProvider", + )) + } + 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 [`UpdateCapacityProviderInput`](crate::input::UpdateCapacityProviderInput) + pub fn builder() -> crate::input::update_capacity_provider_input::Builder { + crate::input::update_capacity_provider_input::Builder::default() + } +} + +/// See [`UpdateClusterInput`](crate::input::UpdateClusterInput) +pub mod update_cluster_input { + /// A builder for [`UpdateClusterInput`](crate::input::UpdateClusterInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) settings: std::option::Option>, + pub(crate) configuration: std::option::Option, + } + impl Builder { + ///

      The name of the cluster to modify the settings for.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn settings(mut self, inp: impl Into) -> Self { + let mut v = self.settings.unwrap_or_default(); + v.push(inp.into()); + self.settings = Some(v); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.settings = inp; + self + } + ///

      The execute command configuration for the cluster.

      + pub fn configuration(mut self, inp: crate::model::ClusterConfiguration) -> Self { + self.configuration = Some(inp); + self + } + pub fn set_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.configuration = inp; + self + } + /// Consumes the builder and constructs a [`UpdateClusterInput`](crate::input::UpdateClusterInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::UpdateClusterInput { + cluster: self.cluster, + settings: self.settings, + configuration: self.configuration, + }) + } + } +} +impl UpdateClusterInput { + /// Consumes the builder and constructs an Operation<[`UpdateCluster`](crate::operation::UpdateCluster)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateCluster, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_update_cluster(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateCluster::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateCluster", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateCluster", + )) + } + 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 [`UpdateClusterInput`](crate::input::UpdateClusterInput) + pub fn builder() -> crate::input::update_cluster_input::Builder { + crate::input::update_cluster_input::Builder::default() + } +} + +/// See [`UpdateClusterSettingsInput`](crate::input::UpdateClusterSettingsInput) +pub mod update_cluster_settings_input { + /// A builder for [`UpdateClusterSettingsInput`](crate::input::UpdateClusterSettingsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) settings: std::option::Option>, + } + impl Builder { + ///

      The name of the cluster to modify the settings for.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn settings(mut self, inp: impl Into) -> Self { + let mut v = self.settings.unwrap_or_default(); + v.push(inp.into()); + self.settings = Some(v); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.settings = inp; + self + } + /// Consumes the builder and constructs a [`UpdateClusterSettingsInput`](crate::input::UpdateClusterSettingsInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::UpdateClusterSettingsInput { + cluster: self.cluster, + settings: self.settings, + }) + } + } +} +impl UpdateClusterSettingsInput { + /// Consumes the builder and constructs an Operation<[`UpdateClusterSettings`](crate::operation::UpdateClusterSettings)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateClusterSettings, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_cluster_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateClusterSettings::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateClusterSettings", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateClusterSettings", + )) + } + 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 [`UpdateClusterSettingsInput`](crate::input::UpdateClusterSettingsInput) + pub fn builder() -> crate::input::update_cluster_settings_input::Builder { + crate::input::update_cluster_settings_input::Builder::default() + } +} + +/// See [`UpdateContainerAgentInput`](crate::input::UpdateContainerAgentInput) +pub mod update_container_agent_input { + /// A builder for [`UpdateContainerAgentInput`](crate::input::UpdateContainerAgentInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) container_instance: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is + /// running on. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The container instance ID or full ARN entries for the container instance on which + /// you would like to update the Amazon ECS container agent.

      + pub fn container_instance(mut self, inp: impl Into) -> Self { + self.container_instance = Some(inp.into()); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + /// Consumes the builder and constructs a [`UpdateContainerAgentInput`](crate::input::UpdateContainerAgentInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::UpdateContainerAgentInput { + cluster: self.cluster, + container_instance: self.container_instance, + }) + } + } +} +impl UpdateContainerAgentInput { + /// Consumes the builder and constructs an Operation<[`UpdateContainerAgent`](crate::operation::UpdateContainerAgent)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateContainerAgent, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_container_agent(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateContainerAgent::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateContainerAgent", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateContainerAgent", + )) + } + 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 [`UpdateContainerAgentInput`](crate::input::UpdateContainerAgentInput) + pub fn builder() -> crate::input::update_container_agent_input::Builder { + crate::input::update_container_agent_input::Builder::default() + } +} + +/// See [`UpdateContainerInstancesStateInput`](crate::input::UpdateContainerInstancesStateInput) +pub mod update_container_instances_state_input { + /// A builder for [`UpdateContainerInstancesStateInput`](crate::input::UpdateContainerInstancesStateInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) container_instances: std::option::Option>, + pub(crate) status: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// update. If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + pub fn container_instances(mut self, inp: impl Into) -> Self { + let mut v = self.container_instances.unwrap_or_default(); + v.push(inp.into()); + self.container_instances = Some(v); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_instances = inp; + self + } + ///

      The container instance state with which to update the container instance. The only + /// valid values for this action are ACTIVE and DRAINING. A + /// container instance can only be updated to DRAINING status once it has + /// reached an ACTIVE state. If a container instance is in + /// REGISTERING, DEREGISTERING, or + /// REGISTRATION_FAILED state you can describe the container instance but + /// will be unable to update the container instance state.

      + pub fn status(mut self, inp: crate::model::ContainerInstanceStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + /// Consumes the builder and constructs a [`UpdateContainerInstancesStateInput`](crate::input::UpdateContainerInstancesStateInput) + pub fn build( + self, + ) -> Result< + crate::input::UpdateContainerInstancesStateInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateContainerInstancesStateInput { + cluster: self.cluster, + container_instances: self.container_instances, + status: self.status, + }) + } + } +} +impl UpdateContainerInstancesStateInput { + /// Consumes the builder and constructs an Operation<[`UpdateContainerInstancesState`](crate::operation::UpdateContainerInstancesState)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateContainerInstancesState, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_update_container_instances_state(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateContainerInstancesState::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateContainerInstancesState", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateContainerInstancesState", + )) + } + 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 [`UpdateContainerInstancesStateInput`](crate::input::UpdateContainerInstancesStateInput) + pub fn builder() -> crate::input::update_container_instances_state_input::Builder { + crate::input::update_container_instances_state_input::Builder::default() + } +} + +/// See [`UpdateServiceInput`](crate::input::UpdateServiceInput) +pub mod update_service_input { + /// A builder for [`UpdateServiceInput`](crate::input::UpdateServiceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service: std::option::Option, + pub(crate) desired_count: std::option::Option, + pub(crate) task_definition: std::option::Option, + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) deployment_configuration: + std::option::Option, + pub(crate) network_configuration: std::option::Option, + pub(crate) placement_constraints: + std::option::Option>, + pub(crate) placement_strategy: + std::option::Option>, + pub(crate) platform_version: std::option::Option, + pub(crate) force_new_deployment: std::option::Option, + pub(crate) health_check_grace_period_seconds: std::option::Option, + pub(crate) enable_execute_command: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The name of the service to update.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + ///

      The number of instantiations of the task to place and keep running in your + /// service.

      + pub fn desired_count(mut self, inp: i32) -> Self { + self.desired_count = Some(inp); + self + } + pub fn set_desired_count(mut self, inp: std::option::Option) -> Self { + self.desired_count = inp; + self + } + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used. If you modify the task + /// definition with UpdateService, Amazon ECS spawns a task with the new version of + /// the task definition and then stops an old task after the new version is running.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub fn deployment_configuration( + mut self, + inp: crate::model::DeploymentConfiguration, + ) -> Self { + self.deployment_configuration = Some(inp); + self + } + pub fn set_deployment_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.deployment_configuration = inp; + self + } + ///

      An object representing the network configuration for the service.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_constraints.unwrap_or_default(); + v.push(inp.into()); + self.placement_constraints = Some(v); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_constraints = inp; + self + } + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_strategy.unwrap_or_default(); + v.push(inp.into()); + self.placement_strategy = Some(v); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_strategy = inp; + self + } + ///

      The platform version on which your tasks in the service are running. A platform + /// version is only specified for tasks using the Fargate launch type. If a + /// platform version is not specified, the LATEST platform version is used by + /// default. For more information, see AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      Whether to force a new deployment of the service. Deployments are not forced by + /// default. You can use this option to trigger a new deployment with no service definition + /// changes. For example, you can update a service's tasks to use a newer Docker image with + /// the same image/tag combination (my_image:latest) or to roll Fargate tasks + /// onto a newer platform version.

      + pub fn force_new_deployment(mut self, inp: bool) -> Self { + self.force_new_deployment = Some(inp); + self + } + pub fn set_force_new_deployment(mut self, inp: bool) -> Self { + self.force_new_deployment = Some(inp); + self + } + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid + /// if your service is configured to use a load balancer. If your service's tasks take a + /// while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace + /// period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service + /// scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS + /// service scheduler from marking tasks as unhealthy and stopping them before they have + /// time to come up.

      + pub fn health_check_grace_period_seconds(mut self, inp: i32) -> Self { + self.health_check_grace_period_seconds = Some(inp); + self + } + pub fn set_health_check_grace_period_seconds( + mut self, + inp: std::option::Option, + ) -> Self { + self.health_check_grace_period_seconds = inp; + self + } + ///

      If true, this enables execute command functionality on all task + /// containers.

      + ///

      If you do not want to override the value that was set when the service was created, + /// you can set this to null when performing this action.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: std::option::Option) -> Self { + self.enable_execute_command = inp; + self + } + /// Consumes the builder and constructs a [`UpdateServiceInput`](crate::input::UpdateServiceInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::UpdateServiceInput { + cluster: self.cluster, + service: self.service, + desired_count: self.desired_count, + task_definition: self.task_definition, + capacity_provider_strategy: self.capacity_provider_strategy, + deployment_configuration: self.deployment_configuration, + network_configuration: self.network_configuration, + placement_constraints: self.placement_constraints, + placement_strategy: self.placement_strategy, + platform_version: self.platform_version, + force_new_deployment: self.force_new_deployment.unwrap_or_default(), + health_check_grace_period_seconds: self.health_check_grace_period_seconds, + enable_execute_command: self.enable_execute_command, + }) + } + } +} +impl UpdateServiceInput { + /// Consumes the builder and constructs an Operation<[`UpdateService`](crate::operation::UpdateService)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateService, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_update_service(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateService::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateService", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateService", + )) + } + 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 [`UpdateServiceInput`](crate::input::UpdateServiceInput) + pub fn builder() -> crate::input::update_service_input::Builder { + crate::input::update_service_input::Builder::default() + } +} + +/// See [`UpdateServicePrimaryTaskSetInput`](crate::input::UpdateServicePrimaryTaskSetInput) +pub mod update_service_primary_task_set_input { + /// A builder for [`UpdateServicePrimaryTaskSetInput`](crate::input::UpdateServicePrimaryTaskSetInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service: std::option::Option, + pub(crate) primary_task_set: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the + /// deployment.

      + pub fn primary_task_set(mut self, inp: impl Into) -> Self { + self.primary_task_set = Some(inp.into()); + self + } + pub fn set_primary_task_set( + mut self, + inp: std::option::Option, + ) -> Self { + self.primary_task_set = inp; + self + } + /// Consumes the builder and constructs a [`UpdateServicePrimaryTaskSetInput`](crate::input::UpdateServicePrimaryTaskSetInput) + pub fn build( + self, + ) -> Result< + crate::input::UpdateServicePrimaryTaskSetInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateServicePrimaryTaskSetInput { + cluster: self.cluster, + service: self.service, + primary_task_set: self.primary_task_set, + }) + } + } +} +impl UpdateServicePrimaryTaskSetInput { + /// Consumes the builder and constructs an Operation<[`UpdateServicePrimaryTaskSet`](crate::operation::UpdateServicePrimaryTaskSet)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateServicePrimaryTaskSet, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_update_service_primary_task_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateServicePrimaryTaskSet::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateServicePrimaryTaskSet", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateServicePrimaryTaskSet", + )) + } + 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 [`UpdateServicePrimaryTaskSetInput`](crate::input::UpdateServicePrimaryTaskSetInput) + pub fn builder() -> crate::input::update_service_primary_task_set_input::Builder { + crate::input::update_service_primary_task_set_input::Builder::default() + } +} + +/// See [`UpdateTaskSetInput`](crate::input::UpdateTaskSetInput) +pub mod update_task_set_input { + /// A builder for [`UpdateTaskSetInput`](crate::input::UpdateTaskSetInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + pub(crate) service: std::option::Option, + pub(crate) task_set: std::option::Option, + pub(crate) scale: std::option::Option, + } + impl Builder { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

      + pub fn cluster(mut self, inp: impl Into) -> Self { + self.cluster = Some(inp.into()); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

      + pub fn service(mut self, inp: impl Into) -> Self { + self.service = Some(inp.into()); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the task set to update.

      + pub fn task_set(mut self, inp: impl Into) -> Self { + self.task_set = Some(inp.into()); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.task_set = inp; + self + } + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub fn scale(mut self, inp: crate::model::Scale) -> Self { + self.scale = Some(inp); + self + } + pub fn set_scale(mut self, inp: std::option::Option) -> Self { + self.scale = inp; + self + } + /// Consumes the builder and constructs a [`UpdateTaskSetInput`](crate::input::UpdateTaskSetInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::UpdateTaskSetInput { + cluster: self.cluster, + service: self.service, + task_set: self.task_set, + scale: self.scale, + }) + } + } +} +impl UpdateTaskSetInput { + /// Consumes the builder and constructs an Operation<[`UpdateTaskSet`](crate::operation::UpdateTaskSet)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UpdateTaskSet, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_task_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateTaskSet::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateTaskSet", + "ecs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + let builder = http::request::Builder::new(); + Ok(builder + .method("POST") + .header("Content-Type", "application/x-amz-json-1.1") + .header( + "X-Amz-Target", + "AmazonEC2ContainerServiceV20141113.UpdateTaskSet", + )) + } + 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 [`UpdateTaskSetInput`](crate::input::UpdateTaskSetInput) + pub fn builder() -> crate::input::update_task_set_input::Builder { + crate::input::update_task_set_input::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateTaskSetInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

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

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

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

      The short name or full Amazon Resource Name (ARN) of the task set to update.

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

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub scale: std::option::Option, +} +impl std::fmt::Debug for UpdateTaskSetInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateTaskSetInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("task_set", &self.task_set); + formatter.field("scale", &self.scale); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServicePrimaryTaskSetInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

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

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

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

      The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the + /// deployment.

      + pub primary_task_set: std::option::Option, +} +impl std::fmt::Debug for UpdateServicePrimaryTaskSetInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServicePrimaryTaskSetInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("primary_task_set", &self.primary_task_set); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServiceInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The name of the service to update.

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

      The number of instantiations of the task to place and keep running in your + /// service.

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

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used. If you modify the task + /// definition with UpdateService, Amazon ECS spawns a task with the new version of + /// the task definition and then stops an old task after the new version is running.

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

      The capacity provider strategy to update the service to use.

      + ///

      If the service is using the default capacity provider strategy for the cluster, the + /// service can be updated to use one or more capacity providers as opposed to the default + /// capacity provider strategy. However, when a service is using a capacity provider + /// strategy that is not the default capacity provider strategy, the service cannot be + /// updated to use the cluster's default capacity provider strategy.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + ///

      + pub capacity_provider_strategy: + std::option::Option>, + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

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

      An object representing the network configuration for the service.

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

      An array of task placement constraint objects to update the service to use. If no + /// value is specified, the existing placement constraints for the service will remain + /// unchanged. If this value is specified, it will override any existing placement + /// constraints defined for the service. To remove all existing placement constraints, + /// specify an empty array.

      + ///

      You can specify a maximum of 10 constraints per task (this limit includes constraints + /// in the task definition and those specified at runtime).

      + pub placement_constraints: + std::option::Option>, + ///

      The task placement strategy objects to update the service to use. If no value is + /// specified, the existing placement strategy for the service will remain unchanged. If + /// this value is specified, it will override the existing placement strategy defined for + /// the service. To remove an existing placement strategy, specify an empty object.

      + ///

      You can specify a maximum of five strategy rules per service.

      + pub placement_strategy: std::option::Option>, + ///

      The platform version on which your tasks in the service are running. A platform + /// version is only specified for tasks using the Fargate launch type. If a + /// platform version is not specified, the LATEST platform version is used by + /// default. For more information, see AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

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

      Whether to force a new deployment of the service. Deployments are not forced by + /// default. You can use this option to trigger a new deployment with no service definition + /// changes. For example, you can update a service's tasks to use a newer Docker image with + /// the same image/tag combination (my_image:latest) or to roll Fargate tasks + /// onto a newer platform version.

      + pub force_new_deployment: bool, + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid + /// if your service is configured to use a load balancer. If your service's tasks take a + /// while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace + /// period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service + /// scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS + /// service scheduler from marking tasks as unhealthy and stopping them before they have + /// time to come up.

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

      If true, this enables execute command functionality on all task + /// containers.

      + ///

      If you do not want to override the value that was set when the service was created, + /// you can set this to null when performing this action.

      + pub enable_execute_command: std::option::Option, +} +impl std::fmt::Debug for UpdateServiceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServiceInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("desired_count", &self.desired_count); + formatter.field("task_definition", &self.task_definition); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("deployment_configuration", &self.deployment_configuration); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("platform_version", &self.platform_version); + formatter.field("force_new_deployment", &self.force_new_deployment); + formatter.field( + "health_check_grace_period_seconds", + &self.health_check_grace_period_seconds, + ); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerInstancesStateInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// update. If you do not specify a cluster, the default cluster is assumed.

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

      A list of container instance IDs or full ARN entries.

      + pub container_instances: std::option::Option>, + ///

      The container instance state with which to update the container instance. The only + /// valid values for this action are ACTIVE and DRAINING. A + /// container instance can only be updated to DRAINING status once it has + /// reached an ACTIVE state. If a container instance is in + /// REGISTERING, DEREGISTERING, or + /// REGISTRATION_FAILED state you can describe the container instance but + /// will be unable to update the container instance state.

      + pub status: std::option::Option, +} +impl std::fmt::Debug for UpdateContainerInstancesStateInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerInstancesStateInput"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instances", &self.container_instances); + formatter.field("status", &self.status); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerAgentInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is + /// running on. If you do not specify a cluster, the default cluster is assumed.

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

      The container instance ID or full ARN entries for the container instance on which + /// you would like to update the Amazon ECS container agent.

      + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for UpdateContainerAgentInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerAgentInput"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterSettingsInput { + ///

      The name of the cluster to modify the settings for.

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

      The setting to use by default for a cluster. This parameter is used to enable CloudWatch + /// Container Insights for a cluster. If this value is specified, it will override the + /// containerInsights value set with PutAccountSetting or + /// PutAccountSettingDefault.

      + pub settings: std::option::Option>, +} +impl std::fmt::Debug for UpdateClusterSettingsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterSettingsInput"); + formatter.field("cluster", &self.cluster); + formatter.field("settings", &self.settings); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterInput { + ///

      The name of the cluster to modify the settings for.

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

      The cluster settings for your cluster.

      + pub settings: std::option::Option>, + ///

      The execute command configuration for the cluster.

      + pub configuration: std::option::Option, +} +impl std::fmt::Debug for UpdateClusterInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterInput"); + formatter.field("cluster", &self.cluster); + formatter.field("settings", &self.settings); + formatter.field("configuration", &self.configuration); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateCapacityProviderInput { + ///

      The name of the capacity provider to update.

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

      An object representing the parameters to update for the Auto Scaling group capacity + /// provider.

      + pub auto_scaling_group_provider: + std::option::Option, +} +impl std::fmt::Debug for UpdateCapacityProviderInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateCapacityProviderInput"); + formatter.field("name", &self.name); + formatter.field( + "auto_scaling_group_provider", + &self.auto_scaling_group_provider, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UntagResourceInput { + ///

      The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported + /// resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and + /// container instances.

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

      The keys of the tags to be removed.

      + 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 resource to which to add tags. Currently, the supported resources + /// are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + /// instances.

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

      The tags to add to the resource. A tag is an array of key-value pairs.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + 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 SubmitTaskStateChangeInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

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

      The task ID or full ARN of the task in the state change request.

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

      The status of the state change request.

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

      The reason for the state change request.

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

      Any containers associated with the state change request.

      + pub containers: std::option::Option>, + ///

      Any attachments associated with the state change request.

      + pub attachments: std::option::Option>, + ///

      The details for the managed agent associated with the task.

      + pub managed_agents: std::option::Option>, + ///

      The Unix timestamp for when the container image pull began.

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

      The Unix timestamp for when the container image pull completed.

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

      The Unix timestamp for when the task execution stopped.

      + pub execution_stopped_at: std::option::Option, +} +impl std::fmt::Debug for SubmitTaskStateChangeInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitTaskStateChangeInput"); + formatter.field("cluster", &self.cluster); + formatter.field("task", &self.task); + formatter.field("status", &self.status); + formatter.field("reason", &self.reason); + formatter.field("containers", &self.containers); + formatter.field("attachments", &self.attachments); + formatter.field("managed_agents", &self.managed_agents); + formatter.field("pull_started_at", &self.pull_started_at); + formatter.field("pull_stopped_at", &self.pull_stopped_at); + formatter.field("execution_stopped_at", &self.execution_stopped_at); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitContainerStateChangeInput { + ///

      The short name or full ARN of the cluster that hosts the container.

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

      The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

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

      The name of the container.

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

      The ID of the Docker container.

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

      The status of the state change request.

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

      The exit code returned for the state change request.

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

      The reason for the state change request.

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

      The network bindings of the container.

      + pub network_bindings: std::option::Option>, +} +impl std::fmt::Debug for SubmitContainerStateChangeInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitContainerStateChangeInput"); + formatter.field("cluster", &self.cluster); + formatter.field("task", &self.task); + formatter.field("container_name", &self.container_name); + formatter.field("runtime_id", &self.runtime_id); + formatter.field("status", &self.status); + formatter.field("exit_code", &self.exit_code); + formatter.field("reason", &self.reason); + formatter.field("network_bindings", &self.network_bindings); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitAttachmentStateChangesInput { + ///

      The short name or full ARN of the cluster that hosts the container instance the + /// attachment belongs to.

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

      Any attachments associated with the state change request.

      + pub attachments: std::option::Option>, +} +impl std::fmt::Debug for SubmitAttachmentStateChangesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitAttachmentStateChangesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("attachments", &self.attachments); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StopTaskInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The task ID or full Amazon Resource Name (ARN) of the task to stop.

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

      An optional message specified when a task is stopped. For example, if you are using a + /// custom scheduler, you can use this parameter to specify the reason for stopping the task + /// here, and the message appears in subsequent DescribeTasks API + /// operations on this task. Up to 255 characters are allowed in this message.

      + pub reason: std::option::Option, +} +impl std::fmt::Debug for StopTaskInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StopTaskInput"); + formatter.field("cluster", &self.cluster); + formatter.field("task", &self.task); + formatter.field("reason", &self.reason); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StartTaskInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The container instance IDs or full ARN entries for the container instances on which + /// you would like to place your task. You can specify up to 10 container instances.

      + pub container_instances: std::option::Option>, + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub enable_ecs_managed_tags: bool, + ///

      Whether or not the execute command functionality is enabled for the task. If + /// true, this enables execute command functionality on all containers 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).

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

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

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

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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, + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// task. If no value is specified, the tags are not propagated.

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

      The reference ID to use for the task.

      + 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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

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

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to start. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub task_definition: std::option::Option, +} +impl std::fmt::Debug for StartTaskInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StartTaskInput"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instances", &self.container_instances); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.field("group", &self.group); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("overrides", &self.overrides); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("reference_id", &self.reference_id); + formatter.field("started_by", &self.started_by); + formatter.field("tags", &self.tags); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RunTaskInput { + ///

      The capacity provider strategy to use for the task.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + 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. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The number of instantiations of the specified task to place on your cluster. You can + /// specify up to 10 tasks per call.

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

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub enable_ecs_managed_tags: bool, + ///

      Whether or not to enable the execute command functionality for the containers in this + /// task. If true, this enables execute command functionality on all containers + /// 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).

      + 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.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A task can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

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

      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 + /// 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 + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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 + /// 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 + /// AWS 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 + /// during task creation. To add tags to a task after task creation, use the TagResource API action.

      + /// + ///

      An error will be received if you specify the SERVICE option when + /// running a task.

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

      The reference ID to use for the task.

      + 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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

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

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub task_definition: std::option::Option, +} +impl std::fmt::Debug for RunTaskInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RunTaskInput"); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("cluster", &self.cluster); + formatter.field("count", &self.count); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.field("group", &self.group); + formatter.field("launch_type", &self.launch_type); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("overrides", &self.overrides); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("platform_version", &self.platform_version); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("reference_id", &self.reference_id); + formatter.field("started_by", &self.started_by); + formatter.field("tags", &self.tags); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterTaskDefinitionInput { + ///

      You must specify a family for a task definition, which allows you to + /// track multiple versions of the same task definition. The family is used as + /// a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

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

      The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can + /// assume. All containers in this task are granted the permissions that are specified in + /// this role. For more information, see IAM Roles for + /// Tasks in the Amazon Elastic Container Service Developer Guide.

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

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + /// permission to make AWS API calls on your behalf. The task execution IAM role is required + /// depending on the requirements of your task. For more information, see Amazon ECS task + /// execution IAM role in the Amazon Elastic Container Service Developer Guide.

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

      The Docker networking mode to use for the containers in the task. The valid values are + /// none, bridge, awsvpc, and host. + /// If no network mode is specified, the default is bridge.

      + ///

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + /// For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + /// mode is set to none, you cannot specify port mappings in your container + /// definitions, and the tasks containers do not have external connectivity. The + /// host and awsvpc network modes offer the highest networking + /// performance for containers because they use the EC2 network stack instead of the + /// virtualized network stack provided by the bridge mode.

      + ///

      With the host and awsvpc network modes, exposed container + /// ports are mapped directly to the corresponding host port (for the host + /// network mode) or the attached elastic network interface port (for the + /// awsvpc network mode), so you cannot take advantage of dynamic host port + /// mappings.

      + /// + ///

      When using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice + /// to use a non-root user.

      + ///
      + ///

      If the network mode is awsvpc, the task is allocated an elastic network + /// interface, and you must specify a NetworkConfiguration value when you create + /// a service or run a task with the task definition. For more information, see Task Networking in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + /// ecs-init package, or AWS Fargate infrastructure support the + /// awsvpc network mode.

      + ///
      + ///

      If the network mode is host, you cannot run multiple instantiations of the + /// same task on a single container instance when port mappings are used.

      + ///

      Docker for Windows uses different network modes than Docker for Linux. When you + /// register a task definition with Windows containers, you must not specify a network mode. + /// If you use the console to register a task definition with Windows containers, you must + /// choose the network mode object.

      + ///

      For more information, see Network + /// settings in the Docker run reference.

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

      A list of container definitions in JSON format that describe the different containers + /// that make up your task.

      + pub container_definitions: + std::option::Option>, + ///

      A list of volume definitions in JSON format that containers in your task may + /// use.

      + pub volumes: std::option::Option>, + ///

      An array of placement constraint objects to use for the task. You can specify a + /// maximum of 10 constraints per task (this limit includes constraints in the task + /// definition and those specified at runtime).

      + pub placement_constraints: + std::option::Option>, + ///

      The task launch type that Amazon ECS should validate the task definition against. A client + /// exception is returned if the task definition doesn't validate against the + /// compatibilities specified. If no value is specified, the parameter is omitted from the + /// response.

      + pub requires_compatibilities: std::option::Option>, + ///

      The number of CPU units used by the task. It can be expressed as an integer using CPU + /// units, for example 1024, or as a string using vCPUs, for example 1 + /// vCPU or 1 vcpu, in a task definition. String values are + /// converted to an integer indicating the CPU units when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If you are using the EC2 launch type, this field is optional. Supported + /// values are between 128 CPU units (0.125 vCPUs) and + /// 10240 CPU units (10 vCPUs).

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + pub cpu: std::option::Option, + ///

      The amount of memory (in MiB) used by the task. It can be expressed as an integer + /// using MiB, for example 1024, or as a string using GB, for example + /// 1GB or 1 GB, in a task definition. String values are + /// converted to an integer indicating the MiB when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If using the EC2 launch type, this field is optional.

      + ///

      If using the Fargate launch type, this field is required and you must + /// use one of the following values, which determines your range of supported values for the + /// cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + pub memory: std::option::Option, + ///

      The metadata that you apply to the task definition to help you categorize and organize + /// them. Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, + ///

      The process namespace to use for the containers in the task. The valid + /// values are host or task. If host + /// is specified, then all containers within the tasks that specified the + /// host PID mode on the same container instance share the + /// same process namespace with the host Amazon EC2 instance. If task is + /// specified, all containers within the specified task share the same + /// process namespace. If no value is specified, the default is a private + /// namespace. For more information, see PID settings in the Docker run + /// reference.

      + ///

      If the host PID mode is used, be aware that there is a + /// heightened risk of undesired process namespace expose. For more + /// information, see Docker + /// security.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

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

      The IPC resource namespace to use for the containers in the task. The valid values are + /// host, task, or none. If host is + /// specified, then all containers within the tasks that specified the host IPC + /// mode on the same container instance share the same IPC resources with the host Amazon EC2 + /// instance. If task is specified, all containers within the specified task + /// share the same IPC resources. If none is specified, then IPC resources + /// within the containers of a task are private and not shared with other containers in a + /// task or on the container instance. If no value is specified, then the IPC resource + /// namespace sharing depends on the Docker daemon setting on the container instance. For + /// more information, see IPC + /// settings in the Docker run reference.

      + ///

      If the host IPC mode is used, be aware that there is a heightened risk of + /// undesired IPC namespace expose. For more information, see Docker + /// security.

      + ///

      If you are setting namespaced kernel parameters using systemControls for + /// the containers in the task, the following will apply to your IPC resource namespace. For + /// more information, see System + /// Controls in the Amazon Elastic Container Service Developer Guide.

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

        For tasks that use the host IPC mode, IPC namespace related + /// systemControls are not supported.

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

        For tasks that use the task IPC mode, IPC namespace related + /// systemControls will apply to all containers within a + /// task.

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

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

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

      The configuration details for the App Mesh proxy.

      + ///

      For tasks hosted on Amazon EC2 instances, the container instances require at least version + /// 1.26.0 of the container agent and at least version + /// 1.26.0-1 of the ecs-init package to enable a proxy + /// configuration. If your container instances are launched from the Amazon ECS-optimized + /// AMI version 20190301 or later, then they contain the required versions of + /// the container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the + /// Amazon Elastic Container Service Developer Guide.

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

      The Elastic Inference accelerators to use for the containers in the task.

      + pub inference_accelerators: + std::option::Option>, + ///

      The amount of ephemeral storage to allocate for the task. This parameter is used to + /// expand the total amount of ephemeral storage available, beyond the default amount, for + /// tasks hosted on AWS Fargate. For more information, see Fargate task + /// storage in the Amazon ECS User Guide for AWS Fargate.

      + /// + ///

      This parameter is only supported for tasks hosted on AWS Fargate using platform + /// version 1.4.0 or later.

      + ///
      + pub ephemeral_storage: std::option::Option, +} +impl std::fmt::Debug for RegisterTaskDefinitionInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterTaskDefinitionInput"); + formatter.field("family", &self.family); + formatter.field("task_role_arn", &self.task_role_arn); + formatter.field("execution_role_arn", &self.execution_role_arn); + formatter.field("network_mode", &self.network_mode); + formatter.field("container_definitions", &self.container_definitions); + formatter.field("volumes", &self.volumes); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("requires_compatibilities", &self.requires_compatibilities); + formatter.field("cpu", &self.cpu); + formatter.field("memory", &self.memory); + formatter.field("tags", &self.tags); + formatter.field("pid_mode", &self.pid_mode); + formatter.field("ipc_mode", &self.ipc_mode); + formatter.field("proxy_configuration", &self.proxy_configuration); + formatter.field("inference_accelerators", &self.inference_accelerators); + formatter.field("ephemeral_storage", &self.ephemeral_storage); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterContainerInstanceInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container + /// instance. If you do not specify a cluster, the default cluster is assumed.

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

      The instance identity document for the EC2 instance to register. This document can be + /// found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/document/ + ///

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

      The instance identity document signature for the EC2 instance to register. This + /// signature can be found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/signature/ + ///

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

      The resources available on the instance.

      + pub total_resources: std::option::Option>, + ///

      The version information for the Amazon ECS container agent and Docker daemon running on the + /// container instance.

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

      The ARN of the container instance (if it was previously registered).

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

      The container instance attributes that this container instance supports.

      + pub attributes: std::option::Option>, + ///

      The devices that are available on the container instance. The only supported device + /// type is a GPU.

      + pub platform_devices: std::option::Option>, + ///

      The metadata that you apply to the container instance to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, +} +impl std::fmt::Debug for RegisterContainerInstanceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterContainerInstanceInput"); + formatter.field("cluster", &self.cluster); + formatter.field( + "instance_identity_document", + &self.instance_identity_document, + ); + formatter.field( + "instance_identity_document_signature", + &self.instance_identity_document_signature, + ); + formatter.field("total_resources", &self.total_resources); + formatter.field("version_info", &self.version_info); + formatter.field("container_instance_arn", &self.container_instance_arn); + formatter.field("attributes", &self.attributes); + formatter.field("platform_devices", &self.platform_devices); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutClusterCapacityProvidersInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider + /// settings for. If you do not specify a cluster, the default cluster is assumed.

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

      The name of one or more capacity providers to associate with the cluster.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + pub capacity_providers: std::option::Option>, + ///

      The capacity provider strategy to use by default for the cluster.

      + ///

      When creating a service or running a task on a cluster, if no capacity provider or + /// launch type is specified then the default capacity provider strategy for the cluster is + /// used.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + pub default_capacity_provider_strategy: + std::option::Option>, +} +impl std::fmt::Debug for PutClusterCapacityProvidersInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutClusterCapacityProvidersInput"); + formatter.field("cluster", &self.cluster); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field( + "default_capacity_provider_strategy", + &self.default_capacity_provider_strategy, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAttributesInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply + /// attributes. If you do not specify a cluster, the default cluster is assumed.

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

      The attributes to apply to your resource. You can specify up to 10 custom attributes + /// per resource. You can specify up to 10 attributes in a single call.

      + pub attributes: std::option::Option>, +} +impl std::fmt::Debug for PutAttributesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAttributesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingDefaultInput { + ///

      The resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected. If containerInsights is specified, the default + /// setting for CloudWatch Container Insights for your clusters is affected.

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

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub value: std::option::Option, +} +impl std::fmt::Debug for PutAccountSettingDefaultInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingDefaultInput"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingInput { + ///

      The Amazon ECS resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the elastic network interface (ENI) limit + /// for your Amazon ECS container instances is affected. If containerInsights is + /// specified, the default setting for CloudWatch Container Insights for your clusters is + /// affected.

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

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

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

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it modifies the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub principal_arn: std::option::Option, +} +impl std::fmt::Debug for PutAccountSettingInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingInput"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.field("principal_arn", &self.principal_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTasksInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListTasks results. 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 use when + /// filtering the ListTasks results. Specifying a + /// containerInstance limits the results to tasks that belong to that + /// container instance.

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

      The name of the task definition family to use when filtering the + /// ListTasks results. Specifying a family limits the results + /// to tasks that belong to that family.

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

      The nextToken value returned from a ListTasks request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of task results returned by ListTasks in paginated + /// output. When this parameter is used, ListTasks only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListTasks request with the returned nextToken value. + /// This value can be between 1 and 100. If this parameter is + /// not used, then ListTasks returns up to 100 results and a + /// nextToken value if applicable.

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

      The startedBy value with which to filter the task results. Specifying a + /// startedBy value limits the results to tasks that were started with that + /// value.

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

      The name of the service to use when filtering the ListTasks results. + /// Specifying a serviceName limits the results to tasks that belong to that + /// service.

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

      The task desired status to use when filtering the ListTasks results. + /// Specifying a desiredStatus of STOPPED limits the results to + /// tasks that Amazon ECS has set the desired status to STOPPED. This can be useful + /// for debugging tasks that are not starting properly or have died or finished. The default + /// status filter is RUNNING, which shows tasks that Amazon ECS has set the desired + /// status to RUNNING.

      + /// + ///

      Although you can filter results based on a desired status of PENDING, + /// this does not return any results. Amazon ECS never sets the desired status of a task to + /// that value (only a task's lastStatus may have a value of + /// PENDING).

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

      The launch type to use when filtering the ListTasks results.

      + pub launch_type: 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("cluster", &self.cluster); + formatter.field("container_instance", &self.container_instance); + formatter.field("family", &self.family); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("started_by", &self.started_by); + formatter.field("service_name", &self.service_name); + formatter.field("desired_status", &self.desired_status); + formatter.field("launch_type", &self.launch_type); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTaskDefinitionsInput { + ///

      The full family name with which to filter the ListTaskDefinitions + /// results. Specifying a familyPrefix limits the listed task definitions to + /// task definition revisions that belong to that family.

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

      The task definition status with which to filter the ListTaskDefinitions + /// results. By default, only ACTIVE task definitions are listed. By setting + /// this parameter to INACTIVE, you can view task definitions that are + /// INACTIVE as long as an active task or service still references them. If + /// you paginate the resulting output, be sure to keep the status value + /// constant in each subsequent request.

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

      The order in which to sort the results. Valid values are ASC and + /// DESC. By default (ASC), task definitions are listed + /// lexicographically by family name and in ascending numerical order by revision so that + /// the newest task definitions in a family are listed last. Setting this parameter to + /// DESC reverses the sort order on family name and revision so that the + /// newest task definitions in a family are listed first.

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

      The nextToken value returned from a ListTaskDefinitions + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of task definition results returned by + /// ListTaskDefinitions in paginated output. When this parameter is used, + /// ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListTaskDefinitions + /// request with the returned nextToken value. This value can be between + /// 1 and 100. If this parameter is not used, then + /// ListTaskDefinitions returns up to 100 results and a + /// nextToken value if applicable.

      + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListTaskDefinitionsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionsInput"); + formatter.field("family_prefix", &self.family_prefix); + formatter.field("status", &self.status); + formatter.field("sort", &self.sort); + 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 ListTaskDefinitionFamiliesInput { + ///

      The familyPrefix is a string that is used to filter the results of + /// ListTaskDefinitionFamilies. If you specify a familyPrefix, + /// only task definition family names that begin with the familyPrefix string + /// are returned.

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

      The task definition family status with which to filter the + /// ListTaskDefinitionFamilies results. By default, both + /// ACTIVE and INACTIVE task definition families are listed. + /// If this parameter is set to ACTIVE, only task definition families that have + /// an ACTIVE task definition revision are returned. If this parameter is set + /// to INACTIVE, only task definition families that do not have any + /// ACTIVE task definition revisions are returned. If you paginate the + /// resulting output, be sure to keep the status value constant in each + /// subsequent request.

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

      The nextToken value returned from a + /// ListTaskDefinitionFamilies request indicating that more results are + /// available to fulfill the request and further calls will be needed. If + /// maxResults was provided, it is possible the number of results to be + /// fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of task definition family results returned by + /// ListTaskDefinitionFamilies in paginated output. When this parameter is + /// used, ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another + /// ListTaskDefinitionFamilies request with the returned + /// nextToken value. This value can be between 1 and + /// 100. If this parameter is not used, then + /// ListTaskDefinitionFamilies returns up to 100 results + /// and a nextToken value if applicable.

      + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListTaskDefinitionFamiliesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionFamiliesInput"); + formatter.field("family_prefix", &self.family_prefix); + formatter.field("status", &self.status); + 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 ListTagsForResourceInput { + ///

      The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the + /// supported resources are Amazon ECS tasks, services, task definitions, clusters, and container + /// instances.

      + 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() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListServicesInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListServices results. If you do not specify a cluster, the default cluster is assumed.

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

      The nextToken value returned from a ListServices request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of service results returned by ListServices in + /// paginated output. When this parameter is used, ListServices only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListServices request with the returned nextToken + /// value. This value can be between 1 and 100. If + /// this parameter is not used, then ListServices returns up to + /// 10 results and a nextToken value if + /// applicable.

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

      The launch type to use when filtering the ListServices results.

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

      The scheduling strategy to use when filtering the ListServices + /// results.

      + pub scheduling_strategy: std::option::Option, +} +impl std::fmt::Debug for ListServicesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListServicesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("launch_type", &self.launch_type); + formatter.field("scheduling_strategy", &self.scheduling_strategy); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListContainerInstancesInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// list. If you do not specify a cluster, the default cluster is assumed.

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

      You can filter the results of a ListContainerInstances operation with + /// cluster query language statements. For more information, see Cluster Query Language in the + /// Amazon Elastic Container Service Developer Guide.

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

      The nextToken value returned from a ListContainerInstances + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of container instance results returned by + /// ListContainerInstances in paginated output. When this parameter is + /// used, ListContainerInstances only returns maxResults results + /// in a single page along with a nextToken response element. The remaining + /// results of the initial request can be seen by sending another + /// ListContainerInstances request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListContainerInstances returns up to + /// 100 results and a nextToken value if applicable.

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

      Filters the container instances by status. For example, if you specify the + /// DRAINING status, the results include only container instances that have + /// been set to DRAINING using UpdateContainerInstancesState. + /// If you do not specify this parameter, the default is to include container instances set + /// to all states other than INACTIVE.

      + pub status: std::option::Option, +} +impl std::fmt::Debug for ListContainerInstancesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListContainerInstancesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("filter", &self.filter); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("status", &self.status); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListClustersInput { + ///

      The nextToken value returned from a ListClusters request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of cluster results returned by ListClusters in + /// paginated output. When this parameter is used, ListClusters only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListClusters request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListClusters returns up to + /// 100 results and a nextToken value if applicable.

      + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListClustersInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListClustersInput"); + 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 ListAttributesInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The type of the target with which to list attributes.

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

      The name of the attribute with which to filter the results.

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

      The value of the attribute with which to filter results. You must also specify an + /// attribute name to use this parameter.

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

      The nextToken value returned from a ListAttributes request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of cluster results returned by ListAttributes in + /// paginated output. When this parameter is used, ListAttributes only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListAttributes request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListAttributes returns up to + /// 100 results and a nextToken value if applicable.

      + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListAttributesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAttributesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("target_type", &self.target_type); + formatter.field("attribute_name", &self.attribute_name); + formatter.field("attribute_value", &self.attribute_value); + 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 ListAccountSettingsInput { + ///

      The name of the account setting you want to list the settings for.

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

      The value of the account settings with which to filter results. You must also specify + /// an account setting name to use this parameter.

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

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + /// this field is omitted, the account settings are listed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

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

      Specifies whether to return the effective settings. If true, the account + /// settings for the root user or the default setting for the principalArn are + /// returned. If false, the account settings for the principalArn + /// are returned if they are set. Otherwise, no account settings are returned.

      + pub effective_settings: bool, + ///

      The nextToken value returned from a ListAccountSettings + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

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

      The maximum number of account setting results returned by + /// ListAccountSettings in paginated output. When this parameter is used, + /// ListAccountSettings only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListAccountSettings + /// request with the returned nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then ListAccountSettings returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub max_results: i32, +} +impl std::fmt::Debug for ListAccountSettingsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAccountSettingsInput"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.field("principal_arn", &self.principal_arn); + formatter.field("effective_settings", &self.effective_settings); + 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 ExecuteCommandInput { + ///

      The Amazon Resource Name (ARN) or short name of the cluster the task is running in. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The name of the container to execute the command on. A container name only needs to be + /// specified for tasks containing multiple containers.

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

      The command to run on the container.

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

      Use this flag to run your command in interactive mode.

      + pub interactive: bool, + ///

      The Amazon Resource Name (ARN) or ID of the task the container is part of.

      + pub task: std::option::Option, +} +impl std::fmt::Debug for ExecuteCommandInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecuteCommandInput"); + formatter.field("cluster", &self.cluster); + formatter.field("container", &self.container); + formatter.field("command", &self.command); + formatter.field("interactive", &self.interactive); + formatter.field("task", &self.task); + formatter.finish() + } +} + +#[non_exhaustive] +#[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 AWS 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.

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for DiscoverPollEndpointInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DiscoverPollEndpointInput"); + formatter.field("container_instance", &self.container_instance); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskSetsInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// sets exist in.

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

      The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

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

      The ID or full Amazon Resource Name (ARN) of task sets to + /// describe.

      + pub task_sets: std::option::Option>, + ///

      Specifies whether to see the resource tags for the task set. If TAGS is + /// specified, the tags are included in the response. If this field is omitted, tags are not + /// included in the response.

      + pub include: std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskSetsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskSetsInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("task_sets", &self.task_sets); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTasksInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you + /// are describing were launched in any cluster other than the default cluster.

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

      A list of up to 100 task IDs or full ARN entries.

      + pub tasks: std::option::Option>, + ///

      Specifies whether you want to see the resource tags for the task. If TAGS + /// is specified, the tags are included in the response. If this field is omitted, tags are + /// not included in the response.

      + pub include: std::option::Option>, +} +impl std::fmt::Debug for DescribeTasksInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTasksInput"); + formatter.field("cluster", &self.cluster); + formatter.field("tasks", &self.tasks); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskDefinitionInput { + ///

      The family for the latest ACTIVE revision, + /// family and revision (family:revision) for a + /// specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to + /// describe.

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

      Specifies whether to see the resource tags for the task definition. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskDefinitionInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskDefinitionInput"); + formatter.field("task_definition", &self.task_definition); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeServicesInput { + ///

      The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. + /// If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are + /// describing were launched in any cluster other than the default cluster.

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

      A list of services to describe. You may specify up to 10 services to describe in a + /// single operation.

      + pub services: std::option::Option>, + ///

      Specifies whether you want to see the resource tags for the service. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: std::option::Option>, +} +impl std::fmt::Debug for DescribeServicesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeServicesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("services", &self.services); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeContainerInstancesInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance + /// or container instances you are describing were launched in any cluster other than the + /// default cluster.

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

      A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

      + pub container_instances: std::option::Option>, + ///

      Specifies whether you want to see the resource tags for the container instance. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: std::option::Option>, +} +impl std::fmt::Debug for DescribeContainerInstancesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeContainerInstancesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instances", &self.container_instances); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeClustersInput { + ///

      A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub clusters: std::option::Option>, + ///

      Whether to include additional information about your clusters in the response. If this + /// field is omitted, the attachments, statistics, and tags are not included.

      + ///

      If ATTACHMENTS is specified, the attachments for the container instances + /// or tasks within the cluster are included.

      + ///

      If SETTINGS is specified, the settings for the cluster are + /// included.

      + ///

      If STATISTICS is specified, the following additional information, + /// separated by launch type, is included:

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

        runningEC2TasksCount

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

        runningFargateTasksCount

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

        pendingEC2TasksCount

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

        pendingFargateTasksCount

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

        activeEC2ServiceCount

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

        activeFargateServiceCount

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

        drainingEC2ServiceCount

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

        drainingFargateServiceCount

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

      If TAGS is specified, the metadata tags associated with the cluster are + /// included.

      + pub include: std::option::Option>, +} +impl std::fmt::Debug for DescribeClustersInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeClustersInput"); + formatter.field("clusters", &self.clusters); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeCapacityProvidersInput { + ///

      The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to + /// 100 capacity providers can be described in an action.

      + pub capacity_providers: std::option::Option>, + ///

      Specifies whether or not you want to see the resource tags for the capacity provider. + /// If TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: std::option::Option>, + ///

      The maximum number of account setting results returned by + /// DescribeCapacityProviders in paginated output. When this parameter is + /// used, DescribeCapacityProviders only returns maxResults + /// results in a single page along with a nextToken response element. The + /// remaining results of the initial request can be seen by sending another + /// DescribeCapacityProviders request with the returned + /// nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then DescribeCapacityProviders returns up to + /// 10 results and a nextToken value + /// if applicable.

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

      The nextToken value returned from a previous paginated + /// DescribeCapacityProviders request where maxResults was + /// used and the results exceeded the value of that parameter. Pagination continues from the + /// end of the previous results that returned the nextToken value.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for DescribeCapacityProvidersInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeCapacityProvidersInput"); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field("include", &self.include); + 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 DeregisterTaskDefinitionInput { + ///

      The family and revision (family:revision) or + /// full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a + /// revision.

      + pub task_definition: std::option::Option, +} +impl std::fmt::Debug for DeregisterTaskDefinitionInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterTaskDefinitionInput"); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterContainerInstanceInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// 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 AWS 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 + /// tasks remain running until you terminate the instance or the tasks stop through some + /// other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If + /// an orphaned task on your container instance is part of an Amazon ECS service, then the + /// service scheduler starts another copy of that task, on a different container instance if + /// possible.

      + ///

      Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer + /// target group are deregistered. They begin connection draining according to the settings + /// on the load balancer or target group.

      + pub force: std::option::Option, +} +impl std::fmt::Debug for DeregisterContainerInstanceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterContainerInstanceInput"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instance", &self.container_instance); + formatter.field("force", &self.force); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteTaskSetInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in to delete.

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

      The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to + /// delete.

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

      The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

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

      If true, this allows you to delete a task set even if it hasn't been + /// scaled down to zero.

      + pub force: std::option::Option, +} +impl std::fmt::Debug for DeleteTaskSetInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteTaskSetInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("task_set", &self.task_set); + formatter.field("force", &self.force); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteServiceInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. + /// If you do not specify a cluster, the default cluster is assumed.

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

      The name of the service to delete.

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

      If true, allows you to delete a service even if it has not been scaled + /// down to zero tasks. It is only necessary to use this if the service is using the + /// REPLICA scheduling strategy.

      + pub force: std::option::Option, +} +impl std::fmt::Debug for DeleteServiceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteServiceInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("force", &self.force); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteClusterInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to delete.

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for DeleteClusterInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteClusterInput"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCapacityProviderInput { + ///

      The short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

      + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for DeleteCapacityProviderInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCapacityProviderInput"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAttributesInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete + /// attributes. If you do not specify a cluster, the default cluster is assumed.

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

      The attributes to delete from your resource. You can specify up to 10 attributes per + /// request. For custom attributes, specify the attribute name and target ID, but do not + /// specify the value. If you specify the target ID using the short form, you must also + /// specify the target type.

      + pub attributes: std::option::Option>, +} +impl std::fmt::Debug for DeleteAttributesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAttributesInput"); + formatter.field("cluster", &self.cluster); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAccountSettingInput { + ///

      The resource name for which to disable the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected.

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

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it disables the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + pub principal_arn: std::option::Option, +} +impl std::fmt::Debug for DeleteAccountSettingInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAccountSettingInput"); + formatter.field("name", &self.name); + formatter.field("principal_arn", &self.principal_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateTaskSetInput { + ///

      The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

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

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the + /// task set in.

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

      An optional non-unique tag that identifies this task set in external systems. If the + /// task set is associated with a service discovery registry, the tasks in this task set + /// will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided + /// value.

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

      The task definition for the tasks in the task set to use.

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

      An object representing the network configuration for a task set.

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

      A load balancer object representing the load balancer to use with the task set. The + /// supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

      + pub load_balancers: std::option::Option>, + ///

      The details of the service discovery registries to assign to this task set. For more + /// information, see Service + /// Discovery.

      + pub service_registries: std::option::Option>, + ///

      The launch type that new tasks in the task set will use. For more information, see + /// Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

      + ///

      If a launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

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

      The capacity provider strategy to use for the task set.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + pub capacity_provider_strategy: + std::option::Option>, + ///

      The platform version that the tasks in the task set should use. A platform version is + /// specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default.

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

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

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

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

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

      The metadata that you apply to the task set to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define. When a + /// service is deleted, the tags are deleted as well.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, +} +impl std::fmt::Debug for CreateTaskSetInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateTaskSetInput"); + formatter.field("service", &self.service); + formatter.field("cluster", &self.cluster); + formatter.field("external_id", &self.external_id); + formatter.field("task_definition", &self.task_definition); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("load_balancers", &self.load_balancers); + formatter.field("service_registries", &self.service_registries); + formatter.field("launch_type", &self.launch_type); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("platform_version", &self.platform_version); + formatter.field("scale", &self.scale); + formatter.field("client_token", &self.client_token); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateServiceInput { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: 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 + /// Region or across multiple Regions.

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

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used.

      + ///

      A task definition must be specified if the service is using either the + /// ECS or CODE_DEPLOY deployment controllers.

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

      A load balancer object representing the load balancers to use with your service. For + /// more information, see Service Load Balancing in the + /// Amazon Elastic Container Service Developer Guide.

      + ///

      If the service is using the rolling update (ECS) deployment controller + /// and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to + /// attach to the service. The service-linked role is required for services that make use of + /// multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///

      If the service is using the CODE_DEPLOY deployment controller, the + /// service is required to use either an Application Load Balancer or Network Load Balancer. When creating an AWS CodeDeploy deployment + /// group, you specify two target groups (referred to as a targetGroupPair). + /// During a deployment, AWS CodeDeploy determines which task set in your service has the status + /// PRIMARY and associates one target group with it, and then associates + /// the other target group with the replacement task set. The load balancer can also have up + /// to two listeners: a required listener for production traffic and an optional listener + /// that allows you perform validation tests with Lambda functions before routing production + /// traffic to it.

      + ///

      After you create a service using the ECS deployment controller, the load + /// balancer name or target group ARN, container name, and container port specified in the + /// service definition are immutable. If you are using the CODE_DEPLOY + /// deployment controller, these values can be changed when updating the service.

      + ///

      For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, + /// the container name (as it appears in a container definition), and the container port to + /// access from the load balancer. The load balancer name parameter must be omitted. When a + /// task from this service is placed on a container instance, the container instance and + /// port combination is registered as a target in the target group specified here.

      + ///

      For Classic Load Balancers, this object must contain the load balancer name, the container name (as it + /// appears in a container definition), and the container port to access from the load + /// balancer. The target group ARN parameter must be omitted. When a task from this service + /// is placed on a container instance, the container instance is registered with the load + /// balancer specified here.

      + ///

      Services with tasks that use the awsvpc network mode (for example, those + /// with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are + /// not supported. Also, when you create any target groups for these services, you must + /// choose ip as the target type, not instance, because tasks that + /// use the awsvpc network mode are associated with an elastic network + /// interface, not an Amazon EC2 instance.

      + pub load_balancers: std::option::Option>, + ///

      The details of the service discovery registry to associate with this service. For more + /// information, see Service + /// discovery.

      + /// + ///

      Each service may be associated with one service registry. Multiple service + /// registries per service isn't supported.

      + ///
      + pub service_registries: std::option::Option>, + ///

      The number of instantiations of the specified task definition to place and keep + /// running on your cluster.

      + ///

      This is required if schedulingStrategy is REPLICA or is not + /// specified. If schedulingStrategy is DAEMON then this is not + /// required.

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

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

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

      The infrastructure on which to run your service. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A service can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

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

      The capacity provider strategy to use for the service.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + pub capacity_provider_strategy: + std::option::Option>, + ///

      The platform version that your tasks in the service are running on. A platform version + /// is specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default. For more + /// information, see AWS Fargate platform + /// versions in the Amazon Elastic Container Service Developer Guide.

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

      The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your + /// load balancer on your behalf. This parameter is only permitted if you are using a load + /// balancer with your service and your task definition does not use the awsvpc + /// network mode. If you specify the role parameter, you must also specify a + /// load balancer object with the loadBalancers parameter.

      + /// + ///

      If your account has already created the Amazon ECS service-linked role, that role is + /// used by default for your service unless you specify a role here. The service-linked + /// role is required if your task definition uses the awsvpc network mode + /// or if the service is configured to use service discovery, an external deployment + /// controller, multiple target groups, or Elastic Inference accelerators in which case + /// you should not specify a role here. For more information, see Using + /// service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///
      + ///

      If your specified role has a path other than /, then you must either + /// specify the full role ARN (this is recommended) or prefix the role name with the path. + /// For example, if a role with the name bar has a path of /foo/ + /// then you would specify /foo/bar as the role name. For more information, see + /// Friendly names and paths in the IAM User Guide.

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

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + 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).

      + 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.

      + 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 + /// network interface, and it is not supported for other network modes. For more + /// information, see Task networking + /// in the Amazon Elastic Container Service Developer Guide.

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

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used + /// when your service is configured to use a load balancer. If your service has a load + /// balancer defined and you don't specify a health check grace period value, the default + /// value of 0 is used.

      + ///

      If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you + /// can specify a health check grace period of up to 2,147,483,647 seconds. During that + /// time, the Amazon ECS service scheduler ignores health check status. This grace period can + /// prevent the service scheduler from marking tasks as unhealthy and stopping them before + /// they have time to come up.

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

      The scheduling strategy to use for the service. For more information, see Services.

      + ///

      There are two service scheduler strategies available:

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

        + /// REPLICA-The replica scheduling strategy places and + /// maintains the desired number of tasks across your cluster. By default, the + /// service scheduler spreads tasks across Availability Zones. You can use task + /// placement strategies and constraints to customize task placement decisions. This + /// scheduler strategy is required if the service is using the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types.

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

        + /// DAEMON-The daemon scheduling strategy deploys exactly one + /// task on each active container instance that meets all of the task placement + /// constraints that you specify in your cluster. The service scheduler also + /// evaluates the task placement constraints for running tasks and will stop tasks + /// that do not meet the placement constraints. When you're using this strategy, you + /// don't need to specify a desired number of tasks, a task placement strategy, or + /// use Service Auto Scaling policies.

        + /// + ///

        Tasks using the Fargate launch type or the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types don't support the DAEMON scheduling strategy.

        + ///
        + ///
      • + ///
      + pub scheduling_strategy: std::option::Option, + ///

      The deployment controller to use for the service. If no deployment controller is + /// specified, the default value of ECS is used.

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

      The metadata that you apply to the service to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define. When a + /// service is deleted, the tags are deleted as well.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, + ///

      Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For + /// more information, see Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub enable_ecs_managed_tags: bool, + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// tasks in the service. If no value is specified, the tags are not propagated. Tags can + /// only be propagated to the tasks within the service during service creation. To add tags + /// to a task after service creation, use the TagResource API + /// action.

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

      Whether or not the execute command functionality is enabled for the service. If + /// true, this enables execute command functionality on all containers in + /// the service tasks.

      + pub enable_execute_command: bool, +} +impl std::fmt::Debug for CreateServiceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateServiceInput"); + formatter.field("cluster", &self.cluster); + formatter.field("service_name", &self.service_name); + formatter.field("task_definition", &self.task_definition); + formatter.field("load_balancers", &self.load_balancers); + formatter.field("service_registries", &self.service_registries); + formatter.field("desired_count", &self.desired_count); + formatter.field("client_token", &self.client_token); + formatter.field("launch_type", &self.launch_type); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("platform_version", &self.platform_version); + formatter.field("role", &self.role); + formatter.field("deployment_configuration", &self.deployment_configuration); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("network_configuration", &self.network_configuration); + formatter.field( + "health_check_grace_period_seconds", + &self.health_check_grace_period_seconds, + ); + formatter.field("scheduling_strategy", &self.scheduling_strategy); + formatter.field("deployment_controller", &self.deployment_controller); + formatter.field("tags", &self.tags); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateClusterInput { + ///

      The name of your cluster. If you do not specify a name for your cluster, you create a + /// cluster named default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

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

      The metadata that you apply to the cluster to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, + ///

      The setting to use when creating a cluster. This parameter is used to enable CloudWatch + /// Container Insights for a cluster. If this value is specified, it will override the + /// containerInsights value set with PutAccountSetting or + /// PutAccountSettingDefault.

      + pub settings: std::option::Option>, + ///

      The execute command configuration for the cluster.

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

      The short name of one or more capacity providers to associate with the cluster. A + /// capacity provider must be associated with a cluster before it can be included as part of + /// the default capacity provider strategy of the cluster or used in a capacity provider + /// strategy when calling the CreateService or RunTask + /// actions.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created and not already associated with another cluster. New + /// Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// 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 + /// 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, + /// it can be defined later with the PutClusterCapacityProviders API + /// operation.

      + pub default_capacity_provider_strategy: + std::option::Option>, +} +impl std::fmt::Debug for CreateClusterInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateClusterInput"); + formatter.field("cluster_name", &self.cluster_name); + formatter.field("tags", &self.tags); + formatter.field("settings", &self.settings); + formatter.field("configuration", &self.configuration); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field( + "default_capacity_provider_strategy", + &self.default_capacity_provider_strategy, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateCapacityProviderInput { + ///

      The name of the capacity provider. Up to 255 characters are allowed, including letters + /// (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed + /// with "aws", "ecs", or "fargate".

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

      The details of the Auto Scaling group for the capacity provider.

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

      The metadata that you apply to the capacity provider to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, +} +impl std::fmt::Debug for CreateCapacityProviderInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateCapacityProviderInput"); + formatter.field("name", &self.name); + formatter.field( + "auto_scaling_group_provider", + &self.auto_scaling_group_provider, + ); + formatter.field("tags", &self.tags); + formatter.finish() + } +} diff --git a/sdk/ecs/src/instant_epoch.rs b/sdk/ecs/src/instant_epoch.rs new file mode 100644 index 000000000000..9145f8004d47 --- /dev/null +++ b/sdk/ecs/src/instant_epoch.rs @@ -0,0 +1,33 @@ +// 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 serde::{Deserialize, Deserializer, Serialize, Serializer}; +use smithy_types::Instant; + +pub struct InstantEpoch(pub Instant); + +impl Serialize for InstantEpoch { + fn serialize(&self, serializer: S) -> Result<::Ok, ::Error> + where + S: Serializer, + { + if self.0.has_nanos() { + serializer.serialize_f64(self.0.epoch_fractional_seconds()) + } else { + serializer.serialize_i64(self.0.epoch_seconds()) + } + } +} + +impl<'de> Deserialize<'de> for InstantEpoch { + fn deserialize(deserializer: D) -> Result>::Error> + where + D: Deserializer<'de>, + { + let ts = f64::deserialize(deserializer)?; + Ok(InstantEpoch(Instant::from_f64(ts))) + } +} diff --git a/sdk/ecs/src/json_deser.rs b/sdk/ecs/src/json_deser.rs new file mode 100644 index 000000000000..3c66f8924ff8 --- /dev/null +++ b/sdk/ecs/src/json_deser.rs @@ -0,0 +1,827 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn create_capacity_provider_deser_operation( + inp: &[u8], + mut builder: crate::output::create_capacity_provider_output::Builder, +) -> Result { + let parsed_body: crate::serializer::CreateCapacityProviderOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_capacity_provider(parsed_body.capacity_provider); + Ok(builder) +} + +pub fn create_cluster_deser_operation( + inp: &[u8], + mut builder: crate::output::create_cluster_output::Builder, +) -> Result { + let parsed_body: crate::serializer::CreateClusterOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster(parsed_body.cluster); + Ok(builder) +} + +pub fn create_service_deser_operation( + inp: &[u8], + mut builder: crate::output::create_service_output::Builder, +) -> Result { + let parsed_body: crate::serializer::CreateServiceOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_service(parsed_body.service); + Ok(builder) +} + +pub fn create_task_set_deser_operation( + inp: &[u8], + mut builder: crate::output::create_task_set_output::Builder, +) -> Result { + let parsed_body: crate::serializer::CreateTaskSetOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_set(parsed_body.task_set); + Ok(builder) +} + +pub fn delete_account_setting_deser_operation( + inp: &[u8], + mut builder: crate::output::delete_account_setting_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeleteAccountSettingOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_setting(parsed_body.setting); + Ok(builder) +} + +pub fn delete_attributes_deser_operation( + inp: &[u8], + mut builder: crate::output::delete_attributes_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeleteAttributesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_attributes(parsed_body.attributes); + Ok(builder) +} + +pub fn delete_capacity_provider_deser_operation( + inp: &[u8], + mut builder: crate::output::delete_capacity_provider_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeleteCapacityProviderOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_capacity_provider(parsed_body.capacity_provider); + Ok(builder) +} + +pub fn delete_cluster_deser_operation( + inp: &[u8], + mut builder: crate::output::delete_cluster_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeleteClusterOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster(parsed_body.cluster); + Ok(builder) +} + +pub fn delete_service_deser_operation( + inp: &[u8], + mut builder: crate::output::delete_service_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeleteServiceOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_service(parsed_body.service); + Ok(builder) +} + +pub fn delete_task_set_deser_operation( + inp: &[u8], + mut builder: crate::output::delete_task_set_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeleteTaskSetOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_set(parsed_body.task_set); + Ok(builder) +} + +pub fn deregister_container_instance_deser_operation( + inp: &[u8], + mut builder: crate::output::deregister_container_instance_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeregisterContainerInstanceOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_container_instance(parsed_body.container_instance); + Ok(builder) +} + +pub fn deregister_task_definition_deser_operation( + inp: &[u8], + mut builder: crate::output::deregister_task_definition_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DeregisterTaskDefinitionOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_definition(parsed_body.task_definition); + Ok(builder) +} + +pub fn describe_capacity_providers_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_capacity_providers_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeCapacityProvidersOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_capacity_providers(parsed_body.capacity_providers); + builder = builder.set_failures(parsed_body.failures); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn describe_clusters_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_clusters_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeClustersOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_clusters(parsed_body.clusters); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn describe_container_instances_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_container_instances_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeContainerInstancesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_container_instances(parsed_body.container_instances); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn describe_services_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_services_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeServicesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_services(parsed_body.services); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn describe_task_definition_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_task_definition_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeTaskDefinitionOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_definition(parsed_body.task_definition); + builder = builder.set_tags(parsed_body.tags); + Ok(builder) +} + +pub fn describe_tasks_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_tasks_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeTasksOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_tasks(parsed_body.tasks); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn describe_task_sets_deser_operation( + inp: &[u8], + mut builder: crate::output::describe_task_sets_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DescribeTaskSetsOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_sets(parsed_body.task_sets); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn discover_poll_endpoint_deser_operation( + inp: &[u8], + mut builder: crate::output::discover_poll_endpoint_output::Builder, +) -> Result { + let parsed_body: crate::serializer::DiscoverPollEndpointOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_endpoint(parsed_body.endpoint); + builder = builder.set_telemetry_endpoint(parsed_body.telemetry_endpoint); + Ok(builder) +} + +pub fn execute_command_deser_operation( + inp: &[u8], + mut builder: crate::output::execute_command_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ExecuteCommandOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster_arn(parsed_body.cluster_arn); + builder = builder.set_container_arn(parsed_body.container_arn); + builder = builder.set_container_name(parsed_body.container_name); + builder = builder.set_interactive(parsed_body.interactive); + builder = builder.set_session(parsed_body.session); + builder = builder.set_task_arn(parsed_body.task_arn); + Ok(builder) +} + +pub fn list_account_settings_deser_operation( + inp: &[u8], + mut builder: crate::output::list_account_settings_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListAccountSettingsOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_settings(parsed_body.settings); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_attributes_deser_operation( + inp: &[u8], + mut builder: crate::output::list_attributes_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListAttributesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_attributes(parsed_body.attributes); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_clusters_deser_operation( + inp: &[u8], + mut builder: crate::output::list_clusters_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListClustersOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster_arns(parsed_body.cluster_arns); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_container_instances_deser_operation( + inp: &[u8], + mut builder: crate::output::list_container_instances_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListContainerInstancesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_container_instance_arns(parsed_body.container_instance_arns); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_services_deser_operation( + inp: &[u8], + mut builder: crate::output::list_services_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListServicesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_service_arns(parsed_body.service_arns); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_tags_for_resource_deser_operation( + inp: &[u8], + mut builder: crate::output::list_tags_for_resource_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListTagsForResourceOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_tags(parsed_body.tags); + Ok(builder) +} + +pub fn list_task_definition_families_deser_operation( + inp: &[u8], + mut builder: crate::output::list_task_definition_families_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListTaskDefinitionFamiliesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_families(parsed_body.families); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_task_definitions_deser_operation( + inp: &[u8], + mut builder: crate::output::list_task_definitions_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListTaskDefinitionsOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_definition_arns(parsed_body.task_definition_arns); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn list_tasks_deser_operation( + inp: &[u8], + mut builder: crate::output::list_tasks_output::Builder, +) -> Result { + let parsed_body: crate::serializer::ListTasksOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_arns(parsed_body.task_arns); + builder = builder.set_next_token(parsed_body.next_token); + Ok(builder) +} + +pub fn put_account_setting_deser_operation( + inp: &[u8], + mut builder: crate::output::put_account_setting_output::Builder, +) -> Result { + let parsed_body: crate::serializer::PutAccountSettingOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_setting(parsed_body.setting); + Ok(builder) +} + +pub fn put_account_setting_default_deser_operation( + inp: &[u8], + mut builder: crate::output::put_account_setting_default_output::Builder, +) -> Result { + let parsed_body: crate::serializer::PutAccountSettingDefaultOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_setting(parsed_body.setting); + Ok(builder) +} + +pub fn put_attributes_deser_operation( + inp: &[u8], + mut builder: crate::output::put_attributes_output::Builder, +) -> Result { + let parsed_body: crate::serializer::PutAttributesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_attributes(parsed_body.attributes); + Ok(builder) +} + +pub fn put_cluster_capacity_providers_deser_operation( + inp: &[u8], + mut builder: crate::output::put_cluster_capacity_providers_output::Builder, +) -> Result { + let parsed_body: crate::serializer::PutClusterCapacityProvidersOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster(parsed_body.cluster); + Ok(builder) +} + +pub fn register_container_instance_deser_operation( + inp: &[u8], + mut builder: crate::output::register_container_instance_output::Builder, +) -> Result { + let parsed_body: crate::serializer::RegisterContainerInstanceOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_container_instance(parsed_body.container_instance); + Ok(builder) +} + +pub fn register_task_definition_deser_operation( + inp: &[u8], + mut builder: crate::output::register_task_definition_output::Builder, +) -> Result { + let parsed_body: crate::serializer::RegisterTaskDefinitionOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_definition(parsed_body.task_definition); + builder = builder.set_tags(parsed_body.tags); + Ok(builder) +} + +pub fn run_task_deser_operation( + inp: &[u8], + mut builder: crate::output::run_task_output::Builder, +) -> Result { + let parsed_body: crate::serializer::RunTaskOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_tasks(parsed_body.tasks); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn start_task_deser_operation( + inp: &[u8], + mut builder: crate::output::start_task_output::Builder, +) -> Result { + let parsed_body: crate::serializer::StartTaskOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_tasks(parsed_body.tasks); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn stop_task_deser_operation( + inp: &[u8], + mut builder: crate::output::stop_task_output::Builder, +) -> Result { + let parsed_body: crate::serializer::StopTaskOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task(parsed_body.task); + Ok(builder) +} + +pub fn submit_attachment_state_changes_deser_operation( + inp: &[u8], + mut builder: crate::output::submit_attachment_state_changes_output::Builder, +) -> Result { + let parsed_body: crate::serializer::SubmitAttachmentStateChangesOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_acknowledgment(parsed_body.acknowledgment); + Ok(builder) +} + +pub fn submit_container_state_change_deser_operation( + inp: &[u8], + mut builder: crate::output::submit_container_state_change_output::Builder, +) -> Result { + let parsed_body: crate::serializer::SubmitContainerStateChangeOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_acknowledgment(parsed_body.acknowledgment); + Ok(builder) +} + +pub fn submit_task_state_change_deser_operation( + inp: &[u8], + mut builder: crate::output::submit_task_state_change_output::Builder, +) -> Result { + let parsed_body: crate::serializer::SubmitTaskStateChangeOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_acknowledgment(parsed_body.acknowledgment); + Ok(builder) +} + +pub fn update_capacity_provider_deser_operation( + inp: &[u8], + mut builder: crate::output::update_capacity_provider_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateCapacityProviderOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_capacity_provider(parsed_body.capacity_provider); + Ok(builder) +} + +pub fn update_cluster_deser_operation( + inp: &[u8], + mut builder: crate::output::update_cluster_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateClusterOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster(parsed_body.cluster); + Ok(builder) +} + +pub fn update_cluster_settings_deser_operation( + inp: &[u8], + mut builder: crate::output::update_cluster_settings_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateClusterSettingsOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_cluster(parsed_body.cluster); + Ok(builder) +} + +pub fn update_container_agent_deser_operation( + inp: &[u8], + mut builder: crate::output::update_container_agent_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateContainerAgentOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_container_instance(parsed_body.container_instance); + Ok(builder) +} + +pub fn update_container_instances_state_deser_operation( + inp: &[u8], + mut builder: crate::output::update_container_instances_state_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateContainerInstancesStateOutputBody = if inp.is_empty() + { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_container_instances(parsed_body.container_instances); + builder = builder.set_failures(parsed_body.failures); + Ok(builder) +} + +pub fn update_service_deser_operation( + inp: &[u8], + mut builder: crate::output::update_service_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateServiceOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_service(parsed_body.service); + Ok(builder) +} + +pub fn update_service_primary_task_set_deser_operation( + inp: &[u8], + mut builder: crate::output::update_service_primary_task_set_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateServicePrimaryTaskSetOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_set(parsed_body.task_set); + Ok(builder) +} + +pub fn update_task_set_deser_operation( + inp: &[u8], + mut builder: crate::output::update_task_set_output::Builder, +) -> Result { + let parsed_body: crate::serializer::UpdateTaskSetOutputBody = if inp.is_empty() { + // To enable JSON parsing to succeed, replace an empty body + // with an empty JSON body. If a member was required, it will fail slightly later + // during the operation construction phase when a required field was missing. + serde_json::from_slice(b"{}")? + } else { + serde_json::from_slice(inp)? + }; + builder = builder.set_task_set(parsed_body.task_set); + Ok(builder) +} diff --git a/sdk/ecs/src/json_ser.rs b/sdk/ecs/src/json_ser.rs new file mode 100644 index 000000000000..fd412f49fbf0 --- /dev/null +++ b/sdk/ecs/src/json_ser.rs @@ -0,0 +1,2904 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_create_capacity_provider_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateCapacityProviderInput, +) { + if let Some(var_1) = &input.name { + object.key("name").string(var_1); + } + if let Some(var_2) = &input.auto_scaling_group_provider { + let mut object_3 = object.key("autoScalingGroupProvider").start_object(); + crate::json_ser::serialize_structure_auto_scaling_group_provider(&mut object_3, var_2); + object_3.finish(); + } + 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_cluster_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateClusterInput, +) { + if let Some(var_8) = &input.cluster_name { + object.key("clusterName").string(var_8); + } + if let Some(var_9) = &input.tags { + let mut array_10 = object.key("tags").start_array(); + for item_11 in var_9 { + let mut object_12 = array_10.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_12, item_11); + object_12.finish(); + } + array_10.finish(); + } + if let Some(var_13) = &input.settings { + let mut array_14 = object.key("settings").start_array(); + for item_15 in var_13 { + let mut object_16 = array_14.value().start_object(); + crate::json_ser::serialize_structure_cluster_setting(&mut object_16, item_15); + object_16.finish(); + } + array_14.finish(); + } + if let Some(var_17) = &input.configuration { + let mut object_18 = object.key("configuration").start_object(); + crate::json_ser::serialize_structure_cluster_configuration(&mut object_18, var_17); + object_18.finish(); + } + if let Some(var_19) = &input.capacity_providers { + let mut array_20 = object.key("capacityProviders").start_array(); + for item_21 in var_19 { + array_20.value().string(item_21); + } + array_20.finish(); + } + if let Some(var_22) = &input.default_capacity_provider_strategy { + let mut array_23 = object.key("defaultCapacityProviderStrategy").start_array(); + for item_24 in var_22 { + let mut object_25 = array_23.value().start_object(); + crate::json_ser::serialize_structure_capacity_provider_strategy_item( + &mut object_25, + item_24, + ); + object_25.finish(); + } + array_23.finish(); + } +} + +pub fn serialize_structure_create_service_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateServiceInput, +) { + if let Some(var_26) = &input.cluster { + object.key("cluster").string(var_26); + } + if let Some(var_27) = &input.service_name { + object.key("serviceName").string(var_27); + } + if let Some(var_28) = &input.task_definition { + object.key("taskDefinition").string(var_28); + } + if let Some(var_29) = &input.load_balancers { + let mut array_30 = object.key("loadBalancers").start_array(); + for item_31 in var_29 { + let mut object_32 = array_30.value().start_object(); + crate::json_ser::serialize_structure_load_balancer(&mut object_32, item_31); + object_32.finish(); + } + array_30.finish(); + } + if let Some(var_33) = &input.service_registries { + let mut array_34 = object.key("serviceRegistries").start_array(); + for item_35 in var_33 { + let mut object_36 = array_34.value().start_object(); + crate::json_ser::serialize_structure_service_registry(&mut object_36, item_35); + object_36.finish(); + } + array_34.finish(); + } + if let Some(var_37) = &input.desired_count { + object.key("desiredCount").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_37).into()), + ); + } + if let Some(var_38) = &input.client_token { + object.key("clientToken").string(var_38); + } + if let Some(var_39) = &input.launch_type { + object.key("launchType").string(var_39.as_str()); + } + if let Some(var_40) = &input.capacity_provider_strategy { + let mut array_41 = object.key("capacityProviderStrategy").start_array(); + for item_42 in var_40 { + let mut object_43 = array_41.value().start_object(); + crate::json_ser::serialize_structure_capacity_provider_strategy_item( + &mut object_43, + item_42, + ); + object_43.finish(); + } + array_41.finish(); + } + if let Some(var_44) = &input.platform_version { + object.key("platformVersion").string(var_44); + } + if let Some(var_45) = &input.role { + object.key("role").string(var_45); + } + if let Some(var_46) = &input.deployment_configuration { + let mut object_47 = object.key("deploymentConfiguration").start_object(); + crate::json_ser::serialize_structure_deployment_configuration(&mut object_47, var_46); + object_47.finish(); + } + if let Some(var_48) = &input.placement_constraints { + let mut array_49 = object.key("placementConstraints").start_array(); + for item_50 in var_48 { + let mut object_51 = array_49.value().start_object(); + crate::json_ser::serialize_structure_placement_constraint(&mut object_51, item_50); + object_51.finish(); + } + array_49.finish(); + } + if let Some(var_52) = &input.placement_strategy { + let mut array_53 = object.key("placementStrategy").start_array(); + for item_54 in var_52 { + let mut object_55 = array_53.value().start_object(); + crate::json_ser::serialize_structure_placement_strategy(&mut object_55, item_54); + object_55.finish(); + } + array_53.finish(); + } + if let Some(var_56) = &input.network_configuration { + let mut object_57 = object.key("networkConfiguration").start_object(); + crate::json_ser::serialize_structure_network_configuration(&mut object_57, var_56); + object_57.finish(); + } + if let Some(var_58) = &input.health_check_grace_period_seconds { + object.key("healthCheckGracePeriodSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_58).into()), + ); + } + if let Some(var_59) = &input.scheduling_strategy { + object.key("schedulingStrategy").string(var_59.as_str()); + } + if let Some(var_60) = &input.deployment_controller { + let mut object_61 = object.key("deploymentController").start_object(); + crate::json_ser::serialize_structure_deployment_controller(&mut object_61, var_60); + object_61.finish(); + } + if let Some(var_62) = &input.tags { + let mut array_63 = object.key("tags").start_array(); + for item_64 in var_62 { + let mut object_65 = array_63.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_65, item_64); + object_65.finish(); + } + array_63.finish(); + } + object + .key("enableECSManagedTags") + .boolean(input.enable_ecs_managed_tags); + if let Some(var_66) = &input.propagate_tags { + object.key("propagateTags").string(var_66.as_str()); + } + object + .key("enableExecuteCommand") + .boolean(input.enable_execute_command); +} + +pub fn serialize_structure_create_task_set_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateTaskSetInput, +) { + if let Some(var_67) = &input.service { + object.key("service").string(var_67); + } + if let Some(var_68) = &input.cluster { + object.key("cluster").string(var_68); + } + if let Some(var_69) = &input.external_id { + object.key("externalId").string(var_69); + } + if let Some(var_70) = &input.task_definition { + object.key("taskDefinition").string(var_70); + } + if let Some(var_71) = &input.network_configuration { + let mut object_72 = object.key("networkConfiguration").start_object(); + crate::json_ser::serialize_structure_network_configuration(&mut object_72, var_71); + object_72.finish(); + } + if let Some(var_73) = &input.load_balancers { + let mut array_74 = object.key("loadBalancers").start_array(); + for item_75 in var_73 { + let mut object_76 = array_74.value().start_object(); + crate::json_ser::serialize_structure_load_balancer(&mut object_76, item_75); + object_76.finish(); + } + array_74.finish(); + } + if let Some(var_77) = &input.service_registries { + let mut array_78 = object.key("serviceRegistries").start_array(); + for item_79 in var_77 { + let mut object_80 = array_78.value().start_object(); + crate::json_ser::serialize_structure_service_registry(&mut object_80, item_79); + object_80.finish(); + } + array_78.finish(); + } + if let Some(var_81) = &input.launch_type { + object.key("launchType").string(var_81.as_str()); + } + if let Some(var_82) = &input.capacity_provider_strategy { + let mut array_83 = object.key("capacityProviderStrategy").start_array(); + for item_84 in var_82 { + let mut object_85 = array_83.value().start_object(); + crate::json_ser::serialize_structure_capacity_provider_strategy_item( + &mut object_85, + item_84, + ); + object_85.finish(); + } + array_83.finish(); + } + if let Some(var_86) = &input.platform_version { + object.key("platformVersion").string(var_86); + } + if let Some(var_87) = &input.scale { + let mut object_88 = object.key("scale").start_object(); + crate::json_ser::serialize_structure_scale(&mut object_88, var_87); + object_88.finish(); + } + if let Some(var_89) = &input.client_token { + object.key("clientToken").string(var_89); + } + if let Some(var_90) = &input.tags { + let mut array_91 = object.key("tags").start_array(); + for item_92 in var_90 { + let mut object_93 = array_91.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_93, item_92); + object_93.finish(); + } + array_91.finish(); + } +} + +pub fn serialize_structure_delete_account_setting_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteAccountSettingInput, +) { + if let Some(var_94) = &input.name { + object.key("name").string(var_94.as_str()); + } + if let Some(var_95) = &input.principal_arn { + object.key("principalArn").string(var_95); + } +} + +pub fn serialize_structure_delete_attributes_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteAttributesInput, +) { + if let Some(var_96) = &input.cluster { + object.key("cluster").string(var_96); + } + if let Some(var_97) = &input.attributes { + let mut array_98 = object.key("attributes").start_array(); + for item_99 in var_97 { + let mut object_100 = array_98.value().start_object(); + crate::json_ser::serialize_structure_attribute(&mut object_100, item_99); + object_100.finish(); + } + array_98.finish(); + } +} + +pub fn serialize_structure_delete_capacity_provider_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteCapacityProviderInput, +) { + if let Some(var_101) = &input.capacity_provider { + object.key("capacityProvider").string(var_101); + } +} + +pub fn serialize_structure_delete_cluster_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteClusterInput, +) { + if let Some(var_102) = &input.cluster { + object.key("cluster").string(var_102); + } +} + +pub fn serialize_structure_delete_service_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteServiceInput, +) { + if let Some(var_103) = &input.cluster { + object.key("cluster").string(var_103); + } + if let Some(var_104) = &input.service { + object.key("service").string(var_104); + } + if let Some(var_105) = &input.force { + object.key("force").boolean(*var_105); + } +} + +pub fn serialize_structure_delete_task_set_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteTaskSetInput, +) { + if let Some(var_106) = &input.cluster { + object.key("cluster").string(var_106); + } + if let Some(var_107) = &input.service { + object.key("service").string(var_107); + } + if let Some(var_108) = &input.task_set { + object.key("taskSet").string(var_108); + } + if let Some(var_109) = &input.force { + object.key("force").boolean(*var_109); + } +} + +pub fn serialize_structure_deregister_container_instance_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterContainerInstanceInput, +) { + if let Some(var_110) = &input.cluster { + object.key("cluster").string(var_110); + } + if let Some(var_111) = &input.container_instance { + object.key("containerInstance").string(var_111); + } + if let Some(var_112) = &input.force { + object.key("force").boolean(*var_112); + } +} + +pub fn serialize_structure_deregister_task_definition_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterTaskDefinitionInput, +) { + if let Some(var_113) = &input.task_definition { + object.key("taskDefinition").string(var_113); + } +} + +pub fn serialize_structure_describe_capacity_providers_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeCapacityProvidersInput, +) { + if let Some(var_114) = &input.capacity_providers { + let mut array_115 = object.key("capacityProviders").start_array(); + for item_116 in var_114 { + array_115.value().string(item_116); + } + array_115.finish(); + } + if let Some(var_117) = &input.include { + let mut array_118 = object.key("include").start_array(); + for item_119 in var_117 { + array_118.value().string(item_119.as_str()); + } + array_118.finish(); + } + if let Some(var_120) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_120).into()), + ); + } + if let Some(var_121) = &input.next_token { + object.key("nextToken").string(var_121); + } +} + +pub fn serialize_structure_describe_clusters_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeClustersInput, +) { + if let Some(var_122) = &input.clusters { + let mut array_123 = object.key("clusters").start_array(); + for item_124 in var_122 { + array_123.value().string(item_124); + } + array_123.finish(); + } + if let Some(var_125) = &input.include { + let mut array_126 = object.key("include").start_array(); + for item_127 in var_125 { + array_126.value().string(item_127.as_str()); + } + array_126.finish(); + } +} + +pub fn serialize_structure_describe_container_instances_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeContainerInstancesInput, +) { + if let Some(var_128) = &input.cluster { + object.key("cluster").string(var_128); + } + if let Some(var_129) = &input.container_instances { + let mut array_130 = object.key("containerInstances").start_array(); + for item_131 in var_129 { + array_130.value().string(item_131); + } + array_130.finish(); + } + if let Some(var_132) = &input.include { + let mut array_133 = object.key("include").start_array(); + for item_134 in var_132 { + array_133.value().string(item_134.as_str()); + } + array_133.finish(); + } +} + +pub fn serialize_structure_describe_services_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeServicesInput, +) { + if let Some(var_135) = &input.cluster { + object.key("cluster").string(var_135); + } + if let Some(var_136) = &input.services { + let mut array_137 = object.key("services").start_array(); + for item_138 in var_136 { + array_137.value().string(item_138); + } + array_137.finish(); + } + if let Some(var_139) = &input.include { + let mut array_140 = object.key("include").start_array(); + for item_141 in var_139 { + array_140.value().string(item_141.as_str()); + } + array_140.finish(); + } +} + +pub fn serialize_structure_describe_task_definition_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeTaskDefinitionInput, +) { + if let Some(var_142) = &input.task_definition { + object.key("taskDefinition").string(var_142); + } + if let Some(var_143) = &input.include { + let mut array_144 = object.key("include").start_array(); + for item_145 in var_143 { + array_144.value().string(item_145.as_str()); + } + array_144.finish(); + } +} + +pub fn serialize_structure_describe_tasks_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeTasksInput, +) { + if let Some(var_146) = &input.cluster { + object.key("cluster").string(var_146); + } + if let Some(var_147) = &input.tasks { + let mut array_148 = object.key("tasks").start_array(); + for item_149 in var_147 { + array_148.value().string(item_149); + } + array_148.finish(); + } + if let Some(var_150) = &input.include { + let mut array_151 = object.key("include").start_array(); + for item_152 in var_150 { + array_151.value().string(item_152.as_str()); + } + array_151.finish(); + } +} + +pub fn serialize_structure_describe_task_sets_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeTaskSetsInput, +) { + if let Some(var_153) = &input.cluster { + object.key("cluster").string(var_153); + } + if let Some(var_154) = &input.service { + object.key("service").string(var_154); + } + if let Some(var_155) = &input.task_sets { + let mut array_156 = object.key("taskSets").start_array(); + for item_157 in var_155 { + array_156.value().string(item_157); + } + array_156.finish(); + } + if let Some(var_158) = &input.include { + let mut array_159 = object.key("include").start_array(); + for item_160 in var_158 { + array_159.value().string(item_160.as_str()); + } + array_159.finish(); + } +} + +pub fn serialize_structure_discover_poll_endpoint_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DiscoverPollEndpointInput, +) { + if let Some(var_161) = &input.container_instance { + object.key("containerInstance").string(var_161); + } + if let Some(var_162) = &input.cluster { + object.key("cluster").string(var_162); + } +} + +pub fn serialize_structure_execute_command_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ExecuteCommandInput, +) { + if let Some(var_163) = &input.cluster { + object.key("cluster").string(var_163); + } + if let Some(var_164) = &input.container { + object.key("container").string(var_164); + } + if let Some(var_165) = &input.command { + object.key("command").string(var_165); + } + object.key("interactive").boolean(input.interactive); + if let Some(var_166) = &input.task { + object.key("task").string(var_166); + } +} + +pub fn serialize_structure_list_account_settings_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListAccountSettingsInput, +) { + if let Some(var_167) = &input.name { + object.key("name").string(var_167.as_str()); + } + if let Some(var_168) = &input.value { + object.key("value").string(var_168); + } + if let Some(var_169) = &input.principal_arn { + object.key("principalArn").string(var_169); + } + object + .key("effectiveSettings") + .boolean(input.effective_settings); + if let Some(var_170) = &input.next_token { + object.key("nextToken").string(var_170); + } + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.max_results).into()), + ); +} + +pub fn serialize_structure_list_attributes_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListAttributesInput, +) { + if let Some(var_171) = &input.cluster { + object.key("cluster").string(var_171); + } + if let Some(var_172) = &input.target_type { + object.key("targetType").string(var_172.as_str()); + } + if let Some(var_173) = &input.attribute_name { + object.key("attributeName").string(var_173); + } + if let Some(var_174) = &input.attribute_value { + object.key("attributeValue").string(var_174); + } + if let Some(var_175) = &input.next_token { + object.key("nextToken").string(var_175); + } + if let Some(var_176) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_176).into()), + ); + } +} + +pub fn serialize_structure_list_clusters_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListClustersInput, +) { + if let Some(var_177) = &input.next_token { + object.key("nextToken").string(var_177); + } + if let Some(var_178) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_178).into()), + ); + } +} + +pub fn serialize_structure_list_container_instances_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListContainerInstancesInput, +) { + if let Some(var_179) = &input.cluster { + object.key("cluster").string(var_179); + } + if let Some(var_180) = &input.filter { + object.key("filter").string(var_180); + } + if let Some(var_181) = &input.next_token { + object.key("nextToken").string(var_181); + } + if let Some(var_182) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_182).into()), + ); + } + if let Some(var_183) = &input.status { + object.key("status").string(var_183.as_str()); + } +} + +pub fn serialize_structure_list_services_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListServicesInput, +) { + if let Some(var_184) = &input.cluster { + object.key("cluster").string(var_184); + } + if let Some(var_185) = &input.next_token { + object.key("nextToken").string(var_185); + } + if let Some(var_186) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_186).into()), + ); + } + if let Some(var_187) = &input.launch_type { + object.key("launchType").string(var_187.as_str()); + } + if let Some(var_188) = &input.scheduling_strategy { + object.key("schedulingStrategy").string(var_188.as_str()); + } +} + +pub fn serialize_structure_list_tags_for_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTagsForResourceInput, +) { + if let Some(var_189) = &input.resource_arn { + object.key("resourceArn").string(var_189); + } +} + +pub fn serialize_structure_list_task_definition_families_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTaskDefinitionFamiliesInput, +) { + if let Some(var_190) = &input.family_prefix { + object.key("familyPrefix").string(var_190); + } + if let Some(var_191) = &input.status { + object.key("status").string(var_191.as_str()); + } + if let Some(var_192) = &input.next_token { + object.key("nextToken").string(var_192); + } + if let Some(var_193) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_193).into()), + ); + } +} + +pub fn serialize_structure_list_task_definitions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTaskDefinitionsInput, +) { + if let Some(var_194) = &input.family_prefix { + object.key("familyPrefix").string(var_194); + } + if let Some(var_195) = &input.status { + object.key("status").string(var_195.as_str()); + } + if let Some(var_196) = &input.sort { + object.key("sort").string(var_196.as_str()); + } + if let Some(var_197) = &input.next_token { + object.key("nextToken").string(var_197); + } + if let Some(var_198) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_198).into()), + ); + } +} + +pub fn serialize_structure_list_tasks_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTasksInput, +) { + if let Some(var_199) = &input.cluster { + object.key("cluster").string(var_199); + } + if let Some(var_200) = &input.container_instance { + object.key("containerInstance").string(var_200); + } + if let Some(var_201) = &input.family { + object.key("family").string(var_201); + } + if let Some(var_202) = &input.next_token { + object.key("nextToken").string(var_202); + } + if let Some(var_203) = &input.max_results { + object.key("maxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_203).into()), + ); + } + if let Some(var_204) = &input.started_by { + object.key("startedBy").string(var_204); + } + if let Some(var_205) = &input.service_name { + object.key("serviceName").string(var_205); + } + if let Some(var_206) = &input.desired_status { + object.key("desiredStatus").string(var_206.as_str()); + } + if let Some(var_207) = &input.launch_type { + object.key("launchType").string(var_207.as_str()); + } +} + +pub fn serialize_structure_put_account_setting_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutAccountSettingInput, +) { + if let Some(var_208) = &input.name { + object.key("name").string(var_208.as_str()); + } + if let Some(var_209) = &input.value { + object.key("value").string(var_209); + } + if let Some(var_210) = &input.principal_arn { + object.key("principalArn").string(var_210); + } +} + +pub fn serialize_structure_put_account_setting_default_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutAccountSettingDefaultInput, +) { + if let Some(var_211) = &input.name { + object.key("name").string(var_211.as_str()); + } + if let Some(var_212) = &input.value { + object.key("value").string(var_212); + } +} + +pub fn serialize_structure_put_attributes_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutAttributesInput, +) { + if let Some(var_213) = &input.cluster { + object.key("cluster").string(var_213); + } + if let Some(var_214) = &input.attributes { + let mut array_215 = object.key("attributes").start_array(); + for item_216 in var_214 { + let mut object_217 = array_215.value().start_object(); + crate::json_ser::serialize_structure_attribute(&mut object_217, item_216); + object_217.finish(); + } + array_215.finish(); + } +} + +pub fn serialize_structure_put_cluster_capacity_providers_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutClusterCapacityProvidersInput, +) { + if let Some(var_218) = &input.cluster { + object.key("cluster").string(var_218); + } + if let Some(var_219) = &input.capacity_providers { + let mut array_220 = object.key("capacityProviders").start_array(); + for item_221 in var_219 { + array_220.value().string(item_221); + } + array_220.finish(); + } + if let Some(var_222) = &input.default_capacity_provider_strategy { + let mut array_223 = object.key("defaultCapacityProviderStrategy").start_array(); + for item_224 in var_222 { + let mut object_225 = array_223.value().start_object(); + crate::json_ser::serialize_structure_capacity_provider_strategy_item( + &mut object_225, + item_224, + ); + object_225.finish(); + } + array_223.finish(); + } +} + +pub fn serialize_structure_register_container_instance_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterContainerInstanceInput, +) { + if let Some(var_226) = &input.cluster { + object.key("cluster").string(var_226); + } + if let Some(var_227) = &input.instance_identity_document { + object.key("instanceIdentityDocument").string(var_227); + } + if let Some(var_228) = &input.instance_identity_document_signature { + object + .key("instanceIdentityDocumentSignature") + .string(var_228); + } + if let Some(var_229) = &input.total_resources { + let mut array_230 = object.key("totalResources").start_array(); + for item_231 in var_229 { + let mut object_232 = array_230.value().start_object(); + crate::json_ser::serialize_structure_resource(&mut object_232, item_231); + object_232.finish(); + } + array_230.finish(); + } + if let Some(var_233) = &input.version_info { + let mut object_234 = object.key("versionInfo").start_object(); + crate::json_ser::serialize_structure_version_info(&mut object_234, var_233); + object_234.finish(); + } + if let Some(var_235) = &input.container_instance_arn { + object.key("containerInstanceArn").string(var_235); + } + if let Some(var_236) = &input.attributes { + let mut array_237 = object.key("attributes").start_array(); + for item_238 in var_236 { + let mut object_239 = array_237.value().start_object(); + crate::json_ser::serialize_structure_attribute(&mut object_239, item_238); + object_239.finish(); + } + array_237.finish(); + } + if let Some(var_240) = &input.platform_devices { + let mut array_241 = object.key("platformDevices").start_array(); + for item_242 in var_240 { + let mut object_243 = array_241.value().start_object(); + crate::json_ser::serialize_structure_platform_device(&mut object_243, item_242); + object_243.finish(); + } + array_241.finish(); + } + if let Some(var_244) = &input.tags { + let mut array_245 = object.key("tags").start_array(); + for item_246 in var_244 { + let mut object_247 = array_245.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_247, item_246); + object_247.finish(); + } + array_245.finish(); + } +} + +pub fn serialize_structure_register_task_definition_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterTaskDefinitionInput, +) { + if let Some(var_248) = &input.family { + object.key("family").string(var_248); + } + if let Some(var_249) = &input.task_role_arn { + object.key("taskRoleArn").string(var_249); + } + if let Some(var_250) = &input.execution_role_arn { + object.key("executionRoleArn").string(var_250); + } + if let Some(var_251) = &input.network_mode { + object.key("networkMode").string(var_251.as_str()); + } + if let Some(var_252) = &input.container_definitions { + let mut array_253 = object.key("containerDefinitions").start_array(); + for item_254 in var_252 { + let mut object_255 = array_253.value().start_object(); + crate::json_ser::serialize_structure_container_definition(&mut object_255, item_254); + object_255.finish(); + } + array_253.finish(); + } + if let Some(var_256) = &input.volumes { + let mut array_257 = object.key("volumes").start_array(); + for item_258 in var_256 { + let mut object_259 = array_257.value().start_object(); + crate::json_ser::serialize_structure_volume(&mut object_259, item_258); + object_259.finish(); + } + array_257.finish(); + } + if let Some(var_260) = &input.placement_constraints { + let mut array_261 = object.key("placementConstraints").start_array(); + for item_262 in var_260 { + let mut object_263 = array_261.value().start_object(); + crate::json_ser::serialize_structure_task_definition_placement_constraint( + &mut object_263, + item_262, + ); + object_263.finish(); + } + array_261.finish(); + } + if let Some(var_264) = &input.requires_compatibilities { + let mut array_265 = object.key("requiresCompatibilities").start_array(); + for item_266 in var_264 { + array_265.value().string(item_266.as_str()); + } + array_265.finish(); + } + if let Some(var_267) = &input.cpu { + object.key("cpu").string(var_267); + } + if let Some(var_268) = &input.memory { + object.key("memory").string(var_268); + } + if let Some(var_269) = &input.tags { + let mut array_270 = object.key("tags").start_array(); + for item_271 in var_269 { + let mut object_272 = array_270.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_272, item_271); + object_272.finish(); + } + array_270.finish(); + } + if let Some(var_273) = &input.pid_mode { + object.key("pidMode").string(var_273.as_str()); + } + if let Some(var_274) = &input.ipc_mode { + object.key("ipcMode").string(var_274.as_str()); + } + if let Some(var_275) = &input.proxy_configuration { + let mut object_276 = object.key("proxyConfiguration").start_object(); + crate::json_ser::serialize_structure_proxy_configuration(&mut object_276, var_275); + object_276.finish(); + } + if let Some(var_277) = &input.inference_accelerators { + let mut array_278 = object.key("inferenceAccelerators").start_array(); + for item_279 in var_277 { + let mut object_280 = array_278.value().start_object(); + crate::json_ser::serialize_structure_inference_accelerator(&mut object_280, item_279); + object_280.finish(); + } + array_278.finish(); + } + if let Some(var_281) = &input.ephemeral_storage { + let mut object_282 = object.key("ephemeralStorage").start_object(); + crate::json_ser::serialize_structure_ephemeral_storage(&mut object_282, var_281); + object_282.finish(); + } +} + +pub fn serialize_structure_run_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RunTaskInput, +) { + if let Some(var_283) = &input.capacity_provider_strategy { + let mut array_284 = object.key("capacityProviderStrategy").start_array(); + for item_285 in var_283 { + let mut object_286 = array_284.value().start_object(); + crate::json_ser::serialize_structure_capacity_provider_strategy_item( + &mut object_286, + item_285, + ); + object_286.finish(); + } + array_284.finish(); + } + if let Some(var_287) = &input.cluster { + object.key("cluster").string(var_287); + } + if let Some(var_288) = &input.count { + object.key("count").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_288).into()), + ); + } + object + .key("enableECSManagedTags") + .boolean(input.enable_ecs_managed_tags); + object + .key("enableExecuteCommand") + .boolean(input.enable_execute_command); + if let Some(var_289) = &input.group { + object.key("group").string(var_289); + } + if let Some(var_290) = &input.launch_type { + object.key("launchType").string(var_290.as_str()); + } + if let Some(var_291) = &input.network_configuration { + let mut object_292 = object.key("networkConfiguration").start_object(); + crate::json_ser::serialize_structure_network_configuration(&mut object_292, var_291); + object_292.finish(); + } + if let Some(var_293) = &input.overrides { + let mut object_294 = object.key("overrides").start_object(); + crate::json_ser::serialize_structure_task_override(&mut object_294, var_293); + object_294.finish(); + } + if let Some(var_295) = &input.placement_constraints { + let mut array_296 = object.key("placementConstraints").start_array(); + for item_297 in var_295 { + let mut object_298 = array_296.value().start_object(); + crate::json_ser::serialize_structure_placement_constraint(&mut object_298, item_297); + object_298.finish(); + } + array_296.finish(); + } + if let Some(var_299) = &input.placement_strategy { + let mut array_300 = object.key("placementStrategy").start_array(); + for item_301 in var_299 { + let mut object_302 = array_300.value().start_object(); + crate::json_ser::serialize_structure_placement_strategy(&mut object_302, item_301); + object_302.finish(); + } + array_300.finish(); + } + if let Some(var_303) = &input.platform_version { + object.key("platformVersion").string(var_303); + } + if let Some(var_304) = &input.propagate_tags { + object.key("propagateTags").string(var_304.as_str()); + } + if let Some(var_305) = &input.reference_id { + object.key("referenceId").string(var_305); + } + if let Some(var_306) = &input.started_by { + object.key("startedBy").string(var_306); + } + if let Some(var_307) = &input.tags { + let mut array_308 = object.key("tags").start_array(); + for item_309 in var_307 { + let mut object_310 = array_308.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_310, item_309); + object_310.finish(); + } + array_308.finish(); + } + if let Some(var_311) = &input.task_definition { + object.key("taskDefinition").string(var_311); + } +} + +pub fn serialize_structure_start_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartTaskInput, +) { + if let Some(var_312) = &input.cluster { + object.key("cluster").string(var_312); + } + if let Some(var_313) = &input.container_instances { + let mut array_314 = object.key("containerInstances").start_array(); + for item_315 in var_313 { + array_314.value().string(item_315); + } + array_314.finish(); + } + object + .key("enableECSManagedTags") + .boolean(input.enable_ecs_managed_tags); + object + .key("enableExecuteCommand") + .boolean(input.enable_execute_command); + if let Some(var_316) = &input.group { + object.key("group").string(var_316); + } + if let Some(var_317) = &input.network_configuration { + let mut object_318 = object.key("networkConfiguration").start_object(); + crate::json_ser::serialize_structure_network_configuration(&mut object_318, var_317); + object_318.finish(); + } + if let Some(var_319) = &input.overrides { + let mut object_320 = object.key("overrides").start_object(); + crate::json_ser::serialize_structure_task_override(&mut object_320, var_319); + object_320.finish(); + } + if let Some(var_321) = &input.propagate_tags { + object.key("propagateTags").string(var_321.as_str()); + } + if let Some(var_322) = &input.reference_id { + object.key("referenceId").string(var_322); + } + if let Some(var_323) = &input.started_by { + object.key("startedBy").string(var_323); + } + if let Some(var_324) = &input.tags { + let mut array_325 = object.key("tags").start_array(); + for item_326 in var_324 { + let mut object_327 = array_325.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_327, item_326); + object_327.finish(); + } + array_325.finish(); + } + if let Some(var_328) = &input.task_definition { + object.key("taskDefinition").string(var_328); + } +} + +pub fn serialize_structure_stop_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StopTaskInput, +) { + if let Some(var_329) = &input.cluster { + object.key("cluster").string(var_329); + } + if let Some(var_330) = &input.task { + object.key("task").string(var_330); + } + if let Some(var_331) = &input.reason { + object.key("reason").string(var_331); + } +} + +pub fn serialize_structure_submit_attachment_state_changes_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SubmitAttachmentStateChangesInput, +) { + if let Some(var_332) = &input.cluster { + object.key("cluster").string(var_332); + } + if let Some(var_333) = &input.attachments { + let mut array_334 = object.key("attachments").start_array(); + for item_335 in var_333 { + let mut object_336 = array_334.value().start_object(); + crate::json_ser::serialize_structure_attachment_state_change(&mut object_336, item_335); + object_336.finish(); + } + array_334.finish(); + } +} + +pub fn serialize_structure_submit_container_state_change_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SubmitContainerStateChangeInput, +) { + if let Some(var_337) = &input.cluster { + object.key("cluster").string(var_337); + } + if let Some(var_338) = &input.task { + object.key("task").string(var_338); + } + if let Some(var_339) = &input.container_name { + object.key("containerName").string(var_339); + } + if let Some(var_340) = &input.runtime_id { + object.key("runtimeId").string(var_340); + } + if let Some(var_341) = &input.status { + object.key("status").string(var_341); + } + if let Some(var_342) = &input.exit_code { + object.key("exitCode").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_342).into()), + ); + } + if let Some(var_343) = &input.reason { + object.key("reason").string(var_343); + } + if let Some(var_344) = &input.network_bindings { + let mut array_345 = object.key("networkBindings").start_array(); + for item_346 in var_344 { + let mut object_347 = array_345.value().start_object(); + crate::json_ser::serialize_structure_network_binding(&mut object_347, item_346); + object_347.finish(); + } + array_345.finish(); + } +} + +pub fn serialize_structure_submit_task_state_change_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SubmitTaskStateChangeInput, +) { + if let Some(var_348) = &input.cluster { + object.key("cluster").string(var_348); + } + if let Some(var_349) = &input.task { + object.key("task").string(var_349); + } + if let Some(var_350) = &input.status { + object.key("status").string(var_350); + } + if let Some(var_351) = &input.reason { + object.key("reason").string(var_351); + } + if let Some(var_352) = &input.containers { + let mut array_353 = object.key("containers").start_array(); + for item_354 in var_352 { + let mut object_355 = array_353.value().start_object(); + crate::json_ser::serialize_structure_container_state_change(&mut object_355, item_354); + object_355.finish(); + } + array_353.finish(); + } + if let Some(var_356) = &input.attachments { + let mut array_357 = object.key("attachments").start_array(); + for item_358 in var_356 { + let mut object_359 = array_357.value().start_object(); + crate::json_ser::serialize_structure_attachment_state_change(&mut object_359, item_358); + object_359.finish(); + } + array_357.finish(); + } + if let Some(var_360) = &input.managed_agents { + let mut array_361 = object.key("managedAgents").start_array(); + for item_362 in var_360 { + let mut object_363 = array_361.value().start_object(); + crate::json_ser::serialize_structure_managed_agent_state_change( + &mut object_363, + item_362, + ); + object_363.finish(); + } + array_361.finish(); + } + if let Some(var_364) = &input.pull_started_at { + object + .key("pullStartedAt") + .instant(var_364, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_365) = &input.pull_stopped_at { + object + .key("pullStoppedAt") + .instant(var_365, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_366) = &input.execution_stopped_at { + object + .key("executionStoppedAt") + .instant(var_366, smithy_types::instant::Format::EpochSeconds); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_367) = &input.resource_arn { + object.key("resourceArn").string(var_367); + } + if let Some(var_368) = &input.tags { + let mut array_369 = object.key("tags").start_array(); + for item_370 in var_368 { + let mut object_371 = array_369.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_371, item_370); + object_371.finish(); + } + array_369.finish(); + } +} + +pub fn serialize_structure_untag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UntagResourceInput, +) { + if let Some(var_372) = &input.resource_arn { + object.key("resourceArn").string(var_372); + } + if let Some(var_373) = &input.tag_keys { + let mut array_374 = object.key("tagKeys").start_array(); + for item_375 in var_373 { + array_374.value().string(item_375); + } + array_374.finish(); + } +} + +pub fn serialize_structure_update_capacity_provider_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateCapacityProviderInput, +) { + if let Some(var_376) = &input.name { + object.key("name").string(var_376); + } + if let Some(var_377) = &input.auto_scaling_group_provider { + let mut object_378 = object.key("autoScalingGroupProvider").start_object(); + crate::json_ser::serialize_structure_auto_scaling_group_provider_update( + &mut object_378, + var_377, + ); + object_378.finish(); + } +} + +pub fn serialize_structure_update_cluster_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateClusterInput, +) { + if let Some(var_379) = &input.cluster { + object.key("cluster").string(var_379); + } + if let Some(var_380) = &input.settings { + let mut array_381 = object.key("settings").start_array(); + for item_382 in var_380 { + let mut object_383 = array_381.value().start_object(); + crate::json_ser::serialize_structure_cluster_setting(&mut object_383, item_382); + object_383.finish(); + } + array_381.finish(); + } + if let Some(var_384) = &input.configuration { + let mut object_385 = object.key("configuration").start_object(); + crate::json_ser::serialize_structure_cluster_configuration(&mut object_385, var_384); + object_385.finish(); + } +} + +pub fn serialize_structure_update_cluster_settings_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateClusterSettingsInput, +) { + if let Some(var_386) = &input.cluster { + object.key("cluster").string(var_386); + } + if let Some(var_387) = &input.settings { + let mut array_388 = object.key("settings").start_array(); + for item_389 in var_387 { + let mut object_390 = array_388.value().start_object(); + crate::json_ser::serialize_structure_cluster_setting(&mut object_390, item_389); + object_390.finish(); + } + array_388.finish(); + } +} + +pub fn serialize_structure_update_container_agent_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateContainerAgentInput, +) { + if let Some(var_391) = &input.cluster { + object.key("cluster").string(var_391); + } + if let Some(var_392) = &input.container_instance { + object.key("containerInstance").string(var_392); + } +} + +pub fn serialize_structure_update_container_instances_state_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateContainerInstancesStateInput, +) { + if let Some(var_393) = &input.cluster { + object.key("cluster").string(var_393); + } + if let Some(var_394) = &input.container_instances { + let mut array_395 = object.key("containerInstances").start_array(); + for item_396 in var_394 { + array_395.value().string(item_396); + } + array_395.finish(); + } + if let Some(var_397) = &input.status { + object.key("status").string(var_397.as_str()); + } +} + +pub fn serialize_structure_update_service_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateServiceInput, +) { + if let Some(var_398) = &input.cluster { + object.key("cluster").string(var_398); + } + if let Some(var_399) = &input.service { + object.key("service").string(var_399); + } + if let Some(var_400) = &input.desired_count { + object.key("desiredCount").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_400).into()), + ); + } + if let Some(var_401) = &input.task_definition { + object.key("taskDefinition").string(var_401); + } + if let Some(var_402) = &input.capacity_provider_strategy { + let mut array_403 = object.key("capacityProviderStrategy").start_array(); + for item_404 in var_402 { + let mut object_405 = array_403.value().start_object(); + crate::json_ser::serialize_structure_capacity_provider_strategy_item( + &mut object_405, + item_404, + ); + object_405.finish(); + } + array_403.finish(); + } + if let Some(var_406) = &input.deployment_configuration { + let mut object_407 = object.key("deploymentConfiguration").start_object(); + crate::json_ser::serialize_structure_deployment_configuration(&mut object_407, var_406); + object_407.finish(); + } + if let Some(var_408) = &input.network_configuration { + let mut object_409 = object.key("networkConfiguration").start_object(); + crate::json_ser::serialize_structure_network_configuration(&mut object_409, var_408); + object_409.finish(); + } + if let Some(var_410) = &input.placement_constraints { + let mut array_411 = object.key("placementConstraints").start_array(); + for item_412 in var_410 { + let mut object_413 = array_411.value().start_object(); + crate::json_ser::serialize_structure_placement_constraint(&mut object_413, item_412); + object_413.finish(); + } + array_411.finish(); + } + if let Some(var_414) = &input.placement_strategy { + let mut array_415 = object.key("placementStrategy").start_array(); + for item_416 in var_414 { + let mut object_417 = array_415.value().start_object(); + crate::json_ser::serialize_structure_placement_strategy(&mut object_417, item_416); + object_417.finish(); + } + array_415.finish(); + } + if let Some(var_418) = &input.platform_version { + object.key("platformVersion").string(var_418); + } + object + .key("forceNewDeployment") + .boolean(input.force_new_deployment); + if let Some(var_419) = &input.health_check_grace_period_seconds { + object.key("healthCheckGracePeriodSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_419).into()), + ); + } + if let Some(var_420) = &input.enable_execute_command { + object.key("enableExecuteCommand").boolean(*var_420); + } +} + +pub fn serialize_structure_update_service_primary_task_set_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateServicePrimaryTaskSetInput, +) { + if let Some(var_421) = &input.cluster { + object.key("cluster").string(var_421); + } + if let Some(var_422) = &input.service { + object.key("service").string(var_422); + } + if let Some(var_423) = &input.primary_task_set { + object.key("primaryTaskSet").string(var_423); + } +} + +pub fn serialize_structure_update_task_set_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateTaskSetInput, +) { + if let Some(var_424) = &input.cluster { + object.key("cluster").string(var_424); + } + if let Some(var_425) = &input.service { + object.key("service").string(var_425); + } + if let Some(var_426) = &input.task_set { + object.key("taskSet").string(var_426); + } + if let Some(var_427) = &input.scale { + let mut object_428 = object.key("scale").start_object(); + crate::json_ser::serialize_structure_scale(&mut object_428, var_427); + object_428.finish(); + } +} + +pub fn serialize_structure_auto_scaling_group_provider( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AutoScalingGroupProvider, +) { + if let Some(var_429) = &input.auto_scaling_group_arn { + object.key("autoScalingGroupArn").string(var_429); + } + if let Some(var_430) = &input.managed_scaling { + let mut object_431 = object.key("managedScaling").start_object(); + crate::json_ser::serialize_structure_managed_scaling(&mut object_431, var_430); + object_431.finish(); + } + if let Some(var_432) = &input.managed_termination_protection { + object + .key("managedTerminationProtection") + .string(var_432.as_str()); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_433) = &input.key { + object.key("key").string(var_433); + } + if let Some(var_434) = &input.value { + object.key("value").string(var_434); + } +} + +pub fn serialize_structure_cluster_setting( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ClusterSetting, +) { + if let Some(var_435) = &input.name { + object.key("name").string(var_435.as_str()); + } + if let Some(var_436) = &input.value { + object.key("value").string(var_436); + } +} + +pub fn serialize_structure_cluster_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ClusterConfiguration, +) { + if let Some(var_437) = &input.execute_command_configuration { + let mut object_438 = object.key("executeCommandConfiguration").start_object(); + crate::json_ser::serialize_structure_execute_command_configuration( + &mut object_438, + var_437, + ); + object_438.finish(); + } +} + +pub fn serialize_structure_capacity_provider_strategy_item( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CapacityProviderStrategyItem, +) { + if let Some(var_439) = &input.capacity_provider { + object.key("capacityProvider").string(var_439); + } + object.key("weight").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.weight).into()), + ); + object.key("base").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.base).into()), + ); +} + +pub fn serialize_structure_load_balancer( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::LoadBalancer, +) { + if let Some(var_440) = &input.target_group_arn { + object.key("targetGroupArn").string(var_440); + } + if let Some(var_441) = &input.load_balancer_name { + object.key("loadBalancerName").string(var_441); + } + if let Some(var_442) = &input.container_name { + object.key("containerName").string(var_442); + } + if let Some(var_443) = &input.container_port { + object.key("containerPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_443).into()), + ); + } +} + +pub fn serialize_structure_service_registry( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ServiceRegistry, +) { + if let Some(var_444) = &input.registry_arn { + object.key("registryArn").string(var_444); + } + if let Some(var_445) = &input.port { + object.key("port").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_445).into()), + ); + } + if let Some(var_446) = &input.container_name { + object.key("containerName").string(var_446); + } + if let Some(var_447) = &input.container_port { + object.key("containerPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_447).into()), + ); + } +} + +pub fn serialize_structure_deployment_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeploymentConfiguration, +) { + if let Some(var_448) = &input.deployment_circuit_breaker { + let mut object_449 = object.key("deploymentCircuitBreaker").start_object(); + crate::json_ser::serialize_structure_deployment_circuit_breaker(&mut object_449, var_448); + object_449.finish(); + } + if let Some(var_450) = &input.maximum_percent { + object.key("maximumPercent").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_450).into()), + ); + } + if let Some(var_451) = &input.minimum_healthy_percent { + object.key("minimumHealthyPercent").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_451).into()), + ); + } +} + +pub fn serialize_structure_placement_constraint( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PlacementConstraint, +) { + if let Some(var_452) = &input.r#type { + object.key("type").string(var_452.as_str()); + } + if let Some(var_453) = &input.expression { + object.key("expression").string(var_453); + } +} + +pub fn serialize_structure_placement_strategy( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PlacementStrategy, +) { + if let Some(var_454) = &input.r#type { + object.key("type").string(var_454.as_str()); + } + if let Some(var_455) = &input.field { + object.key("field").string(var_455); + } +} + +pub fn serialize_structure_network_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::NetworkConfiguration, +) { + if let Some(var_456) = &input.awsvpc_configuration { + let mut object_457 = object.key("awsvpcConfiguration").start_object(); + crate::json_ser::serialize_structure_aws_vpc_configuration(&mut object_457, var_456); + object_457.finish(); + } +} + +pub fn serialize_structure_deployment_controller( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeploymentController, +) { + if let Some(var_458) = &input.r#type { + object.key("type").string(var_458.as_str()); + } +} + +pub fn serialize_structure_scale( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Scale, +) { + object.key("value").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((input.value).into()), + ); + if let Some(var_459) = &input.unit { + object.key("unit").string(var_459.as_str()); + } +} + +pub fn serialize_structure_attribute( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Attribute, +) { + if let Some(var_460) = &input.name { + object.key("name").string(var_460); + } + if let Some(var_461) = &input.value { + object.key("value").string(var_461); + } + if let Some(var_462) = &input.target_type { + object.key("targetType").string(var_462.as_str()); + } + if let Some(var_463) = &input.target_id { + object.key("targetId").string(var_463); + } +} + +pub fn serialize_structure_resource( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Resource, +) { + if let Some(var_464) = &input.name { + object.key("name").string(var_464); + } + if let Some(var_465) = &input.r#type { + object.key("type").string(var_465); + } + object.key("doubleValue").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((input.double_value).into()), + ); + object.key("longValue").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.long_value).into()), + ); + object.key("integerValue").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.integer_value).into()), + ); + if let Some(var_466) = &input.string_set_value { + let mut array_467 = object.key("stringSetValue").start_array(); + for item_468 in var_466 { + array_467.value().string(item_468); + } + array_467.finish(); + } +} + +pub fn serialize_structure_version_info( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::VersionInfo, +) { + if let Some(var_469) = &input.agent_version { + object.key("agentVersion").string(var_469); + } + if let Some(var_470) = &input.agent_hash { + object.key("agentHash").string(var_470); + } + if let Some(var_471) = &input.docker_version { + object.key("dockerVersion").string(var_471); + } +} + +pub fn serialize_structure_platform_device( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PlatformDevice, +) { + if let Some(var_472) = &input.id { + object.key("id").string(var_472); + } + if let Some(var_473) = &input.r#type { + object.key("type").string(var_473.as_str()); + } +} + +pub fn serialize_structure_container_definition( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ContainerDefinition, +) { + if let Some(var_474) = &input.name { + object.key("name").string(var_474); + } + if let Some(var_475) = &input.image { + object.key("image").string(var_475); + } + if let Some(var_476) = &input.repository_credentials { + let mut object_477 = object.key("repositoryCredentials").start_object(); + crate::json_ser::serialize_structure_repository_credentials(&mut object_477, var_476); + object_477.finish(); + } + object.key("cpu").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.cpu).into()), + ); + if let Some(var_478) = &input.memory { + object.key("memory").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_478).into()), + ); + } + if let Some(var_479) = &input.memory_reservation { + object.key("memoryReservation").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_479).into()), + ); + } + if let Some(var_480) = &input.links { + let mut array_481 = object.key("links").start_array(); + for item_482 in var_480 { + array_481.value().string(item_482); + } + array_481.finish(); + } + if let Some(var_483) = &input.port_mappings { + let mut array_484 = object.key("portMappings").start_array(); + for item_485 in var_483 { + let mut object_486 = array_484.value().start_object(); + crate::json_ser::serialize_structure_port_mapping(&mut object_486, item_485); + object_486.finish(); + } + array_484.finish(); + } + if let Some(var_487) = &input.essential { + object.key("essential").boolean(*var_487); + } + if let Some(var_488) = &input.entry_point { + let mut array_489 = object.key("entryPoint").start_array(); + for item_490 in var_488 { + array_489.value().string(item_490); + } + array_489.finish(); + } + if let Some(var_491) = &input.command { + let mut array_492 = object.key("command").start_array(); + for item_493 in var_491 { + array_492.value().string(item_493); + } + array_492.finish(); + } + if let Some(var_494) = &input.environment { + let mut array_495 = object.key("environment").start_array(); + for item_496 in var_494 { + let mut object_497 = array_495.value().start_object(); + crate::json_ser::serialize_structure_key_value_pair(&mut object_497, item_496); + object_497.finish(); + } + array_495.finish(); + } + if let Some(var_498) = &input.environment_files { + let mut array_499 = object.key("environmentFiles").start_array(); + for item_500 in var_498 { + let mut object_501 = array_499.value().start_object(); + crate::json_ser::serialize_structure_environment_file(&mut object_501, item_500); + object_501.finish(); + } + array_499.finish(); + } + if let Some(var_502) = &input.mount_points { + let mut array_503 = object.key("mountPoints").start_array(); + for item_504 in var_502 { + let mut object_505 = array_503.value().start_object(); + crate::json_ser::serialize_structure_mount_point(&mut object_505, item_504); + object_505.finish(); + } + array_503.finish(); + } + if let Some(var_506) = &input.volumes_from { + let mut array_507 = object.key("volumesFrom").start_array(); + for item_508 in var_506 { + let mut object_509 = array_507.value().start_object(); + crate::json_ser::serialize_structure_volume_from(&mut object_509, item_508); + object_509.finish(); + } + array_507.finish(); + } + if let Some(var_510) = &input.linux_parameters { + let mut object_511 = object.key("linuxParameters").start_object(); + crate::json_ser::serialize_structure_linux_parameters(&mut object_511, var_510); + object_511.finish(); + } + if let Some(var_512) = &input.secrets { + let mut array_513 = object.key("secrets").start_array(); + for item_514 in var_512 { + let mut object_515 = array_513.value().start_object(); + crate::json_ser::serialize_structure_secret(&mut object_515, item_514); + object_515.finish(); + } + array_513.finish(); + } + if let Some(var_516) = &input.depends_on { + let mut array_517 = object.key("dependsOn").start_array(); + for item_518 in var_516 { + let mut object_519 = array_517.value().start_object(); + crate::json_ser::serialize_structure_container_dependency(&mut object_519, item_518); + object_519.finish(); + } + array_517.finish(); + } + if let Some(var_520) = &input.start_timeout { + object.key("startTimeout").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_520).into()), + ); + } + if let Some(var_521) = &input.stop_timeout { + object.key("stopTimeout").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_521).into()), + ); + } + if let Some(var_522) = &input.hostname { + object.key("hostname").string(var_522); + } + if let Some(var_523) = &input.user { + object.key("user").string(var_523); + } + if let Some(var_524) = &input.working_directory { + object.key("workingDirectory").string(var_524); + } + if let Some(var_525) = &input.disable_networking { + object.key("disableNetworking").boolean(*var_525); + } + if let Some(var_526) = &input.privileged { + object.key("privileged").boolean(*var_526); + } + if let Some(var_527) = &input.readonly_root_filesystem { + object.key("readonlyRootFilesystem").boolean(*var_527); + } + if let Some(var_528) = &input.dns_servers { + let mut array_529 = object.key("dnsServers").start_array(); + for item_530 in var_528 { + array_529.value().string(item_530); + } + array_529.finish(); + } + if let Some(var_531) = &input.dns_search_domains { + let mut array_532 = object.key("dnsSearchDomains").start_array(); + for item_533 in var_531 { + array_532.value().string(item_533); + } + array_532.finish(); + } + if let Some(var_534) = &input.extra_hosts { + let mut array_535 = object.key("extraHosts").start_array(); + for item_536 in var_534 { + let mut object_537 = array_535.value().start_object(); + crate::json_ser::serialize_structure_host_entry(&mut object_537, item_536); + object_537.finish(); + } + array_535.finish(); + } + if let Some(var_538) = &input.docker_security_options { + let mut array_539 = object.key("dockerSecurityOptions").start_array(); + for item_540 in var_538 { + array_539.value().string(item_540); + } + array_539.finish(); + } + if let Some(var_541) = &input.interactive { + object.key("interactive").boolean(*var_541); + } + if let Some(var_542) = &input.pseudo_terminal { + object.key("pseudoTerminal").boolean(*var_542); + } + if let Some(var_543) = &input.docker_labels { + let mut object_544 = object.key("dockerLabels").start_object(); + for (key_545, value_546) in var_543 { + object_544.key(key_545).string(value_546); + } + object_544.finish(); + } + if let Some(var_547) = &input.ulimits { + let mut array_548 = object.key("ulimits").start_array(); + for item_549 in var_547 { + let mut object_550 = array_548.value().start_object(); + crate::json_ser::serialize_structure_ulimit(&mut object_550, item_549); + object_550.finish(); + } + array_548.finish(); + } + if let Some(var_551) = &input.log_configuration { + let mut object_552 = object.key("logConfiguration").start_object(); + crate::json_ser::serialize_structure_log_configuration(&mut object_552, var_551); + object_552.finish(); + } + if let Some(var_553) = &input.health_check { + let mut object_554 = object.key("healthCheck").start_object(); + crate::json_ser::serialize_structure_health_check(&mut object_554, var_553); + object_554.finish(); + } + if let Some(var_555) = &input.system_controls { + let mut array_556 = object.key("systemControls").start_array(); + for item_557 in var_555 { + let mut object_558 = array_556.value().start_object(); + crate::json_ser::serialize_structure_system_control(&mut object_558, item_557); + object_558.finish(); + } + array_556.finish(); + } + if let Some(var_559) = &input.resource_requirements { + let mut array_560 = object.key("resourceRequirements").start_array(); + for item_561 in var_559 { + let mut object_562 = array_560.value().start_object(); + crate::json_ser::serialize_structure_resource_requirement(&mut object_562, item_561); + object_562.finish(); + } + array_560.finish(); + } + if let Some(var_563) = &input.firelens_configuration { + let mut object_564 = object.key("firelensConfiguration").start_object(); + crate::json_ser::serialize_structure_firelens_configuration(&mut object_564, var_563); + object_564.finish(); + } +} + +pub fn serialize_structure_volume( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Volume, +) { + if let Some(var_565) = &input.name { + object.key("name").string(var_565); + } + if let Some(var_566) = &input.host { + let mut object_567 = object.key("host").start_object(); + crate::json_ser::serialize_structure_host_volume_properties(&mut object_567, var_566); + object_567.finish(); + } + if let Some(var_568) = &input.docker_volume_configuration { + let mut object_569 = object.key("dockerVolumeConfiguration").start_object(); + crate::json_ser::serialize_structure_docker_volume_configuration(&mut object_569, var_568); + object_569.finish(); + } + if let Some(var_570) = &input.efs_volume_configuration { + let mut object_571 = object.key("efsVolumeConfiguration").start_object(); + crate::json_ser::serialize_structure_efs_volume_configuration(&mut object_571, var_570); + object_571.finish(); + } + if let Some(var_572) = &input.fsx_windows_file_server_volume_configuration { + let mut object_573 = object + .key("fsxWindowsFileServerVolumeConfiguration") + .start_object(); + crate::json_ser::serialize_structure_f_sx_windows_file_server_volume_configuration( + &mut object_573, + var_572, + ); + object_573.finish(); + } +} + +pub fn serialize_structure_task_definition_placement_constraint( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TaskDefinitionPlacementConstraint, +) { + if let Some(var_574) = &input.r#type { + object.key("type").string(var_574.as_str()); + } + if let Some(var_575) = &input.expression { + object.key("expression").string(var_575); + } +} + +pub fn serialize_structure_proxy_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ProxyConfiguration, +) { + if let Some(var_576) = &input.r#type { + object.key("type").string(var_576.as_str()); + } + if let Some(var_577) = &input.container_name { + object.key("containerName").string(var_577); + } + if let Some(var_578) = &input.properties { + let mut array_579 = object.key("properties").start_array(); + for item_580 in var_578 { + let mut object_581 = array_579.value().start_object(); + crate::json_ser::serialize_structure_key_value_pair(&mut object_581, item_580); + object_581.finish(); + } + array_579.finish(); + } +} + +pub fn serialize_structure_inference_accelerator( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InferenceAccelerator, +) { + if let Some(var_582) = &input.device_name { + object.key("deviceName").string(var_582); + } + if let Some(var_583) = &input.device_type { + object.key("deviceType").string(var_583); + } +} + +pub fn serialize_structure_ephemeral_storage( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::EphemeralStorage, +) { + object.key("sizeInGiB").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.size_in_gi_b).into()), + ); +} + +pub fn serialize_structure_task_override( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TaskOverride, +) { + if let Some(var_584) = &input.container_overrides { + let mut array_585 = object.key("containerOverrides").start_array(); + for item_586 in var_584 { + let mut object_587 = array_585.value().start_object(); + crate::json_ser::serialize_structure_container_override(&mut object_587, item_586); + object_587.finish(); + } + array_585.finish(); + } + if let Some(var_588) = &input.cpu { + object.key("cpu").string(var_588); + } + if let Some(var_589) = &input.inference_accelerator_overrides { + let mut array_590 = object.key("inferenceAcceleratorOverrides").start_array(); + for item_591 in var_589 { + let mut object_592 = array_590.value().start_object(); + crate::json_ser::serialize_structure_inference_accelerator_override( + &mut object_592, + item_591, + ); + object_592.finish(); + } + array_590.finish(); + } + if let Some(var_593) = &input.execution_role_arn { + object.key("executionRoleArn").string(var_593); + } + if let Some(var_594) = &input.memory { + object.key("memory").string(var_594); + } + if let Some(var_595) = &input.task_role_arn { + object.key("taskRoleArn").string(var_595); + } + if let Some(var_596) = &input.ephemeral_storage { + let mut object_597 = object.key("ephemeralStorage").start_object(); + crate::json_ser::serialize_structure_ephemeral_storage(&mut object_597, var_596); + object_597.finish(); + } +} + +pub fn serialize_structure_attachment_state_change( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AttachmentStateChange, +) { + if let Some(var_598) = &input.attachment_arn { + object.key("attachmentArn").string(var_598); + } + if let Some(var_599) = &input.status { + object.key("status").string(var_599); + } +} + +pub fn serialize_structure_network_binding( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::NetworkBinding, +) { + if let Some(var_600) = &input.bind_ip { + object.key("bindIP").string(var_600); + } + if let Some(var_601) = &input.container_port { + object.key("containerPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_601).into()), + ); + } + if let Some(var_602) = &input.host_port { + object.key("hostPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_602).into()), + ); + } + if let Some(var_603) = &input.protocol { + object.key("protocol").string(var_603.as_str()); + } +} + +pub fn serialize_structure_container_state_change( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ContainerStateChange, +) { + if let Some(var_604) = &input.container_name { + object.key("containerName").string(var_604); + } + if let Some(var_605) = &input.image_digest { + object.key("imageDigest").string(var_605); + } + if let Some(var_606) = &input.runtime_id { + object.key("runtimeId").string(var_606); + } + if let Some(var_607) = &input.exit_code { + object.key("exitCode").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_607).into()), + ); + } + if let Some(var_608) = &input.network_bindings { + let mut array_609 = object.key("networkBindings").start_array(); + for item_610 in var_608 { + let mut object_611 = array_609.value().start_object(); + crate::json_ser::serialize_structure_network_binding(&mut object_611, item_610); + object_611.finish(); + } + array_609.finish(); + } + if let Some(var_612) = &input.reason { + object.key("reason").string(var_612); + } + if let Some(var_613) = &input.status { + object.key("status").string(var_613); + } +} + +pub fn serialize_structure_managed_agent_state_change( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ManagedAgentStateChange, +) { + if let Some(var_614) = &input.container_name { + object.key("containerName").string(var_614); + } + if let Some(var_615) = &input.managed_agent_name { + object.key("managedAgentName").string(var_615.as_str()); + } + if let Some(var_616) = &input.status { + object.key("status").string(var_616); + } + if let Some(var_617) = &input.reason { + object.key("reason").string(var_617); + } +} + +pub fn serialize_structure_auto_scaling_group_provider_update( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AutoScalingGroupProviderUpdate, +) { + if let Some(var_618) = &input.managed_scaling { + let mut object_619 = object.key("managedScaling").start_object(); + crate::json_ser::serialize_structure_managed_scaling(&mut object_619, var_618); + object_619.finish(); + } + if let Some(var_620) = &input.managed_termination_protection { + object + .key("managedTerminationProtection") + .string(var_620.as_str()); + } +} + +pub fn serialize_structure_managed_scaling( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ManagedScaling, +) { + if let Some(var_621) = &input.status { + object.key("status").string(var_621.as_str()); + } + if let Some(var_622) = &input.target_capacity { + object.key("targetCapacity").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_622).into()), + ); + } + if let Some(var_623) = &input.minimum_scaling_step_size { + object.key("minimumScalingStepSize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_623).into()), + ); + } + if let Some(var_624) = &input.maximum_scaling_step_size { + object.key("maximumScalingStepSize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_624).into()), + ); + } + if let Some(var_625) = &input.instance_warmup_period { + object.key("instanceWarmupPeriod").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_625).into()), + ); + } +} + +pub fn serialize_structure_execute_command_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ExecuteCommandConfiguration, +) { + if let Some(var_626) = &input.kms_key_id { + object.key("kmsKeyId").string(var_626); + } + if let Some(var_627) = &input.logging { + object.key("logging").string(var_627.as_str()); + } + if let Some(var_628) = &input.log_configuration { + let mut object_629 = object.key("logConfiguration").start_object(); + crate::json_ser::serialize_structure_execute_command_log_configuration( + &mut object_629, + var_628, + ); + object_629.finish(); + } +} + +pub fn serialize_structure_deployment_circuit_breaker( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeploymentCircuitBreaker, +) { + object.key("enable").boolean(input.enable); + object.key("rollback").boolean(input.rollback); +} + +pub fn serialize_structure_aws_vpc_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AwsVpcConfiguration, +) { + if let Some(var_630) = &input.subnets { + let mut array_631 = object.key("subnets").start_array(); + for item_632 in var_630 { + array_631.value().string(item_632); + } + array_631.finish(); + } + if let Some(var_633) = &input.security_groups { + let mut array_634 = object.key("securityGroups").start_array(); + for item_635 in var_633 { + array_634.value().string(item_635); + } + array_634.finish(); + } + if let Some(var_636) = &input.assign_public_ip { + object.key("assignPublicIp").string(var_636.as_str()); + } +} + +pub fn serialize_structure_repository_credentials( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::RepositoryCredentials, +) { + if let Some(var_637) = &input.credentials_parameter { + object.key("credentialsParameter").string(var_637); + } +} + +pub fn serialize_structure_port_mapping( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PortMapping, +) { + if let Some(var_638) = &input.container_port { + object.key("containerPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_638).into()), + ); + } + if let Some(var_639) = &input.host_port { + object.key("hostPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_639).into()), + ); + } + if let Some(var_640) = &input.protocol { + object.key("protocol").string(var_640.as_str()); + } +} + +pub fn serialize_structure_key_value_pair( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::KeyValuePair, +) { + if let Some(var_641) = &input.name { + object.key("name").string(var_641); + } + if let Some(var_642) = &input.value { + object.key("value").string(var_642); + } +} + +pub fn serialize_structure_environment_file( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::EnvironmentFile, +) { + if let Some(var_643) = &input.value { + object.key("value").string(var_643); + } + if let Some(var_644) = &input.r#type { + object.key("type").string(var_644.as_str()); + } +} + +pub fn serialize_structure_mount_point( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MountPoint, +) { + if let Some(var_645) = &input.source_volume { + object.key("sourceVolume").string(var_645); + } + if let Some(var_646) = &input.container_path { + object.key("containerPath").string(var_646); + } + if let Some(var_647) = &input.read_only { + object.key("readOnly").boolean(*var_647); + } +} + +pub fn serialize_structure_volume_from( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::VolumeFrom, +) { + if let Some(var_648) = &input.source_container { + object.key("sourceContainer").string(var_648); + } + if let Some(var_649) = &input.read_only { + object.key("readOnly").boolean(*var_649); + } +} + +pub fn serialize_structure_linux_parameters( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::LinuxParameters, +) { + if let Some(var_650) = &input.capabilities { + let mut object_651 = object.key("capabilities").start_object(); + crate::json_ser::serialize_structure_kernel_capabilities(&mut object_651, var_650); + object_651.finish(); + } + if let Some(var_652) = &input.devices { + let mut array_653 = object.key("devices").start_array(); + for item_654 in var_652 { + let mut object_655 = array_653.value().start_object(); + crate::json_ser::serialize_structure_device(&mut object_655, item_654); + object_655.finish(); + } + array_653.finish(); + } + if let Some(var_656) = &input.init_process_enabled { + object.key("initProcessEnabled").boolean(*var_656); + } + if let Some(var_657) = &input.shared_memory_size { + object.key("sharedMemorySize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_657).into()), + ); + } + if let Some(var_658) = &input.tmpfs { + let mut array_659 = object.key("tmpfs").start_array(); + for item_660 in var_658 { + let mut object_661 = array_659.value().start_object(); + crate::json_ser::serialize_structure_tmpfs(&mut object_661, item_660); + object_661.finish(); + } + array_659.finish(); + } + if let Some(var_662) = &input.max_swap { + object.key("maxSwap").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_662).into()), + ); + } + if let Some(var_663) = &input.swappiness { + object.key("swappiness").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_663).into()), + ); + } +} + +pub fn serialize_structure_secret( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Secret, +) { + if let Some(var_664) = &input.name { + object.key("name").string(var_664); + } + if let Some(var_665) = &input.value_from { + object.key("valueFrom").string(var_665); + } +} + +pub fn serialize_structure_container_dependency( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ContainerDependency, +) { + if let Some(var_666) = &input.container_name { + object.key("containerName").string(var_666); + } + if let Some(var_667) = &input.condition { + object.key("condition").string(var_667.as_str()); + } +} + +pub fn serialize_structure_host_entry( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::HostEntry, +) { + if let Some(var_668) = &input.hostname { + object.key("hostname").string(var_668); + } + if let Some(var_669) = &input.ip_address { + object.key("ipAddress").string(var_669); + } +} + +pub fn serialize_structure_ulimit( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Ulimit, +) { + if let Some(var_670) = &input.name { + object.key("name").string(var_670.as_str()); + } + object.key("softLimit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.soft_limit).into()), + ); + object.key("hardLimit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.hard_limit).into()), + ); +} + +pub fn serialize_structure_log_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::LogConfiguration, +) { + if let Some(var_671) = &input.log_driver { + object.key("logDriver").string(var_671.as_str()); + } + if let Some(var_672) = &input.options { + let mut object_673 = object.key("options").start_object(); + for (key_674, value_675) in var_672 { + object_673.key(key_674).string(value_675); + } + object_673.finish(); + } + if let Some(var_676) = &input.secret_options { + let mut array_677 = object.key("secretOptions").start_array(); + for item_678 in var_676 { + let mut object_679 = array_677.value().start_object(); + crate::json_ser::serialize_structure_secret(&mut object_679, item_678); + object_679.finish(); + } + array_677.finish(); + } +} + +pub fn serialize_structure_health_check( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::HealthCheck, +) { + if let Some(var_680) = &input.command { + let mut array_681 = object.key("command").start_array(); + for item_682 in var_680 { + array_681.value().string(item_682); + } + array_681.finish(); + } + if let Some(var_683) = &input.interval { + object.key("interval").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_683).into()), + ); + } + if let Some(var_684) = &input.timeout { + object.key("timeout").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_684).into()), + ); + } + if let Some(var_685) = &input.retries { + object.key("retries").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_685).into()), + ); + } + if let Some(var_686) = &input.start_period { + object.key("startPeriod").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_686).into()), + ); + } +} + +pub fn serialize_structure_system_control( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::SystemControl, +) { + if let Some(var_687) = &input.namespace { + object.key("namespace").string(var_687); + } + if let Some(var_688) = &input.value { + object.key("value").string(var_688); + } +} + +pub fn serialize_structure_resource_requirement( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResourceRequirement, +) { + if let Some(var_689) = &input.value { + object.key("value").string(var_689); + } + if let Some(var_690) = &input.r#type { + object.key("type").string(var_690.as_str()); + } +} + +pub fn serialize_structure_firelens_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::FirelensConfiguration, +) { + if let Some(var_691) = &input.r#type { + object.key("type").string(var_691.as_str()); + } + if let Some(var_692) = &input.options { + let mut object_693 = object.key("options").start_object(); + for (key_694, value_695) in var_692 { + object_693.key(key_694).string(value_695); + } + object_693.finish(); + } +} + +pub fn serialize_structure_host_volume_properties( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::HostVolumeProperties, +) { + if let Some(var_696) = &input.source_path { + object.key("sourcePath").string(var_696); + } +} + +pub fn serialize_structure_docker_volume_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DockerVolumeConfiguration, +) { + if let Some(var_697) = &input.scope { + object.key("scope").string(var_697.as_str()); + } + if let Some(var_698) = &input.autoprovision { + object.key("autoprovision").boolean(*var_698); + } + if let Some(var_699) = &input.driver { + object.key("driver").string(var_699); + } + if let Some(var_700) = &input.driver_opts { + let mut object_701 = object.key("driverOpts").start_object(); + for (key_702, value_703) in var_700 { + object_701.key(key_702).string(value_703); + } + object_701.finish(); + } + if let Some(var_704) = &input.labels { + let mut object_705 = object.key("labels").start_object(); + for (key_706, value_707) in var_704 { + object_705.key(key_706).string(value_707); + } + object_705.finish(); + } +} + +pub fn serialize_structure_efs_volume_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::EFSVolumeConfiguration, +) { + if let Some(var_708) = &input.file_system_id { + object.key("fileSystemId").string(var_708); + } + if let Some(var_709) = &input.root_directory { + object.key("rootDirectory").string(var_709); + } + if let Some(var_710) = &input.transit_encryption { + object.key("transitEncryption").string(var_710.as_str()); + } + if let Some(var_711) = &input.transit_encryption_port { + object.key("transitEncryptionPort").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_711).into()), + ); + } + if let Some(var_712) = &input.authorization_config { + let mut object_713 = object.key("authorizationConfig").start_object(); + crate::json_ser::serialize_structure_efs_authorization_config(&mut object_713, var_712); + object_713.finish(); + } +} + +pub fn serialize_structure_f_sx_windows_file_server_volume_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::FSxWindowsFileServerVolumeConfiguration, +) { + if let Some(var_714) = &input.file_system_id { + object.key("fileSystemId").string(var_714); + } + if let Some(var_715) = &input.root_directory { + object.key("rootDirectory").string(var_715); + } + if let Some(var_716) = &input.authorization_config { + let mut object_717 = object.key("authorizationConfig").start_object(); + crate::json_ser::serialize_structure_f_sx_windows_file_server_authorization_config( + &mut object_717, + var_716, + ); + object_717.finish(); + } +} + +pub fn serialize_structure_container_override( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ContainerOverride, +) { + if let Some(var_718) = &input.name { + object.key("name").string(var_718); + } + if let Some(var_719) = &input.command { + let mut array_720 = object.key("command").start_array(); + for item_721 in var_719 { + array_720.value().string(item_721); + } + array_720.finish(); + } + if let Some(var_722) = &input.environment { + let mut array_723 = object.key("environment").start_array(); + for item_724 in var_722 { + let mut object_725 = array_723.value().start_object(); + crate::json_ser::serialize_structure_key_value_pair(&mut object_725, item_724); + object_725.finish(); + } + array_723.finish(); + } + if let Some(var_726) = &input.environment_files { + let mut array_727 = object.key("environmentFiles").start_array(); + for item_728 in var_726 { + let mut object_729 = array_727.value().start_object(); + crate::json_ser::serialize_structure_environment_file(&mut object_729, item_728); + object_729.finish(); + } + array_727.finish(); + } + if let Some(var_730) = &input.cpu { + object.key("cpu").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_730).into()), + ); + } + if let Some(var_731) = &input.memory { + object.key("memory").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_731).into()), + ); + } + if let Some(var_732) = &input.memory_reservation { + object.key("memoryReservation").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_732).into()), + ); + } + if let Some(var_733) = &input.resource_requirements { + let mut array_734 = object.key("resourceRequirements").start_array(); + for item_735 in var_733 { + let mut object_736 = array_734.value().start_object(); + crate::json_ser::serialize_structure_resource_requirement(&mut object_736, item_735); + object_736.finish(); + } + array_734.finish(); + } +} + +pub fn serialize_structure_inference_accelerator_override( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InferenceAcceleratorOverride, +) { + if let Some(var_737) = &input.device_name { + object.key("deviceName").string(var_737); + } + if let Some(var_738) = &input.device_type { + object.key("deviceType").string(var_738); + } +} + +pub fn serialize_structure_execute_command_log_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ExecuteCommandLogConfiguration, +) { + if let Some(var_739) = &input.cloud_watch_log_group_name { + object.key("cloudWatchLogGroupName").string(var_739); + } + object + .key("cloudWatchEncryptionEnabled") + .boolean(input.cloud_watch_encryption_enabled); + if let Some(var_740) = &input.s3_bucket_name { + object.key("s3BucketName").string(var_740); + } + object + .key("s3EncryptionEnabled") + .boolean(input.s3_encryption_enabled); + if let Some(var_741) = &input.s3_key_prefix { + object.key("s3KeyPrefix").string(var_741); + } +} + +pub fn serialize_structure_kernel_capabilities( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::KernelCapabilities, +) { + if let Some(var_742) = &input.add { + let mut array_743 = object.key("add").start_array(); + for item_744 in var_742 { + array_743.value().string(item_744); + } + array_743.finish(); + } + if let Some(var_745) = &input.drop { + let mut array_746 = object.key("drop").start_array(); + for item_747 in var_745 { + array_746.value().string(item_747); + } + array_746.finish(); + } +} + +pub fn serialize_structure_device( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Device, +) { + if let Some(var_748) = &input.host_path { + object.key("hostPath").string(var_748); + } + if let Some(var_749) = &input.container_path { + object.key("containerPath").string(var_749); + } + if let Some(var_750) = &input.permissions { + let mut array_751 = object.key("permissions").start_array(); + for item_752 in var_750 { + array_751.value().string(item_752.as_str()); + } + array_751.finish(); + } +} + +pub fn serialize_structure_tmpfs( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tmpfs, +) { + if let Some(var_753) = &input.container_path { + object.key("containerPath").string(var_753); + } + object.key("size").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.size).into()), + ); + if let Some(var_754) = &input.mount_options { + let mut array_755 = object.key("mountOptions").start_array(); + for item_756 in var_754 { + array_755.value().string(item_756); + } + array_755.finish(); + } +} + +pub fn serialize_structure_efs_authorization_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::EFSAuthorizationConfig, +) { + if let Some(var_757) = &input.access_point_id { + object.key("accessPointId").string(var_757); + } + if let Some(var_758) = &input.iam { + object.key("iam").string(var_758.as_str()); + } +} + +pub fn serialize_structure_f_sx_windows_file_server_authorization_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::FSxWindowsFileServerAuthorizationConfig, +) { + if let Some(var_759) = &input.credentials_parameter { + object.key("credentialsParameter").string(var_759); + } + if let Some(var_760) = &input.domain { + object.key("domain").string(var_760); + } +} diff --git a/sdk/ecs/src/lib.rs b/sdk/ecs/src/lib.rs new file mode 100644 index 000000000000..ca682bb72887 --- /dev/null +++ b/sdk/ecs/src/lib.rs @@ -0,0 +1,51 @@ +#![allow(clippy::module_inception)] +#![allow(clippy::upper_case_acronyms)] +#![allow(clippy::large_enum_variant)] +#![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] +//! Amazon Elastic Container Service +//!

      Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes +//! it easy to run, stop, and manage Docker containers on a cluster. You can host your +//! cluster on a serverless infrastructure that is managed by Amazon ECS by launching your +//! services or tasks on AWS Fargate. For more control, you can host your tasks on a cluster +//! of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

      +//!

      Amazon ECS makes it easy to launch and stop container-based applications with simple API +//! calls, allows you to get the state of your cluster from a centralized service, and gives +//! you access to many familiar Amazon EC2 features.

      +//!

      You can use Amazon ECS to schedule the placement of containers across your cluster based on +//! your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates +//! the need for you to operate your own cluster management and configuration management +//! systems or worry about scaling your management infrastructure.

      + +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use error_meta::Error; + +pub use config::Config; + +mod aws_json_errors; +#[cfg(feature = "client")] +pub mod client; +pub mod config; +pub mod error; +mod error_meta; +pub mod input; +mod instant_epoch; +mod json_deser; +mod json_ser; +pub mod model; +pub mod operation; +mod operation_ser; +pub mod output; +mod serde_util; +mod serializer; +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("ecs", 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/ecs/src/model.rs b/sdk/ecs/src/model.rs new file mode 100644 index 000000000000..aeaae5ee0c17 --- /dev/null +++ b/sdk/ecs/src/model.rs @@ -0,0 +1,16763 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL +/// deployment. An Amazon ECS task set includes details such as the desired number of tasks, how +/// many tasks are running, and whether the task set serves production traffic.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TaskSet { + ///

      The ID of the task set.

      + #[serde(rename = "id")] + #[serde(default)] + pub id: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the task set.

      + #[serde(rename = "taskSetArn")] + #[serde(default)] + pub task_set_arn: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the service the task set exists in.

      + #[serde(rename = "serviceArn")] + #[serde(default)] + pub service_arn: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists + /// in.

      + #[serde(rename = "clusterArn")] + #[serde(default)] + pub cluster_arn: std::option::Option, + ///

      The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy + /// deployment, the startedBy parameter is CODE_DEPLOY. For a task + /// set created for an external deployment, the startedBy field isn't used.

      + #[serde(rename = "startedBy")] + #[serde(default)] + pub started_by: std::option::Option, + ///

      The external ID associated with the task set.

      + ///

      If a task set is created by an AWS CodeDeploy deployment, the externalId parameter + /// contains the AWS CodeDeploy deployment ID.

      + ///

      If a task set is created for an external deployment and is associated with a service + /// discovery registry, the externalId parameter contains the + /// ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

      + #[serde(rename = "externalId")] + #[serde(default)] + pub external_id: std::option::Option, + ///

      The status of the task set. The following describes each state:

      + ///
      + ///
      PRIMARY
      + ///
      + ///

      The task set is serving production traffic.

      + ///
      + ///
      ACTIVE
      + ///
      + ///

      The task set is not serving production traffic.

      + ///
      + ///
      DRAINING
      + ///
      + ///

      The tasks in the task set are being stopped and their corresponding + /// targets are being deregistered from their target group.

      + ///
      + ///
      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The task definition the task set is using.

      + #[serde(rename = "taskDefinition")] + #[serde(default)] + pub task_definition: std::option::Option, + ///

      The computed desired count for the task set. This is calculated by multiplying the + /// service's desiredCount by the task set's scale percentage. The + /// result is always rounded up. For example, if the computed desired count is 1.2, it + /// rounds up to 2 tasks.

      + #[serde(rename = "computedDesiredCount")] + pub computed_desired_count: i32, + ///

      The number of tasks in the task set that are in the PENDING status during + /// a deployment. A task in the PENDING state is preparing to enter the + /// RUNNING state. A task set enters the PENDING status when + /// it launches for the first time or when it is restarted after being in the + /// STOPPED state.

      + #[serde(rename = "pendingCount")] + pub pending_count: i32, + ///

      The number of tasks in the task set that are in the RUNNING status during + /// a deployment. A task in the RUNNING state is running and ready for + /// use.

      + #[serde(rename = "runningCount")] + pub running_count: i32, + ///

      The Unix timestamp for when the task set was created.

      + #[serde(rename = "createdAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub created_at: std::option::Option, + ///

      The Unix timestamp for when the task set was last updated.

      + #[serde(rename = "updatedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub updated_at: std::option::Option, + ///

      The launch type the tasks in the task set are using. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "launchType")] + #[serde(default)] + pub launch_type: std::option::Option, + ///

      The capacity provider strategy associated with the task set.

      + #[serde(rename = "capacityProviderStrategy")] + #[serde(default)] + pub capacity_provider_strategy: + std::option::Option>, + ///

      The AWS Fargate platform version on which the tasks in the task set are running. A + /// platform version is only specified for tasks run on AWS Fargate. For more information, see + /// AWS Fargate platform + /// versions in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "platformVersion")] + #[serde(default)] + pub platform_version: std::option::Option, + ///

      The network configuration for the task set.

      + #[serde(rename = "networkConfiguration")] + #[serde(default)] + pub network_configuration: std::option::Option, + ///

      Details on a load balancer that is used with a task set.

      + #[serde(rename = "loadBalancers")] + #[serde(default)] + pub load_balancers: std::option::Option>, + ///

      The details of the service discovery registries to assign to this task set. For more + /// information, see Service + /// discovery.

      + #[serde(rename = "serviceRegistries")] + #[serde(default)] + pub service_registries: std::option::Option>, + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + #[serde(rename = "scale")] + #[serde(default)] + pub scale: std::option::Option, + ///

      The stability status, which indicates whether the task set has reached a steady state. + /// If the following conditions are met, the task set will be in + /// STEADY_STATE:

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

        The task runningCount is equal to the + /// computedDesiredCount.

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

        The pendingCount is 0.

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

        There are no tasks running on container instances in the DRAINING + /// status.

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

        All tasks are reporting a healthy status from the load balancers, service + /// discovery, and container health checks.

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

      If any of those conditions are not met, the stability status returns + /// STABILIZING.

      + #[serde(rename = "stabilityStatus")] + #[serde(default)] + pub stability_status: std::option::Option, + ///

      The Unix timestamp for when the task set stability status was retrieved.

      + #[serde(rename = "stabilityStatusAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub stability_status_at: std::option::Option, + ///

      The metadata that you apply to the task set to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, +} +impl std::fmt::Debug for TaskSet { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TaskSet"); + formatter.field("id", &self.id); + formatter.field("task_set_arn", &self.task_set_arn); + formatter.field("service_arn", &self.service_arn); + formatter.field("cluster_arn", &self.cluster_arn); + formatter.field("started_by", &self.started_by); + formatter.field("external_id", &self.external_id); + formatter.field("status", &self.status); + formatter.field("task_definition", &self.task_definition); + formatter.field("computed_desired_count", &self.computed_desired_count); + formatter.field("pending_count", &self.pending_count); + formatter.field("running_count", &self.running_count); + formatter.field("created_at", &self.created_at); + formatter.field("updated_at", &self.updated_at); + formatter.field("launch_type", &self.launch_type); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("platform_version", &self.platform_version); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("load_balancers", &self.load_balancers); + formatter.field("service_registries", &self.service_registries); + formatter.field("scale", &self.scale); + formatter.field("stability_status", &self.stability_status); + formatter.field("stability_status_at", &self.stability_status_at); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`TaskSet`](crate::model::TaskSet) +pub mod task_set { + /// A builder for [`TaskSet`](crate::model::TaskSet) + #[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) task_set_arn: std::option::Option, + pub(crate) service_arn: std::option::Option, + pub(crate) cluster_arn: std::option::Option, + pub(crate) started_by: std::option::Option, + pub(crate) external_id: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) task_definition: std::option::Option, + pub(crate) computed_desired_count: std::option::Option, + pub(crate) pending_count: std::option::Option, + pub(crate) running_count: std::option::Option, + pub(crate) created_at: std::option::Option, + pub(crate) updated_at: std::option::Option, + pub(crate) launch_type: std::option::Option, + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) platform_version: std::option::Option, + pub(crate) network_configuration: std::option::Option, + pub(crate) load_balancers: std::option::Option>, + pub(crate) service_registries: + std::option::Option>, + pub(crate) scale: std::option::Option, + pub(crate) stability_status: std::option::Option, + pub(crate) stability_status_at: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The ID of the task set.

      + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the task set.

      + pub fn task_set_arn(mut self, inp: impl Into) -> Self { + self.task_set_arn = Some(inp.into()); + self + } + pub fn set_task_set_arn(mut self, inp: std::option::Option) -> Self { + self.task_set_arn = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the service the task set exists in.

      + pub fn service_arn(mut self, inp: impl Into) -> Self { + self.service_arn = Some(inp.into()); + self + } + pub fn set_service_arn(mut self, inp: std::option::Option) -> Self { + self.service_arn = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists + /// in.

      + pub fn cluster_arn(mut self, inp: impl Into) -> Self { + self.cluster_arn = Some(inp.into()); + self + } + pub fn set_cluster_arn(mut self, inp: std::option::Option) -> Self { + self.cluster_arn = inp; + self + } + ///

      The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy + /// deployment, the startedBy parameter is CODE_DEPLOY. For a task + /// set created for an external deployment, the startedBy field isn't used.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.started_by = Some(inp.into()); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.started_by = inp; + self + } + ///

      The external ID associated with the task set.

      + ///

      If a task set is created by an AWS CodeDeploy deployment, the externalId parameter + /// contains the AWS CodeDeploy deployment ID.

      + ///

      If a task set is created for an external deployment and is associated with a service + /// discovery registry, the externalId parameter contains the + /// ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

      + pub fn external_id(mut self, inp: impl Into) -> Self { + self.external_id = Some(inp.into()); + self + } + pub fn set_external_id(mut self, inp: std::option::Option) -> Self { + self.external_id = inp; + self + } + ///

      The status of the task set. The following describes each state:

      + ///
      + ///
      PRIMARY
      + ///
      + ///

      The task set is serving production traffic.

      + ///
      + ///
      ACTIVE
      + ///
      + ///

      The task set is not serving production traffic.

      + ///
      + ///
      DRAINING
      + ///
      + ///

      The tasks in the task set are being stopped and their corresponding + /// targets are being deregistered from their target group.

      + ///
      + ///
      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The task definition the task set is using.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + ///

      The computed desired count for the task set. This is calculated by multiplying the + /// service's desiredCount by the task set's scale percentage. The + /// result is always rounded up. For example, if the computed desired count is 1.2, it + /// rounds up to 2 tasks.

      + pub fn computed_desired_count(mut self, inp: i32) -> Self { + self.computed_desired_count = Some(inp); + self + } + pub fn set_computed_desired_count(mut self, inp: i32) -> Self { + self.computed_desired_count = Some(inp); + self + } + ///

      The number of tasks in the task set that are in the PENDING status during + /// a deployment. A task in the PENDING state is preparing to enter the + /// RUNNING state. A task set enters the PENDING status when + /// it launches for the first time or when it is restarted after being in the + /// STOPPED state.

      + pub fn pending_count(mut self, inp: i32) -> Self { + self.pending_count = Some(inp); + self + } + pub fn set_pending_count(mut self, inp: i32) -> Self { + self.pending_count = Some(inp); + self + } + ///

      The number of tasks in the task set that are in the RUNNING status during + /// a deployment. A task in the RUNNING state is running and ready for + /// use.

      + pub fn running_count(mut self, inp: i32) -> Self { + self.running_count = Some(inp); + self + } + pub fn set_running_count(mut self, inp: i32) -> Self { + self.running_count = Some(inp); + self + } + ///

      The Unix timestamp for when the task set was created.

      + pub fn created_at(mut self, inp: smithy_types::Instant) -> Self { + self.created_at = Some(inp); + self + } + pub fn set_created_at(mut self, inp: std::option::Option) -> Self { + self.created_at = inp; + self + } + ///

      The Unix timestamp for when the task set was last updated.

      + pub fn updated_at(mut self, inp: smithy_types::Instant) -> Self { + self.updated_at = Some(inp); + self + } + pub fn set_updated_at(mut self, inp: std::option::Option) -> Self { + self.updated_at = inp; + self + } + ///

      The launch type the tasks in the task set are using. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      The AWS Fargate platform version on which the tasks in the task set are running. A + /// platform version is only specified for tasks run on AWS Fargate. For more information, see + /// AWS Fargate platform + /// versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      The network configuration for the task set.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + pub fn load_balancers(mut self, inp: impl Into) -> Self { + let mut v = self.load_balancers.unwrap_or_default(); + v.push(inp.into()); + self.load_balancers = Some(v); + self + } + pub fn set_load_balancers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.load_balancers = inp; + self + } + pub fn service_registries(mut self, inp: impl Into) -> Self { + let mut v = self.service_registries.unwrap_or_default(); + v.push(inp.into()); + self.service_registries = Some(v); + self + } + pub fn set_service_registries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.service_registries = inp; + self + } + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub fn scale(mut self, inp: crate::model::Scale) -> Self { + self.scale = Some(inp); + self + } + pub fn set_scale(mut self, inp: std::option::Option) -> Self { + self.scale = inp; + self + } + ///

      The stability status, which indicates whether the task set has reached a steady state. + /// If the following conditions are met, the task set will be in + /// STEADY_STATE:

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

        The task runningCount is equal to the + /// computedDesiredCount.

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

        The pendingCount is 0.

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

        There are no tasks running on container instances in the DRAINING + /// status.

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

        All tasks are reporting a healthy status from the load balancers, service + /// discovery, and container health checks.

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

      If any of those conditions are not met, the stability status returns + /// STABILIZING.

      + pub fn stability_status(mut self, inp: crate::model::StabilityStatus) -> Self { + self.stability_status = Some(inp); + self + } + pub fn set_stability_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.stability_status = inp; + self + } + ///

      The Unix timestamp for when the task set stability status was retrieved.

      + pub fn stability_status_at(mut self, inp: smithy_types::Instant) -> Self { + self.stability_status_at = Some(inp); + self + } + pub fn set_stability_status_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.stability_status_at = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`TaskSet`](crate::model::TaskSet) + pub fn build(self) -> crate::model::TaskSet { + crate::model::TaskSet { + id: self.id, + task_set_arn: self.task_set_arn, + service_arn: self.service_arn, + cluster_arn: self.cluster_arn, + started_by: self.started_by, + external_id: self.external_id, + status: self.status, + task_definition: self.task_definition, + computed_desired_count: self.computed_desired_count.unwrap_or_default(), + pending_count: self.pending_count.unwrap_or_default(), + running_count: self.running_count.unwrap_or_default(), + created_at: self.created_at, + updated_at: self.updated_at, + launch_type: self.launch_type, + capacity_provider_strategy: self.capacity_provider_strategy, + platform_version: self.platform_version, + network_configuration: self.network_configuration, + load_balancers: self.load_balancers, + service_registries: self.service_registries, + scale: self.scale, + stability_status: self.stability_status, + stability_status_at: self.stability_status_at, + tags: self.tags, + } + } + } +} +impl TaskSet { + /// Creates a new builder-style object to manufacture [`TaskSet`](crate::model::TaskSet) + pub fn builder() -> crate::model::task_set::Builder { + crate::model::task_set::Builder::default() + } +} + +///

      The metadata that you apply to a resource to help you categorize and organize them. +/// Each tag consists of a key and an optional value, both of which you define.

      +///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only +/// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, +/// remember that other services may have restrictions on allowed characters. +/// Generally allowed characters are: letters, numbers, and spaces representable in +/// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase +/// combination of such as a prefix for either keys or values as it is reserved for +/// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with +/// this prefix do not count against your tags per resource limit.

        +///
      • +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Tag { + ///

      One part of a key-value pair that make up a tag. A key is a general label + /// that acts like a category for more specific tag values.

      + #[serde(rename = "key")] + #[serde(default)] + pub key: std::option::Option, + ///

      The optional part of a key-value pair that make up a tag. A value acts as + /// a descriptor within a tag category (key).

      + #[serde(rename = "value")] + #[serde(default)] + 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", &self.key); + formatter.field("value", &self.value); + 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 { + ///

      One part of a key-value pair that make up a tag. A key is a general label + /// that acts like a category for more specific tag values.

      + pub fn key(mut self, inp: impl Into) -> Self { + self.key = Some(inp.into()); + self + } + pub fn set_key(mut self, inp: std::option::Option) -> Self { + self.key = inp; + self + } + ///

      The optional part of a key-value pair that make up a tag. A value acts as + /// a descriptor within a tag category (key).

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + 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() + } +} + +#[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 StabilityStatus { + Stabilizing, + SteadyState, + Unknown(String), +} +impl std::convert::From<&str> for StabilityStatus { + fn from(s: &str) -> Self { + match s { + "STABILIZING" => StabilityStatus::Stabilizing, + "STEADY_STATE" => StabilityStatus::SteadyState, + other => StabilityStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for StabilityStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(StabilityStatus::from(s)) + } +} +impl StabilityStatus { + pub fn as_str(&self) -> &str { + match self { + StabilityStatus::Stabilizing => "STABILIZING", + StabilityStatus::SteadyState => "STEADY_STATE", + StabilityStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for StabilityStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for StabilityStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      A floating-point percentage of the desired number of tasks to place and keep running +/// in the task set.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Scale { + ///

      The value, specified as a percent total of a service's desiredCount, to + /// scale the task set. Accepted values are numbers between 0 and 100.

      + #[serde(rename = "value")] + pub value: f64, + ///

      The unit of measure for the scale value.

      + #[serde(rename = "unit")] + #[serde(default)] + pub unit: std::option::Option, +} +impl std::fmt::Debug for Scale { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Scale"); + formatter.field("value", &self.value); + formatter.field("unit", &self.unit); + formatter.finish() + } +} +/// See [`Scale`](crate::model::Scale) +pub mod scale { + /// A builder for [`Scale`](crate::model::Scale) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) value: std::option::Option, + pub(crate) unit: std::option::Option, + } + impl Builder { + ///

      The value, specified as a percent total of a service's desiredCount, to + /// scale the task set. Accepted values are numbers between 0 and 100.

      + pub fn value(mut self, inp: f64) -> Self { + self.value = Some(inp); + self + } + pub fn set_value(mut self, inp: f64) -> Self { + self.value = Some(inp); + self + } + ///

      The unit of measure for the scale value.

      + pub fn unit(mut self, inp: crate::model::ScaleUnit) -> Self { + self.unit = Some(inp); + self + } + pub fn set_unit(mut self, inp: std::option::Option) -> Self { + self.unit = inp; + self + } + /// Consumes the builder and constructs a [`Scale`](crate::model::Scale) + pub fn build(self) -> crate::model::Scale { + crate::model::Scale { + value: self.value.unwrap_or_default(), + unit: self.unit, + } + } + } +} +impl Scale { + /// Creates a new builder-style object to manufacture [`Scale`](crate::model::Scale) + pub fn builder() -> crate::model::scale::Builder { + crate::model::scale::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 ScaleUnit { + Percent, + Unknown(String), +} +impl std::convert::From<&str> for ScaleUnit { + fn from(s: &str) -> Self { + match s { + "PERCENT" => ScaleUnit::Percent, + other => ScaleUnit::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ScaleUnit { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ScaleUnit::from(s)) + } +} +impl ScaleUnit { + pub fn as_str(&self) -> &str { + match self { + ScaleUnit::Percent => "PERCENT", + ScaleUnit::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ScaleUnit { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ScaleUnit { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Details of the service registry.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceRegistry { + ///

      The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is + /// AWS Cloud Map. For more information, see CreateService.

      + #[serde(rename = "registryArn")] + #[serde(default)] + pub registry_arn: std::option::Option, + ///

      The port value used if your service discovery service specified an SRV record. This + /// field may be used if both the awsvpc network mode and SRV records are + /// used.

      + #[serde(rename = "port")] + #[serde(default)] + pub port: std::option::Option, + ///

      The container name value, already specified in the task definition, to be used for + /// your service discovery service. If the task definition that your service task specifies + /// uses the bridge or host network mode, you must specify a + /// containerName and containerPort combination from the task + /// definition. If the task definition that your service task specifies uses the + /// awsvpc network mode and a type SRV DNS record is used, you must specify + /// either a containerName and containerPort combination or a + /// port value, but not both.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      The port value, already specified in the task definition, to be used for your service + /// discovery service. If the task definition your service task specifies uses the + /// bridge or host network mode, you must specify a + /// containerName and containerPort combination from the task + /// definition. If the task definition your service task specifies uses the + /// awsvpc network mode and a type SRV DNS record is used, you must specify + /// either a containerName and containerPort combination or a + /// port value, but not both.

      + #[serde(rename = "containerPort")] + #[serde(default)] + pub container_port: std::option::Option, +} +impl std::fmt::Debug for ServiceRegistry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceRegistry"); + formatter.field("registry_arn", &self.registry_arn); + formatter.field("port", &self.port); + formatter.field("container_name", &self.container_name); + formatter.field("container_port", &self.container_port); + formatter.finish() + } +} +/// See [`ServiceRegistry`](crate::model::ServiceRegistry) +pub mod service_registry { + /// A builder for [`ServiceRegistry`](crate::model::ServiceRegistry) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) registry_arn: std::option::Option, + pub(crate) port: std::option::Option, + pub(crate) container_name: std::option::Option, + pub(crate) container_port: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is + /// AWS Cloud Map. For more information, see CreateService.

      + pub fn registry_arn(mut self, inp: impl Into) -> Self { + self.registry_arn = Some(inp.into()); + self + } + pub fn set_registry_arn(mut self, inp: std::option::Option) -> Self { + self.registry_arn = inp; + self + } + ///

      The port value used if your service discovery service specified an SRV record. This + /// field may be used if both the awsvpc network mode and SRV records are + /// used.

      + pub fn port(mut self, inp: i32) -> Self { + self.port = Some(inp); + self + } + pub fn set_port(mut self, inp: std::option::Option) -> Self { + self.port = inp; + self + } + ///

      The container name value, already specified in the task definition, to be used for + /// your service discovery service. If the task definition that your service task specifies + /// uses the bridge or host network mode, you must specify a + /// containerName and containerPort combination from the task + /// definition. If the task definition that your service task specifies uses the + /// awsvpc network mode and a type SRV DNS record is used, you must specify + /// either a containerName and containerPort combination or a + /// port value, but not both.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      The port value, already specified in the task definition, to be used for your service + /// discovery service. If the task definition your service task specifies uses the + /// bridge or host network mode, you must specify a + /// containerName and containerPort combination from the task + /// definition. If the task definition your service task specifies uses the + /// awsvpc network mode and a type SRV DNS record is used, you must specify + /// either a containerName and containerPort combination or a + /// port value, but not both.

      + pub fn container_port(mut self, inp: i32) -> Self { + self.container_port = Some(inp); + self + } + pub fn set_container_port(mut self, inp: std::option::Option) -> Self { + self.container_port = inp; + self + } + /// Consumes the builder and constructs a [`ServiceRegistry`](crate::model::ServiceRegistry) + pub fn build(self) -> crate::model::ServiceRegistry { + crate::model::ServiceRegistry { + registry_arn: self.registry_arn, + port: self.port, + container_name: self.container_name, + container_port: self.container_port, + } + } + } +} +impl ServiceRegistry { + /// Creates a new builder-style object to manufacture [`ServiceRegistry`](crate::model::ServiceRegistry) + pub fn builder() -> crate::model::service_registry::Builder { + crate::model::service_registry::Builder::default() + } +} + +///

      The load balancer configuration to use with a service or task set.

      +///

      For specific notes and restrictions regarding the use of load balancers with services +/// and task sets, see the CreateService and CreateTaskSet actions.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct LoadBalancer { + ///

      The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or + /// task set.

      + ///

      A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a + /// Classic Load Balancer the target group ARN should be omitted.

      + ///

      For services using the ECS deployment controller, you can specify one or + /// multiple target groups. For more information, see Registering Multiple Target Groups with a Service in + /// the Amazon Elastic Container Service Developer Guide.

      + ///

      For services using the CODE_DEPLOY deployment controller, you are + /// required to define two target groups for the load balancer. For more information, see + /// Blue/Green Deployment with CodeDeploy in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      If your service's task definition uses the awsvpc network mode (which + /// is required for the Fargate launch type), you must choose + /// ip as the target type, not instance, when creating + /// your target groups because tasks that use the awsvpc network mode are + /// associated with an elastic network interface, not an Amazon EC2 instance.

      + ///
      + #[serde(rename = "targetGroupArn")] + #[serde(default)] + pub target_group_arn: std::option::Option, + ///

      The name of the load balancer to associate with the Amazon ECS service or task set.

      + ///

      A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer + /// or a Network Load Balancer the load balancer name parameter should be omitted.

      + #[serde(rename = "loadBalancerName")] + #[serde(default)] + pub load_balancer_name: std::option::Option, + ///

      The name of the container (as it appears in a container definition) to associate with + /// the load balancer.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      The port on the container to associate with the load balancer. This port must + /// correspond to a containerPort in the task definition the tasks in the + /// service are using. For tasks that use the EC2 launch type, the container + /// instance they are launched on must allow ingress traffic on the hostPort of + /// the port mapping.

      + #[serde(rename = "containerPort")] + #[serde(default)] + pub container_port: std::option::Option, +} +impl std::fmt::Debug for LoadBalancer { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("LoadBalancer"); + formatter.field("target_group_arn", &self.target_group_arn); + formatter.field("load_balancer_name", &self.load_balancer_name); + formatter.field("container_name", &self.container_name); + formatter.field("container_port", &self.container_port); + formatter.finish() + } +} +/// See [`LoadBalancer`](crate::model::LoadBalancer) +pub mod load_balancer { + /// A builder for [`LoadBalancer`](crate::model::LoadBalancer) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) target_group_arn: std::option::Option, + pub(crate) load_balancer_name: std::option::Option, + pub(crate) container_name: std::option::Option, + pub(crate) container_port: std::option::Option, + } + impl Builder { + ///

      The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or + /// task set.

      + ///

      A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a + /// Classic Load Balancer the target group ARN should be omitted.

      + ///

      For services using the ECS deployment controller, you can specify one or + /// multiple target groups. For more information, see Registering Multiple Target Groups with a Service in + /// the Amazon Elastic Container Service Developer Guide.

      + ///

      For services using the CODE_DEPLOY deployment controller, you are + /// required to define two target groups for the load balancer. For more information, see + /// Blue/Green Deployment with CodeDeploy in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      If your service's task definition uses the awsvpc network mode (which + /// is required for the Fargate launch type), you must choose + /// ip as the target type, not instance, when creating + /// your target groups because tasks that use the awsvpc network mode are + /// associated with an elastic network interface, not an Amazon EC2 instance.

      + ///
      + pub fn target_group_arn(mut self, inp: impl Into) -> Self { + self.target_group_arn = Some(inp.into()); + self + } + pub fn set_target_group_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.target_group_arn = inp; + self + } + ///

      The name of the load balancer to associate with the Amazon ECS service or task set.

      + ///

      A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer + /// or a Network Load Balancer the load balancer name parameter should be omitted.

      + pub fn load_balancer_name(mut self, inp: impl Into) -> Self { + self.load_balancer_name = Some(inp.into()); + self + } + pub fn set_load_balancer_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.load_balancer_name = inp; + self + } + ///

      The name of the container (as it appears in a container definition) to associate with + /// the load balancer.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      The port on the container to associate with the load balancer. This port must + /// correspond to a containerPort in the task definition the tasks in the + /// service are using. For tasks that use the EC2 launch type, the container + /// instance they are launched on must allow ingress traffic on the hostPort of + /// the port mapping.

      + pub fn container_port(mut self, inp: i32) -> Self { + self.container_port = Some(inp); + self + } + pub fn set_container_port(mut self, inp: std::option::Option) -> Self { + self.container_port = inp; + self + } + /// Consumes the builder and constructs a [`LoadBalancer`](crate::model::LoadBalancer) + pub fn build(self) -> crate::model::LoadBalancer { + crate::model::LoadBalancer { + target_group_arn: self.target_group_arn, + load_balancer_name: self.load_balancer_name, + container_name: self.container_name, + container_port: self.container_port, + } + } + } +} +impl LoadBalancer { + /// Creates a new builder-style object to manufacture [`LoadBalancer`](crate::model::LoadBalancer) + pub fn builder() -> crate::model::load_balancer::Builder { + crate::model::load_balancer::Builder::default() + } +} + +///

      An object representing the network configuration for a task or service.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct NetworkConfiguration { + ///

      The VPC subnets and security groups associated with a task.

      + /// + ///

      All specified subnets and security groups must be from the same VPC.

      + ///
      + #[serde(rename = "awsvpcConfiguration")] + #[serde(default)] + pub awsvpc_configuration: std::option::Option, +} +impl std::fmt::Debug for NetworkConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("NetworkConfiguration"); + formatter.field("awsvpc_configuration", &self.awsvpc_configuration); + formatter.finish() + } +} +/// See [`NetworkConfiguration`](crate::model::NetworkConfiguration) +pub mod network_configuration { + /// A builder for [`NetworkConfiguration`](crate::model::NetworkConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) awsvpc_configuration: std::option::Option, + } + impl Builder { + ///

      The VPC subnets and security groups associated with a task.

      + /// + ///

      All specified subnets and security groups must be from the same VPC.

      + ///
      + pub fn awsvpc_configuration(mut self, inp: crate::model::AwsVpcConfiguration) -> Self { + self.awsvpc_configuration = Some(inp); + self + } + pub fn set_awsvpc_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.awsvpc_configuration = inp; + self + } + /// Consumes the builder and constructs a [`NetworkConfiguration`](crate::model::NetworkConfiguration) + pub fn build(self) -> crate::model::NetworkConfiguration { + crate::model::NetworkConfiguration { + awsvpc_configuration: self.awsvpc_configuration, + } + } + } +} +impl NetworkConfiguration { + /// Creates a new builder-style object to manufacture [`NetworkConfiguration`](crate::model::NetworkConfiguration) + pub fn builder() -> crate::model::network_configuration::Builder { + crate::model::network_configuration::Builder::default() + } +} + +///

      An object representing the networking details for a task or service.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct AwsVpcConfiguration { + ///

      The IDs of the subnets associated with the task or service. There is a limit of 16 + /// subnets that can be specified per AwsVpcConfiguration.

      + /// + ///

      All specified subnets must be from the same VPC.

      + ///
      + #[serde(rename = "subnets")] + #[serde(default)] + pub subnets: std::option::Option>, + ///

      The IDs of the security groups associated with the task or service. If you do not + /// specify a security group, the default security group for the VPC is used. There is a + /// limit of 5 security groups that can be specified per + /// AwsVpcConfiguration.

      + /// + ///

      All specified security groups must be from the same VPC.

      + ///
      + #[serde(rename = "securityGroups")] + #[serde(default)] + pub security_groups: std::option::Option>, + ///

      Whether the task's elastic network interface receives a public IP address. The default + /// value is DISABLED.

      + #[serde(rename = "assignPublicIp")] + #[serde(default)] + pub assign_public_ip: std::option::Option, +} +impl std::fmt::Debug for AwsVpcConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AwsVpcConfiguration"); + formatter.field("subnets", &self.subnets); + formatter.field("security_groups", &self.security_groups); + formatter.field("assign_public_ip", &self.assign_public_ip); + formatter.finish() + } +} +/// See [`AwsVpcConfiguration`](crate::model::AwsVpcConfiguration) +pub mod aws_vpc_configuration { + /// A builder for [`AwsVpcConfiguration`](crate::model::AwsVpcConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) subnets: std::option::Option>, + pub(crate) security_groups: std::option::Option>, + pub(crate) assign_public_ip: std::option::Option, + } + impl Builder { + pub fn subnets(mut self, inp: impl Into) -> Self { + let mut v = self.subnets.unwrap_or_default(); + v.push(inp.into()); + self.subnets = Some(v); + self + } + pub fn set_subnets( + mut self, + inp: std::option::Option>, + ) -> Self { + self.subnets = inp; + self + } + pub fn security_groups(mut self, inp: impl Into) -> Self { + let mut v = self.security_groups.unwrap_or_default(); + v.push(inp.into()); + self.security_groups = Some(v); + self + } + pub fn set_security_groups( + mut self, + inp: std::option::Option>, + ) -> Self { + self.security_groups = inp; + self + } + ///

      Whether the task's elastic network interface receives a public IP address. The default + /// value is DISABLED.

      + pub fn assign_public_ip(mut self, inp: crate::model::AssignPublicIp) -> Self { + self.assign_public_ip = Some(inp); + self + } + pub fn set_assign_public_ip( + mut self, + inp: std::option::Option, + ) -> Self { + self.assign_public_ip = inp; + self + } + /// Consumes the builder and constructs a [`AwsVpcConfiguration`](crate::model::AwsVpcConfiguration) + pub fn build(self) -> crate::model::AwsVpcConfiguration { + crate::model::AwsVpcConfiguration { + subnets: self.subnets, + security_groups: self.security_groups, + assign_public_ip: self.assign_public_ip, + } + } + } +} +impl AwsVpcConfiguration { + /// Creates a new builder-style object to manufacture [`AwsVpcConfiguration`](crate::model::AwsVpcConfiguration) + pub fn builder() -> crate::model::aws_vpc_configuration::Builder { + crate::model::aws_vpc_configuration::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 AssignPublicIp { + Disabled, + Enabled, + Unknown(String), +} +impl std::convert::From<&str> for AssignPublicIp { + fn from(s: &str) -> Self { + match s { + "DISABLED" => AssignPublicIp::Disabled, + "ENABLED" => AssignPublicIp::Enabled, + other => AssignPublicIp::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for AssignPublicIp { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(AssignPublicIp::from(s)) + } +} +impl AssignPublicIp { + pub fn as_str(&self) -> &str { + match self { + AssignPublicIp::Disabled => "DISABLED", + AssignPublicIp::Enabled => "ENABLED", + AssignPublicIp::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for AssignPublicIp { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for AssignPublicIp { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The details of a capacity provider strategy. A capacity provider strategy can be set +/// when using the RunTask or CreateCluster APIs or as +/// the default capacity provider strategy for a cluster with the CreateCluster API.

      +///

      Only capacity providers that are already associated with a cluster and have an +/// ACTIVE or UPDATING status can be used in a capacity +/// provider strategy. The PutClusterCapacityProviders API is used to +/// associate a capacity provider with a cluster.

      +///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity +/// provider must already be created. New Auto Scaling group capacity providers can be +/// created with the CreateCapacityProvider API operation.

      +///

      To use a AWS Fargate capacity provider, specify either the FARGATE or +/// FARGATE_SPOT capacity providers. The AWS 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.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct CapacityProviderStrategyItem { + ///

      The short name of the capacity provider.

      + #[serde(rename = "capacityProvider")] + #[serde(default)] + pub capacity_provider: std::option::Option, + ///

      The weight value designates the relative percentage of the total + /// number of tasks launched that should use the specified capacity provider. The + /// weight value is taken into consideration after the base + /// value, if defined, is satisfied.

      + ///

      If no weight value is specified, the default value of 0 is + /// used. When multiple capacity providers are specified within a capacity provider + /// strategy, at least one of the capacity providers must have a weight value greater than + /// zero and any capacity providers with a weight of 0 will not be used to + /// place tasks. If you specify multiple capacity providers in a strategy that all have a + /// weight of 0, any RunTask or CreateService actions + /// using the capacity provider strategy will fail.

      + ///

      An example scenario for using weights is defining a strategy that contains two + /// capacity providers and both have a weight of 1, then when the + /// base is satisfied, the tasks will be split evenly across the two + /// capacity providers. Using that same logic, if you specify a weight of 1 for + /// capacityProviderA and a weight of 4 for + /// capacityProviderB, then for every one task that is run using + /// capacityProviderA, four tasks would use + /// capacityProviderB.

      + #[serde(rename = "weight")] + pub weight: i32, + ///

      The base value designates how many tasks, at a minimum, to run on + /// the specified capacity provider. Only one capacity provider in a capacity provider + /// strategy can have a base defined. If no value is specified, the + /// default value of 0 is used.

      + #[serde(rename = "base")] + pub base: i32, +} +impl std::fmt::Debug for CapacityProviderStrategyItem { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CapacityProviderStrategyItem"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.field("weight", &self.weight); + formatter.field("base", &self.base); + formatter.finish() + } +} +/// See [`CapacityProviderStrategyItem`](crate::model::CapacityProviderStrategyItem) +pub mod capacity_provider_strategy_item { + /// A builder for [`CapacityProviderStrategyItem`](crate::model::CapacityProviderStrategyItem) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider: std::option::Option, + pub(crate) weight: std::option::Option, + pub(crate) base: std::option::Option, + } + impl Builder { + ///

      The short name of the capacity provider.

      + pub fn capacity_provider(mut self, inp: impl Into) -> Self { + self.capacity_provider = Some(inp.into()); + self + } + pub fn set_capacity_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider = inp; + self + } + ///

      The weight value designates the relative percentage of the total + /// number of tasks launched that should use the specified capacity provider. The + /// weight value is taken into consideration after the base + /// value, if defined, is satisfied.

      + ///

      If no weight value is specified, the default value of 0 is + /// used. When multiple capacity providers are specified within a capacity provider + /// strategy, at least one of the capacity providers must have a weight value greater than + /// zero and any capacity providers with a weight of 0 will not be used to + /// place tasks. If you specify multiple capacity providers in a strategy that all have a + /// weight of 0, any RunTask or CreateService actions + /// using the capacity provider strategy will fail.

      + ///

      An example scenario for using weights is defining a strategy that contains two + /// capacity providers and both have a weight of 1, then when the + /// base is satisfied, the tasks will be split evenly across the two + /// capacity providers. Using that same logic, if you specify a weight of 1 for + /// capacityProviderA and a weight of 4 for + /// capacityProviderB, then for every one task that is run using + /// capacityProviderA, four tasks would use + /// capacityProviderB.

      + pub fn weight(mut self, inp: i32) -> Self { + self.weight = Some(inp); + self + } + pub fn set_weight(mut self, inp: i32) -> Self { + self.weight = Some(inp); + self + } + ///

      The base value designates how many tasks, at a minimum, to run on + /// the specified capacity provider. Only one capacity provider in a capacity provider + /// strategy can have a base defined. If no value is specified, the + /// default value of 0 is used.

      + pub fn base(mut self, inp: i32) -> Self { + self.base = Some(inp); + self + } + pub fn set_base(mut self, inp: i32) -> Self { + self.base = Some(inp); + self + } + /// Consumes the builder and constructs a [`CapacityProviderStrategyItem`](crate::model::CapacityProviderStrategyItem) + pub fn build(self) -> crate::model::CapacityProviderStrategyItem { + crate::model::CapacityProviderStrategyItem { + capacity_provider: self.capacity_provider, + weight: self.weight.unwrap_or_default(), + base: self.base.unwrap_or_default(), + } + } + } +} +impl CapacityProviderStrategyItem { + /// Creates a new builder-style object to manufacture [`CapacityProviderStrategyItem`](crate::model::CapacityProviderStrategyItem) + pub fn builder() -> crate::model::capacity_provider_strategy_item::Builder { + crate::model::capacity_provider_strategy_item::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 LaunchType { + Ec2, + External, + Fargate, + Unknown(String), +} +impl std::convert::From<&str> for LaunchType { + fn from(s: &str) -> Self { + match s { + "EC2" => LaunchType::Ec2, + "EXTERNAL" => LaunchType::External, + "FARGATE" => LaunchType::Fargate, + other => LaunchType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for LaunchType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(LaunchType::from(s)) + } +} +impl LaunchType { + pub fn as_str(&self) -> &str { + match self { + LaunchType::Ec2 => "EC2", + LaunchType::External => "EXTERNAL", + LaunchType::Fargate => "FARGATE", + LaunchType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for LaunchType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for LaunchType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Details on a service within a cluster

      +#[non_exhaustive] +#[derive(serde::Deserialize, 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 AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

      + #[serde(rename = "serviceArn")] + #[serde(default)] + 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 + /// Region or across multiple Regions.

      + #[serde(rename = "serviceName")] + #[serde(default)] + pub service_name: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the cluster that hosts the service.

      + #[serde(rename = "clusterArn")] + #[serde(default)] + pub cluster_arn: std::option::Option, + ///

      A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the + /// container name (as it appears in a container definition), and the container port to + /// access from the load balancer.

      + #[serde(rename = "loadBalancers")] + #[serde(default)] + pub load_balancers: std::option::Option>, + ///

      The details of the service discovery registries to assign to this service. For more + /// information, see Service + /// Discovery.

      + #[serde(rename = "serviceRegistries")] + #[serde(default)] + pub service_registries: std::option::Option>, + ///

      The status of the service. The valid values are ACTIVE, + /// DRAINING, or INACTIVE.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The desired number of instantiations of the task definition to keep running on the + /// service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

      + #[serde(rename = "desiredCount")] + pub desired_count: i32, + ///

      The number of tasks in the cluster that are in the RUNNING state.

      + #[serde(rename = "runningCount")] + pub running_count: i32, + ///

      The number of tasks in the cluster that are in the PENDING state.

      + #[serde(rename = "pendingCount")] + pub pending_count: i32, + ///

      The infrastructure on which your service is running. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "launchType")] + #[serde(default)] + pub launch_type: std::option::Option, + ///

      The capacity provider strategy associated with the service.

      + #[serde(rename = "capacityProviderStrategy")] + #[serde(default)] + pub capacity_provider_strategy: + std::option::Option>, + ///

      The platform version on which to run your service. 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 AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "platformVersion")] + #[serde(default)] + pub platform_version: std::option::Option, + ///

      The task definition to use for tasks in the service. This value is specified when the + /// service is created with CreateService, and it can be modified with + /// UpdateService.

      + #[serde(rename = "taskDefinition")] + #[serde(default)] + pub task_definition: std::option::Option, + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + #[serde(rename = "deploymentConfiguration")] + #[serde(default)] + pub deployment_configuration: std::option::Option, + ///

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL + /// deployment. An Amazon ECS task set includes details such as the desired number of tasks, how + /// many tasks are running, and whether the task set serves production traffic.

      + #[serde(rename = "taskSets")] + #[serde(default)] + pub task_sets: std::option::Option>, + ///

      The current state of deployments for the service.

      + #[serde(rename = "deployments")] + #[serde(default)] + pub deployments: std::option::Option>, + ///

      The ARN of the IAM role associated with the service that allows the Amazon ECS container + /// agent to register container instances with an Elastic Load Balancing load balancer.

      + #[serde(rename = "roleArn")] + #[serde(default)] + pub role_arn: std::option::Option, + ///

      The event stream for your service. A maximum of 100 of the latest events are + /// displayed.

      + #[serde(rename = "events")] + #[serde(default)] + pub events: std::option::Option>, + ///

      The Unix timestamp for when the service was created.

      + #[serde(rename = "createdAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub created_at: std::option::Option, + ///

      The placement constraints for the tasks in the service.

      + #[serde(rename = "placementConstraints")] + #[serde(default)] + pub placement_constraints: + std::option::Option>, + ///

      The placement strategy that determines how tasks for the service are placed.

      + #[serde(rename = "placementStrategy")] + #[serde(default)] + pub placement_strategy: std::option::Option>, + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + #[serde(rename = "networkConfiguration")] + #[serde(default)] + pub network_configuration: std::option::Option, + ///

      The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy + /// Elastic Load Balancing target health checks after a task has first started.

      + #[serde(rename = "healthCheckGracePeriodSeconds")] + #[serde(default)] + pub health_check_grace_period_seconds: std::option::Option, + ///

      The scheduling strategy to use for the service. For more information, see Services.

      + ///

      There are two service scheduler strategies available:

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

        + /// REPLICA-The replica scheduling strategy places and + /// maintains the desired number of tasks across your cluster. By default, the + /// service scheduler spreads tasks across Availability Zones. You can use task + /// placement strategies and constraints to customize task placement + /// decisions.

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

        + /// DAEMON-The daemon scheduling strategy deploys exactly one + /// task on each active container instance that meets all of the task placement + /// constraints that you specify in your cluster. The service scheduler also + /// evaluates the task placement constraints for running tasks and will stop tasks + /// that do not meet the placement constraints.

        + /// + ///

        Fargate tasks do not support the DAEMON + /// scheduling strategy.

        + ///
        + ///
      • + ///
      + #[serde(rename = "schedulingStrategy")] + #[serde(default)] + pub scheduling_strategy: std::option::Option, + ///

      The deployment controller type the service is using. When using the DescribeServices + /// API, this field is omitted if the service is using the ECS deployment + /// controller type.

      + #[serde(rename = "deploymentController")] + #[serde(default)] + pub deployment_controller: std::option::Option, + ///

      The metadata that you apply to the service to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, + ///

      The principal that created the service.

      + #[serde(rename = "createdBy")] + #[serde(default)] + pub created_by: std::option::Option, + ///

      Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more + /// information, see Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "enableECSManagedTags")] + pub enable_ecs_managed_tags: bool, + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// task. If no value is specified, the tags are not propagated.

      + #[serde(rename = "propagateTags")] + #[serde(default)] + pub propagate_tags: std::option::Option, + ///

      Whether or not the execute command functionality is enabled for the service. If + /// true, the execute command functionality is enabled for all containers + /// in tasks as part of the service.

      + #[serde(rename = "enableExecuteCommand")] + pub enable_execute_command: bool, +} +impl std::fmt::Debug for Service { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Service"); + formatter.field("service_arn", &self.service_arn); + formatter.field("service_name", &self.service_name); + formatter.field("cluster_arn", &self.cluster_arn); + formatter.field("load_balancers", &self.load_balancers); + formatter.field("service_registries", &self.service_registries); + formatter.field("status", &self.status); + formatter.field("desired_count", &self.desired_count); + formatter.field("running_count", &self.running_count); + formatter.field("pending_count", &self.pending_count); + formatter.field("launch_type", &self.launch_type); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("platform_version", &self.platform_version); + formatter.field("task_definition", &self.task_definition); + formatter.field("deployment_configuration", &self.deployment_configuration); + formatter.field("task_sets", &self.task_sets); + formatter.field("deployments", &self.deployments); + formatter.field("role_arn", &self.role_arn); + formatter.field("events", &self.events); + formatter.field("created_at", &self.created_at); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("network_configuration", &self.network_configuration); + formatter.field( + "health_check_grace_period_seconds", + &self.health_check_grace_period_seconds, + ); + formatter.field("scheduling_strategy", &self.scheduling_strategy); + formatter.field("deployment_controller", &self.deployment_controller); + formatter.field("tags", &self.tags); + formatter.field("created_by", &self.created_by); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.finish() + } +} +/// See [`Service`](crate::model::Service) +pub mod service { + /// A builder for [`Service`](crate::model::Service) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) service_arn: std::option::Option, + pub(crate) service_name: std::option::Option, + pub(crate) cluster_arn: std::option::Option, + pub(crate) load_balancers: std::option::Option>, + pub(crate) service_registries: + std::option::Option>, + pub(crate) status: std::option::Option, + pub(crate) desired_count: std::option::Option, + pub(crate) running_count: std::option::Option, + pub(crate) pending_count: std::option::Option, + pub(crate) launch_type: std::option::Option, + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) platform_version: std::option::Option, + pub(crate) task_definition: std::option::Option, + pub(crate) deployment_configuration: + std::option::Option, + pub(crate) task_sets: std::option::Option>, + pub(crate) deployments: std::option::Option>, + pub(crate) role_arn: std::option::Option, + pub(crate) events: std::option::Option>, + pub(crate) created_at: std::option::Option, + pub(crate) placement_constraints: + std::option::Option>, + pub(crate) placement_strategy: + std::option::Option>, + pub(crate) network_configuration: std::option::Option, + pub(crate) health_check_grace_period_seconds: std::option::Option, + pub(crate) scheduling_strategy: std::option::Option, + pub(crate) deployment_controller: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) created_by: std::option::Option, + pub(crate) enable_ecs_managed_tags: std::option::Option, + pub(crate) propagate_tags: std::option::Option, + 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 AWS 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, inp: impl Into) -> Self { + self.service_arn = Some(inp.into()); + self + } + pub fn set_service_arn(mut self, inp: std::option::Option) -> Self { + self.service_arn = inp; + self + } + ///

      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 + /// Region or across multiple Regions.

      + pub fn service_name(mut self, inp: impl Into) -> Self { + self.service_name = Some(inp.into()); + self + } + pub fn set_service_name(mut self, inp: std::option::Option) -> Self { + self.service_name = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the cluster that hosts the service.

      + pub fn cluster_arn(mut self, inp: impl Into) -> Self { + self.cluster_arn = Some(inp.into()); + self + } + pub fn set_cluster_arn(mut self, inp: std::option::Option) -> Self { + self.cluster_arn = inp; + self + } + pub fn load_balancers(mut self, inp: impl Into) -> Self { + let mut v = self.load_balancers.unwrap_or_default(); + v.push(inp.into()); + self.load_balancers = Some(v); + self + } + pub fn set_load_balancers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.load_balancers = inp; + self + } + pub fn service_registries(mut self, inp: impl Into) -> Self { + let mut v = self.service_registries.unwrap_or_default(); + v.push(inp.into()); + self.service_registries = Some(v); + self + } + pub fn set_service_registries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.service_registries = inp; + self + } + ///

      The status of the service. The valid values are ACTIVE, + /// DRAINING, or INACTIVE.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The desired number of instantiations of the task definition to keep running on the + /// service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

      + pub fn desired_count(mut self, inp: i32) -> Self { + self.desired_count = Some(inp); + self + } + pub fn set_desired_count(mut self, inp: i32) -> Self { + self.desired_count = Some(inp); + self + } + ///

      The number of tasks in the cluster that are in the RUNNING state.

      + pub fn running_count(mut self, inp: i32) -> Self { + self.running_count = Some(inp); + self + } + pub fn set_running_count(mut self, inp: i32) -> Self { + self.running_count = Some(inp); + self + } + ///

      The number of tasks in the cluster that are in the PENDING state.

      + pub fn pending_count(mut self, inp: i32) -> Self { + self.pending_count = Some(inp); + self + } + pub fn set_pending_count(mut self, inp: i32) -> Self { + self.pending_count = Some(inp); + self + } + ///

      The infrastructure on which your service is running. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      The platform version on which to run your service. 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 AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      The task definition to use for tasks in the service. This value is specified when the + /// service is created with CreateService, and it can be modified with + /// UpdateService.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub fn deployment_configuration( + mut self, + inp: crate::model::DeploymentConfiguration, + ) -> Self { + self.deployment_configuration = Some(inp); + self + } + pub fn set_deployment_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.deployment_configuration = inp; + self + } + pub fn task_sets(mut self, inp: impl Into) -> Self { + let mut v = self.task_sets.unwrap_or_default(); + v.push(inp.into()); + self.task_sets = Some(v); + self + } + pub fn set_task_sets( + mut self, + inp: std::option::Option>, + ) -> Self { + self.task_sets = inp; + self + } + pub fn deployments(mut self, inp: impl Into) -> Self { + let mut v = self.deployments.unwrap_or_default(); + v.push(inp.into()); + self.deployments = Some(v); + self + } + pub fn set_deployments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.deployments = inp; + self + } + ///

      The ARN of the IAM role associated with the service that allows the Amazon ECS container + /// agent to register container instances with an Elastic Load Balancing load balancer.

      + pub fn role_arn(mut self, inp: impl Into) -> Self { + self.role_arn = Some(inp.into()); + self + } + pub fn set_role_arn(mut self, inp: std::option::Option) -> Self { + self.role_arn = inp; + self + } + pub fn events(mut self, inp: impl Into) -> Self { + let mut v = self.events.unwrap_or_default(); + v.push(inp.into()); + self.events = Some(v); + self + } + pub fn set_events( + mut self, + inp: std::option::Option>, + ) -> Self { + self.events = inp; + self + } + ///

      The Unix timestamp for when the service was created.

      + pub fn created_at(mut self, inp: smithy_types::Instant) -> Self { + self.created_at = Some(inp); + self + } + pub fn set_created_at(mut self, inp: std::option::Option) -> Self { + self.created_at = inp; + self + } + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_constraints.unwrap_or_default(); + v.push(inp.into()); + self.placement_constraints = Some(v); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_constraints = inp; + self + } + pub fn placement_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_strategy.unwrap_or_default(); + v.push(inp.into()); + self.placement_strategy = Some(v); + self + } + pub fn set_placement_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.placement_strategy = inp; + self + } + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + ///

      The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy + /// Elastic Load Balancing target health checks after a task has first started.

      + pub fn health_check_grace_period_seconds(mut self, inp: i32) -> Self { + self.health_check_grace_period_seconds = Some(inp); + self + } + pub fn set_health_check_grace_period_seconds( + mut self, + inp: std::option::Option, + ) -> Self { + self.health_check_grace_period_seconds = inp; + self + } + ///

      The scheduling strategy to use for the service. For more information, see Services.

      + ///

      There are two service scheduler strategies available:

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

        + /// REPLICA-The replica scheduling strategy places and + /// maintains the desired number of tasks across your cluster. By default, the + /// service scheduler spreads tasks across Availability Zones. You can use task + /// placement strategies and constraints to customize task placement + /// decisions.

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

        + /// DAEMON-The daemon scheduling strategy deploys exactly one + /// task on each active container instance that meets all of the task placement + /// constraints that you specify in your cluster. The service scheduler also + /// evaluates the task placement constraints for running tasks and will stop tasks + /// that do not meet the placement constraints.

        + /// + ///

        Fargate tasks do not support the DAEMON + /// scheduling strategy.

        + ///
        + ///
      • + ///
      + pub fn scheduling_strategy(mut self, inp: crate::model::SchedulingStrategy) -> Self { + self.scheduling_strategy = Some(inp); + self + } + pub fn set_scheduling_strategy( + mut self, + inp: std::option::Option, + ) -> Self { + self.scheduling_strategy = inp; + self + } + ///

      The deployment controller type the service is using. When using the DescribeServices + /// API, this field is omitted if the service is using the ECS deployment + /// controller type.

      + pub fn deployment_controller(mut self, inp: crate::model::DeploymentController) -> Self { + self.deployment_controller = Some(inp); + self + } + pub fn set_deployment_controller( + mut self, + inp: std::option::Option, + ) -> Self { + self.deployment_controller = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + ///

      The principal that created the service.

      + pub fn created_by(mut self, inp: impl Into) -> Self { + self.created_by = Some(inp.into()); + self + } + pub fn set_created_by(mut self, inp: std::option::Option) -> Self { + self.created_by = inp; + self + } + ///

      Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more + /// information, see Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub fn enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + pub fn set_enable_ecs_managed_tags(mut self, inp: bool) -> Self { + self.enable_ecs_managed_tags = Some(inp); + self + } + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// task. If no value is specified, the tags are not propagated.

      + pub fn propagate_tags(mut self, inp: crate::model::PropagateTags) -> Self { + self.propagate_tags = Some(inp); + self + } + pub fn set_propagate_tags( + mut self, + inp: std::option::Option, + ) -> Self { + self.propagate_tags = inp; + self + } + ///

      Whether or not the execute command functionality is enabled for the service. If + /// true, the execute command functionality is enabled for all containers + /// in tasks as part of the service.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + /// Consumes the builder and constructs a [`Service`](crate::model::Service) + pub fn build(self) -> crate::model::Service { + crate::model::Service { + service_arn: self.service_arn, + service_name: self.service_name, + cluster_arn: self.cluster_arn, + load_balancers: self.load_balancers, + service_registries: self.service_registries, + status: self.status, + desired_count: self.desired_count.unwrap_or_default(), + running_count: self.running_count.unwrap_or_default(), + pending_count: self.pending_count.unwrap_or_default(), + launch_type: self.launch_type, + capacity_provider_strategy: self.capacity_provider_strategy, + platform_version: self.platform_version, + task_definition: self.task_definition, + deployment_configuration: self.deployment_configuration, + task_sets: self.task_sets, + deployments: self.deployments, + role_arn: self.role_arn, + events: self.events, + created_at: self.created_at, + placement_constraints: self.placement_constraints, + placement_strategy: self.placement_strategy, + network_configuration: self.network_configuration, + health_check_grace_period_seconds: self.health_check_grace_period_seconds, + scheduling_strategy: self.scheduling_strategy, + deployment_controller: self.deployment_controller, + tags: self.tags, + created_by: self.created_by, + enable_ecs_managed_tags: self.enable_ecs_managed_tags.unwrap_or_default(), + propagate_tags: self.propagate_tags, + enable_execute_command: self.enable_execute_command.unwrap_or_default(), + } + } + } +} +impl Service { + /// Creates a new builder-style object to manufacture [`Service`](crate::model::Service) + pub fn builder() -> crate::model::service::Builder { + crate::model::service::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 PropagateTags { + Service, + TaskDefinition, + Unknown(String), +} +impl std::convert::From<&str> for PropagateTags { + fn from(s: &str) -> Self { + match s { + "SERVICE" => PropagateTags::Service, + "TASK_DEFINITION" => PropagateTags::TaskDefinition, + other => PropagateTags::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for PropagateTags { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(PropagateTags::from(s)) + } +} +impl PropagateTags { + pub fn as_str(&self) -> &str { + match self { + PropagateTags::Service => "SERVICE", + PropagateTags::TaskDefinition => "TASK_DEFINITION", + PropagateTags::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for PropagateTags { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for PropagateTags { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The deployment controller to use for the service. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeploymentController { + ///

      The deployment controller type to use.

      + ///

      There are three deployment controller types available:

      + ///
      + ///
      ECS
      + ///
      + ///

      The rolling update (ECS) deployment type involves replacing + /// the current running version of the container with the latest version. The + /// number of containers Amazon ECS adds or removes from the service during a rolling + /// update is controlled by adjusting the minimum and maximum number of healthy + /// tasks allowed during a service deployment, as specified in the DeploymentConfiguration.

      + ///
      + ///
      CODE_DEPLOY
      + ///
      + ///

      The blue/green (CODE_DEPLOY) deployment type uses the + /// blue/green deployment model powered by AWS CodeDeploy, which allows you to verify a + /// new deployment of a service before sending production traffic to it.

      + ///
      + ///
      EXTERNAL
      + ///
      + ///

      The external (EXTERNAL) deployment type enables you to use + /// any third-party deployment controller for full control over the deployment + /// process for an Amazon ECS service.

      + ///
      + ///
      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, +} +impl std::fmt::Debug for DeploymentController { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeploymentController"); + formatter.field("r#type", &self.r#type); + formatter.finish() + } +} +/// See [`DeploymentController`](crate::model::DeploymentController) +pub mod deployment_controller { + /// A builder for [`DeploymentController`](crate::model::DeploymentController) + #[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, + } + impl Builder { + ///

      The deployment controller type to use.

      + ///

      There are three deployment controller types available:

      + ///
      + ///
      ECS
      + ///
      + ///

      The rolling update (ECS) deployment type involves replacing + /// the current running version of the container with the latest version. The + /// number of containers Amazon ECS adds or removes from the service during a rolling + /// update is controlled by adjusting the minimum and maximum number of healthy + /// tasks allowed during a service deployment, as specified in the DeploymentConfiguration.

      + ///
      + ///
      CODE_DEPLOY
      + ///
      + ///

      The blue/green (CODE_DEPLOY) deployment type uses the + /// blue/green deployment model powered by AWS CodeDeploy, which allows you to verify a + /// new deployment of a service before sending production traffic to it.

      + ///
      + ///
      EXTERNAL
      + ///
      + ///

      The external (EXTERNAL) deployment type enables you to use + /// any third-party deployment controller for full control over the deployment + /// process for an Amazon ECS service.

      + ///
      + ///
      + pub fn r#type(mut self, inp: crate::model::DeploymentControllerType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + /// Consumes the builder and constructs a [`DeploymentController`](crate::model::DeploymentController) + pub fn build(self) -> crate::model::DeploymentController { + crate::model::DeploymentController { + r#type: self.r#type, + } + } + } +} +impl DeploymentController { + /// Creates a new builder-style object to manufacture [`DeploymentController`](crate::model::DeploymentController) + pub fn builder() -> crate::model::deployment_controller::Builder { + crate::model::deployment_controller::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 DeploymentControllerType { + CodeDeploy, + Ecs, + External, + Unknown(String), +} +impl std::convert::From<&str> for DeploymentControllerType { + fn from(s: &str) -> Self { + match s { + "CODE_DEPLOY" => DeploymentControllerType::CodeDeploy, + "ECS" => DeploymentControllerType::Ecs, + "EXTERNAL" => DeploymentControllerType::External, + other => DeploymentControllerType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for DeploymentControllerType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(DeploymentControllerType::from(s)) + } +} +impl DeploymentControllerType { + pub fn as_str(&self) -> &str { + match self { + DeploymentControllerType::CodeDeploy => "CODE_DEPLOY", + DeploymentControllerType::Ecs => "ECS", + DeploymentControllerType::External => "EXTERNAL", + DeploymentControllerType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for DeploymentControllerType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for DeploymentControllerType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 SchedulingStrategy { + Daemon, + Replica, + Unknown(String), +} +impl std::convert::From<&str> for SchedulingStrategy { + fn from(s: &str) -> Self { + match s { + "DAEMON" => SchedulingStrategy::Daemon, + "REPLICA" => SchedulingStrategy::Replica, + other => SchedulingStrategy::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for SchedulingStrategy { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(SchedulingStrategy::from(s)) + } +} +impl SchedulingStrategy { + pub fn as_str(&self) -> &str { + match self { + SchedulingStrategy::Daemon => "DAEMON", + SchedulingStrategy::Replica => "REPLICA", + SchedulingStrategy::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for SchedulingStrategy { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for SchedulingStrategy { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The task placement strategy for a task or service. For more information, see Task Placement Strategies in the +/// Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PlacementStrategy { + ///

      The type of placement strategy. The random placement strategy randomly + /// places tasks on available candidates. The spread placement strategy spreads + /// placement across available candidates evenly based on the field parameter. + /// The binpack strategy places tasks on available candidates that have the + /// least available amount of the resource that is specified with the field + /// parameter. For example, if you binpack on memory, a task is placed on the instance with + /// the least amount of remaining memory (but still enough to run the task).

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, + ///

      The field to apply the placement strategy against. For the spread + /// placement strategy, valid values are instanceId (or host, + /// which has the same effect), or any platform or custom attribute that is applied to a + /// container instance, such as attribute:ecs.availability-zone. For the + /// binpack placement strategy, valid values are cpu and + /// memory. For the random placement strategy, this field is + /// not used.

      + #[serde(rename = "field")] + #[serde(default)] + pub field: std::option::Option, +} +impl std::fmt::Debug for PlacementStrategy { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PlacementStrategy"); + formatter.field("r#type", &self.r#type); + formatter.field("field", &self.field); + formatter.finish() + } +} +/// See [`PlacementStrategy`](crate::model::PlacementStrategy) +pub mod placement_strategy { + /// A builder for [`PlacementStrategy`](crate::model::PlacementStrategy) + #[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) field: std::option::Option, + } + impl Builder { + ///

      The type of placement strategy. The random placement strategy randomly + /// places tasks on available candidates. The spread placement strategy spreads + /// placement across available candidates evenly based on the field parameter. + /// The binpack strategy places tasks on available candidates that have the + /// least available amount of the resource that is specified with the field + /// parameter. For example, if you binpack on memory, a task is placed on the instance with + /// the least amount of remaining memory (but still enough to run the task).

      + pub fn r#type(mut self, inp: crate::model::PlacementStrategyType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + ///

      The field to apply the placement strategy against. For the spread + /// placement strategy, valid values are instanceId (or host, + /// which has the same effect), or any platform or custom attribute that is applied to a + /// container instance, such as attribute:ecs.availability-zone. For the + /// binpack placement strategy, valid values are cpu and + /// memory. For the random placement strategy, this field is + /// not used.

      + pub fn field(mut self, inp: impl Into) -> Self { + self.field = Some(inp.into()); + self + } + pub fn set_field(mut self, inp: std::option::Option) -> Self { + self.field = inp; + self + } + /// Consumes the builder and constructs a [`PlacementStrategy`](crate::model::PlacementStrategy) + pub fn build(self) -> crate::model::PlacementStrategy { + crate::model::PlacementStrategy { + r#type: self.r#type, + field: self.field, + } + } + } +} +impl PlacementStrategy { + /// Creates a new builder-style object to manufacture [`PlacementStrategy`](crate::model::PlacementStrategy) + pub fn builder() -> crate::model::placement_strategy::Builder { + crate::model::placement_strategy::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 PlacementStrategyType { + Binpack, + Random, + Spread, + Unknown(String), +} +impl std::convert::From<&str> for PlacementStrategyType { + fn from(s: &str) -> Self { + match s { + "binpack" => PlacementStrategyType::Binpack, + "random" => PlacementStrategyType::Random, + "spread" => PlacementStrategyType::Spread, + other => PlacementStrategyType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for PlacementStrategyType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(PlacementStrategyType::from(s)) + } +} +impl PlacementStrategyType { + pub fn as_str(&self) -> &str { + match self { + PlacementStrategyType::Binpack => "binpack", + PlacementStrategyType::Random => "random", + PlacementStrategyType::Spread => "spread", + PlacementStrategyType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for PlacementStrategyType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for PlacementStrategyType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      An object representing a constraint on task placement. For more information, see +/// Task Placement Constraints in the +/// Amazon Elastic Container Service Developer Guide.

      +/// +///

      If you are using the Fargate launch type, task placement constraints +/// are not supported.

      +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PlacementConstraint { + ///

      The type of constraint. Use distinctInstance to ensure that each task in + /// a particular group is running on a different container instance. Use + /// memberOf to restrict the selection to a group of valid + /// candidates.

      + #[serde(rename = "type")] + #[serde(default)] + 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 + /// Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "expression")] + #[serde(default)] + pub expression: std::option::Option, +} +impl std::fmt::Debug for PlacementConstraint { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PlacementConstraint"); + formatter.field("r#type", &self.r#type); + formatter.field("expression", &self.expression); + formatter.finish() + } +} +/// See [`PlacementConstraint`](crate::model::PlacementConstraint) +pub mod placement_constraint { + /// A builder for [`PlacementConstraint`](crate::model::PlacementConstraint) + #[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) expression: std::option::Option, + } + impl Builder { + ///

      The type of constraint. Use distinctInstance to ensure that each task in + /// a particular group is running on a different container instance. Use + /// memberOf to restrict the selection to a group of valid + /// candidates.

      + pub fn r#type(mut self, inp: crate::model::PlacementConstraintType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + 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 + /// Amazon Elastic Container Service Developer Guide.

      + pub fn expression(mut self, inp: impl Into) -> Self { + self.expression = Some(inp.into()); + self + } + pub fn set_expression(mut self, inp: std::option::Option) -> Self { + self.expression = inp; + self + } + /// Consumes the builder and constructs a [`PlacementConstraint`](crate::model::PlacementConstraint) + pub fn build(self) -> crate::model::PlacementConstraint { + crate::model::PlacementConstraint { + r#type: self.r#type, + expression: self.expression, + } + } + } +} +impl PlacementConstraint { + /// Creates a new builder-style object to manufacture [`PlacementConstraint`](crate::model::PlacementConstraint) + pub fn builder() -> crate::model::placement_constraint::Builder { + crate::model::placement_constraint::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 PlacementConstraintType { + DistinctInstance, + MemberOf, + Unknown(String), +} +impl std::convert::From<&str> for PlacementConstraintType { + fn from(s: &str) -> Self { + match s { + "distinctInstance" => PlacementConstraintType::DistinctInstance, + "memberOf" => PlacementConstraintType::MemberOf, + other => PlacementConstraintType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for PlacementConstraintType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(PlacementConstraintType::from(s)) + } +} +impl PlacementConstraintType { + pub fn as_str(&self) -> &str { + match self { + PlacementConstraintType::DistinctInstance => "distinctInstance", + PlacementConstraintType::MemberOf => "memberOf", + PlacementConstraintType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for PlacementConstraintType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for PlacementConstraintType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Details on an event associated with a service.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceEvent { + ///

      The ID string of the event.

      + #[serde(rename = "id")] + #[serde(default)] + pub id: std::option::Option, + ///

      The Unix timestamp for when the event was triggered.

      + #[serde(rename = "createdAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub created_at: std::option::Option, + ///

      The event message.

      + #[serde(rename = "message")] + #[serde(default)] + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceEvent { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceEvent"); + formatter.field("id", &self.id); + formatter.field("created_at", &self.created_at); + formatter.field("message", &self.message); + formatter.finish() + } +} +/// See [`ServiceEvent`](crate::model::ServiceEvent) +pub mod service_event { + /// A builder for [`ServiceEvent`](crate::model::ServiceEvent) + #[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) created_at: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + ///

      The ID string of the event.

      + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

      The Unix timestamp for when the event was triggered.

      + pub fn created_at(mut self, inp: smithy_types::Instant) -> Self { + self.created_at = Some(inp); + self + } + pub fn set_created_at(mut self, inp: std::option::Option) -> Self { + self.created_at = inp; + self + } + ///

      The event message.

      + pub fn message(mut self, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`ServiceEvent`](crate::model::ServiceEvent) + pub fn build(self) -> crate::model::ServiceEvent { + crate::model::ServiceEvent { + id: self.id, + created_at: self.created_at, + message: self.message, + } + } + } +} +impl ServiceEvent { + /// Creates a new builder-style object to manufacture [`ServiceEvent`](crate::model::ServiceEvent) + pub fn builder() -> crate::model::service_event::Builder { + crate::model::service_event::Builder::default() + } +} + +///

      The details of an Amazon ECS service deployment. This is used only when a service uses the +/// ECS deployment controller type.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Deployment { + ///

      The ID of the deployment.

      + #[serde(rename = "id")] + #[serde(default)] + pub id: std::option::Option, + ///

      The status of the deployment. The following describes each state:

      + ///
      + ///
      PRIMARY
      + ///
      + ///

      The most recent deployment of a service.

      + ///
      + ///
      ACTIVE
      + ///
      + ///

      A service deployment that still has running tasks, but are in the process + /// of being replaced with a new PRIMARY deployment.

      + ///
      + ///
      INACTIVE
      + ///
      + ///

      A deployment that has been completely replaced.

      + ///
      + ///
      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The most recent task definition that was specified for the tasks in the service to + /// use.

      + #[serde(rename = "taskDefinition")] + #[serde(default)] + pub task_definition: std::option::Option, + ///

      The most recent desired count of tasks that was specified for the service to deploy or + /// maintain.

      + #[serde(rename = "desiredCount")] + pub desired_count: i32, + ///

      The number of tasks in the deployment that are in the PENDING + /// status.

      + #[serde(rename = "pendingCount")] + pub pending_count: i32, + ///

      The number of tasks in the deployment that are in the RUNNING + /// status.

      + #[serde(rename = "runningCount")] + pub running_count: i32, + ///

      The number of consecutively failed tasks in the deployment. A task is considered a + /// failure if the service scheduler can't launch the task, the task doesn't transition to a + /// RUNNING state, or if it fails any of its defined health checks and is + /// stopped.

      + /// + ///

      Once a service deployment has one or more successfully running tasks, the failed + /// task count resets to zero and stops being evaluated.

      + ///
      + #[serde(rename = "failedTasks")] + pub failed_tasks: i32, + ///

      The Unix timestamp for when the service deployment was created.

      + #[serde(rename = "createdAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub created_at: std::option::Option, + ///

      The Unix timestamp for when the service deployment was last updated.

      + #[serde(rename = "updatedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub updated_at: std::option::Option, + ///

      The capacity provider strategy that the deployment is using.

      + #[serde(rename = "capacityProviderStrategy")] + #[serde(default)] + pub capacity_provider_strategy: + std::option::Option>, + ///

      The launch type the tasks in the service are using. For more information, see Amazon ECS + /// Launch Types in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "launchType")] + #[serde(default)] + pub launch_type: std::option::Option, + ///

      The platform version on which your tasks in the service are running. 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 AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "platformVersion")] + #[serde(default)] + pub platform_version: std::option::Option, + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + #[serde(rename = "networkConfiguration")] + #[serde(default)] + pub network_configuration: std::option::Option, + /// + ///

      The rolloutState of a service is only returned for services that use + /// the rolling update (ECS) deployment type that are not behind a + /// Classic Load Balancer.

      + ///
      + ///

      The rollout state of the deployment. When a service deployment is started, it begins + /// in an IN_PROGRESS state. When the service reaches a steady state, the + /// deployment will transition to a COMPLETED state. If the service fails to + /// reach a steady state and circuit breaker is enabled, the deployment will transition to a + /// FAILED state. A deployment in FAILED state will launch no + /// new tasks. For more information, see DeploymentCircuitBreaker.

      + #[serde(rename = "rolloutState")] + #[serde(default)] + pub rollout_state: std::option::Option, + ///

      A description of the rollout state of a deployment.

      + #[serde(rename = "rolloutStateReason")] + #[serde(default)] + pub rollout_state_reason: std::option::Option, +} +impl std::fmt::Debug for Deployment { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Deployment"); + formatter.field("id", &self.id); + formatter.field("status", &self.status); + formatter.field("task_definition", &self.task_definition); + formatter.field("desired_count", &self.desired_count); + formatter.field("pending_count", &self.pending_count); + formatter.field("running_count", &self.running_count); + formatter.field("failed_tasks", &self.failed_tasks); + formatter.field("created_at", &self.created_at); + formatter.field("updated_at", &self.updated_at); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("launch_type", &self.launch_type); + formatter.field("platform_version", &self.platform_version); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("rollout_state", &self.rollout_state); + formatter.field("rollout_state_reason", &self.rollout_state_reason); + formatter.finish() + } +} +/// See [`Deployment`](crate::model::Deployment) +pub mod deployment { + /// A builder for [`Deployment`](crate::model::Deployment) + #[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) status: std::option::Option, + pub(crate) task_definition: std::option::Option, + pub(crate) desired_count: std::option::Option, + pub(crate) pending_count: std::option::Option, + pub(crate) running_count: std::option::Option, + pub(crate) failed_tasks: std::option::Option, + pub(crate) created_at: std::option::Option, + pub(crate) updated_at: std::option::Option, + pub(crate) capacity_provider_strategy: + std::option::Option>, + pub(crate) launch_type: std::option::Option, + pub(crate) platform_version: std::option::Option, + pub(crate) network_configuration: std::option::Option, + pub(crate) rollout_state: std::option::Option, + pub(crate) rollout_state_reason: std::option::Option, + } + impl Builder { + ///

      The ID of the deployment.

      + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

      The status of the deployment. The following describes each state:

      + ///
      + ///
      PRIMARY
      + ///
      + ///

      The most recent deployment of a service.

      + ///
      + ///
      ACTIVE
      + ///
      + ///

      A service deployment that still has running tasks, but are in the process + /// of being replaced with a new PRIMARY deployment.

      + ///
      + ///
      INACTIVE
      + ///
      + ///

      A deployment that has been completely replaced.

      + ///
      + ///
      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The most recent task definition that was specified for the tasks in the service to + /// use.

      + pub fn task_definition(mut self, inp: impl Into) -> Self { + self.task_definition = Some(inp.into()); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + ///

      The most recent desired count of tasks that was specified for the service to deploy or + /// maintain.

      + pub fn desired_count(mut self, inp: i32) -> Self { + self.desired_count = Some(inp); + self + } + pub fn set_desired_count(mut self, inp: i32) -> Self { + self.desired_count = Some(inp); + self + } + ///

      The number of tasks in the deployment that are in the PENDING + /// status.

      + pub fn pending_count(mut self, inp: i32) -> Self { + self.pending_count = Some(inp); + self + } + pub fn set_pending_count(mut self, inp: i32) -> Self { + self.pending_count = Some(inp); + self + } + ///

      The number of tasks in the deployment that are in the RUNNING + /// status.

      + pub fn running_count(mut self, inp: i32) -> Self { + self.running_count = Some(inp); + self + } + pub fn set_running_count(mut self, inp: i32) -> Self { + self.running_count = Some(inp); + self + } + ///

      The number of consecutively failed tasks in the deployment. A task is considered a + /// failure if the service scheduler can't launch the task, the task doesn't transition to a + /// RUNNING state, or if it fails any of its defined health checks and is + /// stopped.

      + /// + ///

      Once a service deployment has one or more successfully running tasks, the failed + /// task count resets to zero and stops being evaluated.

      + ///
      + pub fn failed_tasks(mut self, inp: i32) -> Self { + self.failed_tasks = Some(inp); + self + } + pub fn set_failed_tasks(mut self, inp: i32) -> Self { + self.failed_tasks = Some(inp); + self + } + ///

      The Unix timestamp for when the service deployment was created.

      + pub fn created_at(mut self, inp: smithy_types::Instant) -> Self { + self.created_at = Some(inp); + self + } + pub fn set_created_at(mut self, inp: std::option::Option) -> Self { + self.created_at = inp; + self + } + ///

      The Unix timestamp for when the service deployment was last updated.

      + pub fn updated_at(mut self, inp: smithy_types::Instant) -> Self { + self.updated_at = Some(inp); + self + } + pub fn set_updated_at(mut self, inp: std::option::Option) -> Self { + self.updated_at = inp; + self + } + pub fn capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.capacity_provider_strategy = Some(v); + self + } + pub fn set_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_provider_strategy = inp; + self + } + ///

      The launch type the tasks in the service are using. For more information, see Amazon ECS + /// Launch Types in the Amazon Elastic Container Service Developer Guide.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + ///

      The platform version on which your tasks in the service are running. 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 AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + pub fn network_configuration(mut self, inp: crate::model::NetworkConfiguration) -> Self { + self.network_configuration = Some(inp); + self + } + pub fn set_network_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_configuration = inp; + self + } + /// + ///

      The rolloutState of a service is only returned for services that use + /// the rolling update (ECS) deployment type that are not behind a + /// Classic Load Balancer.

      + ///
      + ///

      The rollout state of the deployment. When a service deployment is started, it begins + /// in an IN_PROGRESS state. When the service reaches a steady state, the + /// deployment will transition to a COMPLETED state. If the service fails to + /// reach a steady state and circuit breaker is enabled, the deployment will transition to a + /// FAILED state. A deployment in FAILED state will launch no + /// new tasks. For more information, see DeploymentCircuitBreaker.

      + pub fn rollout_state(mut self, inp: crate::model::DeploymentRolloutState) -> Self { + self.rollout_state = Some(inp); + self + } + pub fn set_rollout_state( + mut self, + inp: std::option::Option, + ) -> Self { + self.rollout_state = inp; + self + } + ///

      A description of the rollout state of a deployment.

      + pub fn rollout_state_reason(mut self, inp: impl Into) -> Self { + self.rollout_state_reason = Some(inp.into()); + self + } + pub fn set_rollout_state_reason( + mut self, + inp: std::option::Option, + ) -> Self { + self.rollout_state_reason = inp; + self + } + /// Consumes the builder and constructs a [`Deployment`](crate::model::Deployment) + pub fn build(self) -> crate::model::Deployment { + crate::model::Deployment { + id: self.id, + status: self.status, + task_definition: self.task_definition, + desired_count: self.desired_count.unwrap_or_default(), + pending_count: self.pending_count.unwrap_or_default(), + running_count: self.running_count.unwrap_or_default(), + failed_tasks: self.failed_tasks.unwrap_or_default(), + created_at: self.created_at, + updated_at: self.updated_at, + capacity_provider_strategy: self.capacity_provider_strategy, + launch_type: self.launch_type, + platform_version: self.platform_version, + network_configuration: self.network_configuration, + rollout_state: self.rollout_state, + rollout_state_reason: self.rollout_state_reason, + } + } + } +} +impl Deployment { + /// Creates a new builder-style object to manufacture [`Deployment`](crate::model::Deployment) + pub fn builder() -> crate::model::deployment::Builder { + crate::model::deployment::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 DeploymentRolloutState { + Completed, + Failed, + InProgress, + Unknown(String), +} +impl std::convert::From<&str> for DeploymentRolloutState { + fn from(s: &str) -> Self { + match s { + "COMPLETED" => DeploymentRolloutState::Completed, + "FAILED" => DeploymentRolloutState::Failed, + "IN_PROGRESS" => DeploymentRolloutState::InProgress, + other => DeploymentRolloutState::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for DeploymentRolloutState { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(DeploymentRolloutState::from(s)) + } +} +impl DeploymentRolloutState { + pub fn as_str(&self) -> &str { + match self { + DeploymentRolloutState::Completed => "COMPLETED", + DeploymentRolloutState::Failed => "FAILED", + DeploymentRolloutState::InProgress => "IN_PROGRESS", + DeploymentRolloutState::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for DeploymentRolloutState { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for DeploymentRolloutState { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Optional deployment parameters that control how many tasks run during a deployment and +/// the ordering of stopping and starting tasks.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeploymentConfiguration { + /// + ///

      The deployment circuit breaker can only be used for services using the rolling + /// update (ECS) deployment type.

      + ///
      + ///

      The deployment circuit breaker determines whether a + /// service deployment will fail if the service can't reach a steady state. If deployment + /// circuit breaker is enabled, a service deployment will transition to a failed state and + /// stop launching new tasks. If rollback is enabled, when a service deployment fails, the + /// service is rolled back to the last deployment that completed successfully.

      + #[serde(rename = "deploymentCircuitBreaker")] + #[serde(default)] + pub deployment_circuit_breaker: std::option::Option, + ///

      If a service is using the rolling update (ECS) deployment type, the + /// maximum percent parameter represents an upper limit + /// on the number of tasks in a service that are allowed in the RUNNING or + /// PENDING state during a deployment, as a percentage of the desired + /// number of tasks (rounded down to the nearest integer), and while any container instances + /// are in the DRAINING state if the service contains tasks using the + /// EC2 launch type. This parameter enables you to define the deployment batch + /// size. For example, if your service has a desired number of four tasks and a maximum + /// percent value of 200%, the scheduler may start four new tasks before stopping the four + /// older tasks (provided that the cluster resources required to do this are available). The + /// default value for maximum percent is 200%.

      + ///

      If a service is using the blue/green (CODE_DEPLOY) or + /// EXTERNAL deployment types and tasks that use the EC2 + /// launch type, the maximum percent value is set to the + /// default value and is used to define the upper limit on the number of the tasks in the + /// service that remain in the RUNNING state while the container instances are + /// in the DRAINING state. If the tasks in the service use the + /// Fargate launch type, the maximum percent value is not used, although it is + /// returned when describing your service.

      + #[serde(rename = "maximumPercent")] + #[serde(default)] + pub maximum_percent: std::option::Option, + ///

      If a service is using the rolling update (ECS) deployment type, the + /// minimum healthy percent represents a lower limit on + /// the number of tasks in a service that must remain in the RUNNING state + /// during a deployment, as a percentage of the desired number of tasks (rounded up to the + /// nearest integer), and while any container instances are in the DRAINING + /// state if the service contains tasks using the EC2 launch type. This + /// parameter enables you to deploy without using additional cluster capacity. For example, + /// if your service has a desired number of four tasks and a minimum healthy percent of 50%, + /// the scheduler may stop two existing tasks to free up cluster capacity before starting + /// two new tasks. Tasks for services that do not use a load balancer + /// are considered healthy if they are in the RUNNING state; tasks for services + /// that do use a load balancer are considered healthy if they are in + /// the RUNNING state and they are reported as healthy by the load balancer. + /// The default value for minimum healthy percent is 100%.

      + ///

      If a service is using the blue/green (CODE_DEPLOY) or + /// EXTERNAL deployment types and tasks that use the EC2 + /// launch type, the minimum healthy percent value is set + /// to the default value and is used to define the lower limit on the number of the tasks in + /// the service that remain in the RUNNING state while the container instances + /// are in the DRAINING state. If the tasks in the service use the + /// Fargate launch type, the minimum healthy percent value is not used, + /// although it is returned when describing your service.

      + #[serde(rename = "minimumHealthyPercent")] + #[serde(default)] + pub minimum_healthy_percent: std::option::Option, +} +impl std::fmt::Debug for DeploymentConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeploymentConfiguration"); + formatter.field( + "deployment_circuit_breaker", + &self.deployment_circuit_breaker, + ); + formatter.field("maximum_percent", &self.maximum_percent); + formatter.field("minimum_healthy_percent", &self.minimum_healthy_percent); + formatter.finish() + } +} +/// See [`DeploymentConfiguration`](crate::model::DeploymentConfiguration) +pub mod deployment_configuration { + /// A builder for [`DeploymentConfiguration`](crate::model::DeploymentConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) deployment_circuit_breaker: + std::option::Option, + pub(crate) maximum_percent: std::option::Option, + pub(crate) minimum_healthy_percent: std::option::Option, + } + impl Builder { + /// + ///

      The deployment circuit breaker can only be used for services using the rolling + /// update (ECS) deployment type.

      + ///
      + ///

      The deployment circuit breaker determines whether a + /// service deployment will fail if the service can't reach a steady state. If deployment + /// circuit breaker is enabled, a service deployment will transition to a failed state and + /// stop launching new tasks. If rollback is enabled, when a service deployment fails, the + /// service is rolled back to the last deployment that completed successfully.

      + pub fn deployment_circuit_breaker( + mut self, + inp: crate::model::DeploymentCircuitBreaker, + ) -> Self { + self.deployment_circuit_breaker = Some(inp); + self + } + pub fn set_deployment_circuit_breaker( + mut self, + inp: std::option::Option, + ) -> Self { + self.deployment_circuit_breaker = inp; + self + } + ///

      If a service is using the rolling update (ECS) deployment type, the + /// maximum percent parameter represents an upper limit + /// on the number of tasks in a service that are allowed in the RUNNING or + /// PENDING state during a deployment, as a percentage of the desired + /// number of tasks (rounded down to the nearest integer), and while any container instances + /// are in the DRAINING state if the service contains tasks using the + /// EC2 launch type. This parameter enables you to define the deployment batch + /// size. For example, if your service has a desired number of four tasks and a maximum + /// percent value of 200%, the scheduler may start four new tasks before stopping the four + /// older tasks (provided that the cluster resources required to do this are available). The + /// default value for maximum percent is 200%.

      + ///

      If a service is using the blue/green (CODE_DEPLOY) or + /// EXTERNAL deployment types and tasks that use the EC2 + /// launch type, the maximum percent value is set to the + /// default value and is used to define the upper limit on the number of the tasks in the + /// service that remain in the RUNNING state while the container instances are + /// in the DRAINING state. If the tasks in the service use the + /// Fargate launch type, the maximum percent value is not used, although it is + /// returned when describing your service.

      + pub fn maximum_percent(mut self, inp: i32) -> Self { + self.maximum_percent = Some(inp); + self + } + pub fn set_maximum_percent(mut self, inp: std::option::Option) -> Self { + self.maximum_percent = inp; + self + } + ///

      If a service is using the rolling update (ECS) deployment type, the + /// minimum healthy percent represents a lower limit on + /// the number of tasks in a service that must remain in the RUNNING state + /// during a deployment, as a percentage of the desired number of tasks (rounded up to the + /// nearest integer), and while any container instances are in the DRAINING + /// state if the service contains tasks using the EC2 launch type. This + /// parameter enables you to deploy without using additional cluster capacity. For example, + /// if your service has a desired number of four tasks and a minimum healthy percent of 50%, + /// the scheduler may stop two existing tasks to free up cluster capacity before starting + /// two new tasks. Tasks for services that do not use a load balancer + /// are considered healthy if they are in the RUNNING state; tasks for services + /// that do use a load balancer are considered healthy if they are in + /// the RUNNING state and they are reported as healthy by the load balancer. + /// The default value for minimum healthy percent is 100%.

      + ///

      If a service is using the blue/green (CODE_DEPLOY) or + /// EXTERNAL deployment types and tasks that use the EC2 + /// launch type, the minimum healthy percent value is set + /// to the default value and is used to define the lower limit on the number of the tasks in + /// the service that remain in the RUNNING state while the container instances + /// are in the DRAINING state. If the tasks in the service use the + /// Fargate launch type, the minimum healthy percent value is not used, + /// although it is returned when describing your service.

      + pub fn minimum_healthy_percent(mut self, inp: i32) -> Self { + self.minimum_healthy_percent = Some(inp); + self + } + pub fn set_minimum_healthy_percent(mut self, inp: std::option::Option) -> Self { + self.minimum_healthy_percent = inp; + self + } + /// Consumes the builder and constructs a [`DeploymentConfiguration`](crate::model::DeploymentConfiguration) + pub fn build(self) -> crate::model::DeploymentConfiguration { + crate::model::DeploymentConfiguration { + deployment_circuit_breaker: self.deployment_circuit_breaker, + maximum_percent: self.maximum_percent, + minimum_healthy_percent: self.minimum_healthy_percent, + } + } + } +} +impl DeploymentConfiguration { + /// Creates a new builder-style object to manufacture [`DeploymentConfiguration`](crate::model::DeploymentConfiguration) + pub fn builder() -> crate::model::deployment_configuration::Builder { + crate::model::deployment_configuration::Builder::default() + } +} + +/// +///

      The deployment circuit breaker can only be used for services using the rolling +/// update (ECS) deployment type that are not behind a Classic Load Balancer.

      +///
      +///

      The deployment circuit breaker determines whether a +/// service deployment will fail if the service can't reach a steady state. If enabled, a +/// service deployment will transition to a failed state and stop launching new tasks. You +/// can also enable Amazon ECS to roll back your service to the last completed deployment after a +/// failure. For more information, see Rolling +/// update in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeploymentCircuitBreaker { + ///

      Whether to enable the deployment circuit breaker logic for the service.

      + #[serde(rename = "enable")] + pub enable: bool, + ///

      Whether to enable Amazon ECS to roll back the service if a service deployment fails. If + /// rollback is enabled, when a service deployment fails, the service is rolled back to the + /// last deployment that completed successfully.

      + #[serde(rename = "rollback")] + pub rollback: bool, +} +impl std::fmt::Debug for DeploymentCircuitBreaker { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeploymentCircuitBreaker"); + formatter.field("enable", &self.enable); + formatter.field("rollback", &self.rollback); + formatter.finish() + } +} +/// See [`DeploymentCircuitBreaker`](crate::model::DeploymentCircuitBreaker) +pub mod deployment_circuit_breaker { + /// A builder for [`DeploymentCircuitBreaker`](crate::model::DeploymentCircuitBreaker) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) enable: std::option::Option, + pub(crate) rollback: std::option::Option, + } + impl Builder { + ///

      Whether to enable the deployment circuit breaker logic for the service.

      + pub fn enable(mut self, inp: bool) -> Self { + self.enable = Some(inp); + self + } + pub fn set_enable(mut self, inp: bool) -> Self { + self.enable = Some(inp); + self + } + ///

      Whether to enable Amazon ECS to roll back the service if a service deployment fails. If + /// rollback is enabled, when a service deployment fails, the service is rolled back to the + /// last deployment that completed successfully.

      + pub fn rollback(mut self, inp: bool) -> Self { + self.rollback = Some(inp); + self + } + pub fn set_rollback(mut self, inp: bool) -> Self { + self.rollback = Some(inp); + self + } + /// Consumes the builder and constructs a [`DeploymentCircuitBreaker`](crate::model::DeploymentCircuitBreaker) + pub fn build(self) -> crate::model::DeploymentCircuitBreaker { + crate::model::DeploymentCircuitBreaker { + enable: self.enable.unwrap_or_default(), + rollback: self.rollback.unwrap_or_default(), + } + } + } +} +impl DeploymentCircuitBreaker { + /// Creates a new builder-style object to manufacture [`DeploymentCircuitBreaker`](crate::model::DeploymentCircuitBreaker) + pub fn builder() -> crate::model::deployment_circuit_breaker::Builder { + crate::model::deployment_circuit_breaker::Builder::default() + } +} + +///

      A failed resource. For a list of common causes, see API failure +/// reasons in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Failure { + ///

      The Amazon Resource Name (ARN) of the failed resource.

      + #[serde(rename = "arn")] + #[serde(default)] + pub arn: std::option::Option, + ///

      The reason for the failure.

      + #[serde(rename = "reason")] + #[serde(default)] + pub reason: std::option::Option, + ///

      The details of the failure.

      + #[serde(rename = "detail")] + #[serde(default)] + pub detail: std::option::Option, +} +impl std::fmt::Debug for Failure { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Failure"); + formatter.field("arn", &self.arn); + formatter.field("reason", &self.reason); + formatter.field("detail", &self.detail); + formatter.finish() + } +} +/// See [`Failure`](crate::model::Failure) +pub mod failure { + /// A builder for [`Failure`](crate::model::Failure) + #[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) reason: std::option::Option, + pub(crate) detail: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the failed resource.

      + pub fn arn(mut self, inp: impl Into) -> Self { + self.arn = Some(inp.into()); + self + } + pub fn set_arn(mut self, inp: std::option::Option) -> Self { + self.arn = inp; + self + } + ///

      The reason for the failure.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + ///

      The details of the failure.

      + pub fn detail(mut self, inp: impl Into) -> Self { + self.detail = Some(inp.into()); + self + } + pub fn set_detail(mut self, inp: std::option::Option) -> Self { + self.detail = inp; + self + } + /// Consumes the builder and constructs a [`Failure`](crate::model::Failure) + pub fn build(self) -> crate::model::Failure { + crate::model::Failure { + arn: self.arn, + reason: self.reason, + detail: self.detail, + } + } + } +} +impl Failure { + /// Creates a new builder-style object to manufacture [`Failure`](crate::model::Failure) + pub fn builder() -> crate::model::failure::Builder { + crate::model::failure::Builder::default() + } +} + +///

      An EC2 instance that is running the Amazon ECS agent and has been registered with a +/// cluster.

      +#[non_exhaustive] +#[derive(serde::Deserialize, 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 AWS 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.

      + #[serde(rename = "containerInstanceArn")] + #[serde(default)] + pub container_instance_arn: std::option::Option, + ///

      The EC2 instance ID of the container instance.

      + #[serde(rename = "ec2InstanceId")] + #[serde(default)] + pub ec2_instance_id: std::option::Option, + ///

      The capacity provider associated with the container instance.

      + #[serde(rename = "capacityProviderName")] + #[serde(default)] + pub capacity_provider_name: std::option::Option, + ///

      The version counter for the container instance. Every time a container instance + /// experiences a change that triggers a CloudWatch event, the version counter is + /// incremented. If you are replicating your Amazon ECS container instance state with CloudWatch + /// Events, you can compare the version of a container instance reported by the Amazon ECS APIs + /// with the version reported in CloudWatch Events for the container instance (inside the + /// detail object) to verify that the version in your event stream is + /// current.

      + #[serde(rename = "version")] + pub version: i64, + ///

      The version information for the Amazon ECS container agent and Docker daemon running on the + /// container instance.

      + #[serde(rename = "versionInfo")] + #[serde(default)] + pub version_info: std::option::Option, + ///

      For CPU and memory resource types, this parameter describes the remaining CPU and + /// memory that has not already been allocated to tasks and is therefore available for new + /// tasks. For port resource types, this parameter describes the ports that were reserved by + /// the Amazon ECS container agent (at instance registration time) and any task containers that + /// have reserved port mappings on the host (with the host or + /// bridge network mode). Any port that is not specified here is available + /// for new tasks.

      + #[serde(rename = "remainingResources")] + #[serde(default)] + pub remaining_resources: std::option::Option>, + ///

      For CPU and memory resource types, this parameter describes the amount of each + /// resource that was available on the container instance when the container agent + /// registered it with Amazon ECS. This value represents the total amount of CPU and memory that + /// can be allocated on this container instance to tasks. For port resource types, this + /// parameter describes the ports that were reserved by the Amazon ECS container agent when it + /// registered the container instance with Amazon ECS.

      + #[serde(rename = "registeredResources")] + #[serde(default)] + pub registered_resources: std::option::Option>, + ///

      The status of the container instance. The valid values are REGISTERING, + /// REGISTRATION_FAILED, ACTIVE, INACTIVE, + /// DEREGISTERING, or DRAINING.

      + ///

      If your account has opted in to the awsvpcTrunking account setting, then + /// any newly registered container instance will transition to a REGISTERING + /// status while the trunk elastic network interface is provisioned for the instance. If the + /// registration fails, the instance will transition to a REGISTRATION_FAILED + /// status. You can describe the container instance and see the reason for failure in the + /// statusReason parameter. Once the container instance is terminated, the + /// instance transitions to a DEREGISTERING status while the trunk elastic + /// network interface is deprovisioned. The instance then transitions to an + /// INACTIVE status.

      + ///

      The ACTIVE status indicates that the container instance can accept tasks. + /// The DRAINING indicates that new tasks are not placed on the container + /// instance and any service tasks running on the container instance are removed if + /// possible. For more information, see Container Instance Draining in the + /// Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The reason that the container instance reached its current status.

      + #[serde(rename = "statusReason")] + #[serde(default)] + pub status_reason: std::option::Option, + ///

      This parameter returns true if the agent is connected to Amazon ECS. + /// Registered instances with an agent that may be unhealthy or stopped return + /// false. Only instances connected to an agent can accept placement + /// requests.

      + #[serde(rename = "agentConnected")] + pub agent_connected: bool, + ///

      The number of tasks on the container instance that are in the RUNNING + /// status.

      + #[serde(rename = "runningTasksCount")] + pub running_tasks_count: i32, + ///

      The number of tasks on the container instance that are in the PENDING + /// status.

      + #[serde(rename = "pendingTasksCount")] + pub pending_tasks_count: i32, + ///

      The status of the most recent agent update. If an update has never been requested, + /// this value is NULL.

      + #[serde(rename = "agentUpdateStatus")] + #[serde(default)] + pub agent_update_status: std::option::Option, + ///

      The attributes set for the container instance, either by the Amazon ECS container agent at + /// instance registration or manually with the PutAttributes + /// operation.

      + #[serde(rename = "attributes")] + #[serde(default)] + pub attributes: std::option::Option>, + ///

      The Unix timestamp for when the container instance was registered.

      + #[serde(rename = "registeredAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub registered_at: std::option::Option, + ///

      The resources attached to a container instance, such as elastic network + /// interfaces.

      + #[serde(rename = "attachments")] + #[serde(default)] + pub attachments: std::option::Option>, + ///

      The metadata that you apply to the container instance to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, +} +impl std::fmt::Debug for ContainerInstance { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ContainerInstance"); + formatter.field("container_instance_arn", &self.container_instance_arn); + formatter.field("ec2_instance_id", &self.ec2_instance_id); + formatter.field("capacity_provider_name", &self.capacity_provider_name); + formatter.field("version", &self.version); + formatter.field("version_info", &self.version_info); + formatter.field("remaining_resources", &self.remaining_resources); + formatter.field("registered_resources", &self.registered_resources); + formatter.field("status", &self.status); + formatter.field("status_reason", &self.status_reason); + formatter.field("agent_connected", &self.agent_connected); + formatter.field("running_tasks_count", &self.running_tasks_count); + formatter.field("pending_tasks_count", &self.pending_tasks_count); + formatter.field("agent_update_status", &self.agent_update_status); + formatter.field("attributes", &self.attributes); + formatter.field("registered_at", &self.registered_at); + formatter.field("attachments", &self.attachments); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`ContainerInstance`](crate::model::ContainerInstance) +pub mod container_instance { + /// A builder for [`ContainerInstance`](crate::model::ContainerInstance) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instance_arn: std::option::Option, + pub(crate) ec2_instance_id: std::option::Option, + pub(crate) capacity_provider_name: std::option::Option, + pub(crate) version: std::option::Option, + pub(crate) version_info: std::option::Option, + pub(crate) remaining_resources: std::option::Option>, + pub(crate) registered_resources: std::option::Option>, + pub(crate) status: std::option::Option, + pub(crate) status_reason: std::option::Option, + pub(crate) agent_connected: std::option::Option, + pub(crate) running_tasks_count: std::option::Option, + pub(crate) pending_tasks_count: std::option::Option, + pub(crate) agent_update_status: std::option::Option, + pub(crate) attributes: std::option::Option>, + pub(crate) registered_at: std::option::Option, + pub(crate) attachments: std::option::Option>, + 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 AWS 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, inp: impl Into) -> Self { + self.container_instance_arn = Some(inp.into()); + self + } + pub fn set_container_instance_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance_arn = inp; + self + } + ///

      The EC2 instance ID of the container instance.

      + pub fn ec2_instance_id(mut self, inp: impl Into) -> Self { + self.ec2_instance_id = Some(inp.into()); + self + } + pub fn set_ec2_instance_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.ec2_instance_id = inp; + self + } + ///

      The capacity provider associated with the container instance.

      + pub fn capacity_provider_name(mut self, inp: impl Into) -> Self { + self.capacity_provider_name = Some(inp.into()); + self + } + pub fn set_capacity_provider_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider_name = inp; + self + } + ///

      The version counter for the container instance. Every time a container instance + /// experiences a change that triggers a CloudWatch event, the version counter is + /// incremented. If you are replicating your Amazon ECS container instance state with CloudWatch + /// Events, you can compare the version of a container instance reported by the Amazon ECS APIs + /// with the version reported in CloudWatch Events for the container instance (inside the + /// detail object) to verify that the version in your event stream is + /// current.

      + pub fn version(mut self, inp: i64) -> Self { + self.version = Some(inp); + self + } + pub fn set_version(mut self, inp: i64) -> Self { + self.version = Some(inp); + self + } + ///

      The version information for the Amazon ECS container agent and Docker daemon running on the + /// container instance.

      + pub fn version_info(mut self, inp: crate::model::VersionInfo) -> Self { + self.version_info = Some(inp); + self + } + pub fn set_version_info( + mut self, + inp: std::option::Option, + ) -> Self { + self.version_info = inp; + self + } + pub fn remaining_resources(mut self, inp: impl Into) -> Self { + let mut v = self.remaining_resources.unwrap_or_default(); + v.push(inp.into()); + self.remaining_resources = Some(v); + self + } + pub fn set_remaining_resources( + mut self, + inp: std::option::Option>, + ) -> Self { + self.remaining_resources = inp; + self + } + pub fn registered_resources(mut self, inp: impl Into) -> Self { + let mut v = self.registered_resources.unwrap_or_default(); + v.push(inp.into()); + self.registered_resources = Some(v); + self + } + pub fn set_registered_resources( + mut self, + inp: std::option::Option>, + ) -> Self { + self.registered_resources = inp; + self + } + ///

      The status of the container instance. The valid values are REGISTERING, + /// REGISTRATION_FAILED, ACTIVE, INACTIVE, + /// DEREGISTERING, or DRAINING.

      + ///

      If your account has opted in to the awsvpcTrunking account setting, then + /// any newly registered container instance will transition to a REGISTERING + /// status while the trunk elastic network interface is provisioned for the instance. If the + /// registration fails, the instance will transition to a REGISTRATION_FAILED + /// status. You can describe the container instance and see the reason for failure in the + /// statusReason parameter. Once the container instance is terminated, the + /// instance transitions to a DEREGISTERING status while the trunk elastic + /// network interface is deprovisioned. The instance then transitions to an + /// INACTIVE status.

      + ///

      The ACTIVE status indicates that the container instance can accept tasks. + /// The DRAINING indicates that new tasks are not placed on the container + /// instance and any service tasks running on the container instance are removed if + /// possible. For more information, see Container Instance Draining in the + /// Amazon Elastic Container Service Developer Guide.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The reason that the container instance reached its current status.

      + pub fn status_reason(mut self, inp: impl Into) -> Self { + self.status_reason = Some(inp.into()); + self + } + pub fn set_status_reason(mut self, inp: std::option::Option) -> Self { + self.status_reason = inp; + self + } + ///

      This parameter returns true if the agent is connected to Amazon ECS. + /// Registered instances with an agent that may be unhealthy or stopped return + /// false. Only instances connected to an agent can accept placement + /// requests.

      + pub fn agent_connected(mut self, inp: bool) -> Self { + self.agent_connected = Some(inp); + self + } + pub fn set_agent_connected(mut self, inp: bool) -> Self { + self.agent_connected = Some(inp); + self + } + ///

      The number of tasks on the container instance that are in the RUNNING + /// status.

      + pub fn running_tasks_count(mut self, inp: i32) -> Self { + self.running_tasks_count = Some(inp); + self + } + pub fn set_running_tasks_count(mut self, inp: i32) -> Self { + self.running_tasks_count = Some(inp); + self + } + ///

      The number of tasks on the container instance that are in the PENDING + /// status.

      + pub fn pending_tasks_count(mut self, inp: i32) -> Self { + self.pending_tasks_count = Some(inp); + self + } + pub fn set_pending_tasks_count(mut self, inp: i32) -> Self { + self.pending_tasks_count = Some(inp); + self + } + ///

      The status of the most recent agent update. If an update has never been requested, + /// this value is NULL.

      + pub fn agent_update_status(mut self, inp: crate::model::AgentUpdateStatus) -> Self { + self.agent_update_status = Some(inp); + self + } + pub fn set_agent_update_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.agent_update_status = inp; + self + } + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + ///

      The Unix timestamp for when the container instance was registered.

      + pub fn registered_at(mut self, inp: smithy_types::Instant) -> Self { + self.registered_at = Some(inp); + self + } + pub fn set_registered_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.registered_at = inp; + self + } + pub fn attachments(mut self, inp: impl Into) -> Self { + let mut v = self.attachments.unwrap_or_default(); + v.push(inp.into()); + self.attachments = Some(v); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attachments = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`ContainerInstance`](crate::model::ContainerInstance) + pub fn build(self) -> crate::model::ContainerInstance { + crate::model::ContainerInstance { + container_instance_arn: self.container_instance_arn, + ec2_instance_id: self.ec2_instance_id, + capacity_provider_name: self.capacity_provider_name, + version: self.version.unwrap_or_default(), + version_info: self.version_info, + remaining_resources: self.remaining_resources, + registered_resources: self.registered_resources, + status: self.status, + status_reason: self.status_reason, + agent_connected: self.agent_connected.unwrap_or_default(), + running_tasks_count: self.running_tasks_count.unwrap_or_default(), + pending_tasks_count: self.pending_tasks_count.unwrap_or_default(), + agent_update_status: self.agent_update_status, + attributes: self.attributes, + registered_at: self.registered_at, + attachments: self.attachments, + tags: self.tags, + } + } + } +} +impl ContainerInstance { + /// Creates a new builder-style object to manufacture [`ContainerInstance`](crate::model::ContainerInstance) + pub fn builder() -> crate::model::container_instance::Builder { + crate::model::container_instance::Builder::default() + } +} + +///

      An object representing a container instance or task attachment.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Attachment { + ///

      The unique identifier for the attachment.

      + #[serde(rename = "id")] + #[serde(default)] + pub id: std::option::Option, + ///

      The type of the attachment, such as ElasticNetworkInterface.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, + ///

      The status of the attachment. Valid values are PRECREATED, + /// CREATED, ATTACHING, ATTACHED, + /// DETACHING, DETACHED, and DELETED.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      Details of the attachment. For elastic network interfaces, this includes the network + /// interface ID, the MAC address, the subnet ID, and the private IPv4 address.

      + #[serde(rename = "details")] + #[serde(default)] + pub details: std::option::Option>, +} +impl std::fmt::Debug for Attachment { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Attachment"); + formatter.field("id", &self.id); + formatter.field("r#type", &self.r#type); + formatter.field("status", &self.status); + formatter.field("details", &self.details); + formatter.finish() + } +} +/// See [`Attachment`](crate::model::Attachment) +pub mod attachment { + /// A builder for [`Attachment`](crate::model::Attachment) + #[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) r#type: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) details: std::option::Option>, + } + impl Builder { + ///

      The unique identifier for the attachment.

      + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

      The type of the attachment, such as ElasticNetworkInterface.

      + pub fn r#type(mut self, inp: impl Into) -> Self { + self.r#type = Some(inp.into()); + self + } + pub fn set_type(mut self, inp: std::option::Option) -> Self { + self.r#type = inp; + self + } + ///

      The status of the attachment. Valid values are PRECREATED, + /// CREATED, ATTACHING, ATTACHED, + /// DETACHING, DETACHED, and DELETED.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + pub fn details(mut self, inp: impl Into) -> Self { + let mut v = self.details.unwrap_or_default(); + v.push(inp.into()); + self.details = Some(v); + self + } + pub fn set_details( + mut self, + inp: std::option::Option>, + ) -> Self { + self.details = inp; + self + } + /// Consumes the builder and constructs a [`Attachment`](crate::model::Attachment) + pub fn build(self) -> crate::model::Attachment { + crate::model::Attachment { + id: self.id, + r#type: self.r#type, + status: self.status, + details: self.details, + } + } + } +} +impl Attachment { + /// Creates a new builder-style object to manufacture [`Attachment`](crate::model::Attachment) + pub fn builder() -> crate::model::attachment::Builder { + crate::model::attachment::Builder::default() + } +} + +///

      A key-value pair object.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct KeyValuePair { + ///

      The name of the key-value pair. For environment variables, this is the name of the + /// environment variable.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The value of the key-value pair. For environment variables, this is the value of the + /// environment variable.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, +} +impl std::fmt::Debug for KeyValuePair { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("KeyValuePair"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.finish() + } +} +/// See [`KeyValuePair`](crate::model::KeyValuePair) +pub mod key_value_pair { + /// A builder for [`KeyValuePair`](crate::model::KeyValuePair) + #[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) value: std::option::Option, + } + impl Builder { + ///

      The name of the key-value pair. For environment variables, this is the name of the + /// environment variable.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The value of the key-value pair. For environment variables, this is the value of the + /// environment variable.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + /// Consumes the builder and constructs a [`KeyValuePair`](crate::model::KeyValuePair) + pub fn build(self) -> crate::model::KeyValuePair { + crate::model::KeyValuePair { + name: self.name, + value: self.value, + } + } + } +} +impl KeyValuePair { + /// Creates a new builder-style object to manufacture [`KeyValuePair`](crate::model::KeyValuePair) + pub fn builder() -> crate::model::key_value_pair::Builder { + crate::model::key_value_pair::Builder::default() + } +} + +///

      An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable +/// you to extend the Amazon ECS data model by adding custom metadata to your resources. For more +/// information, see Attributes in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Attribute { + ///

      The name of the attribute. The name must contain between 1 and 128 + /// characters and name may contain letters (uppercase and lowercase), numbers, hyphens, + /// underscores, forward slashes, back slashes, or periods.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The value of the attribute. The value must contain between 1 and 128 + /// characters and may contain letters (uppercase and lowercase), numbers, hyphens, + /// underscores, periods, at signs (@), forward slashes, back slashes, colons, or spaces. + /// The value cannot contain any leading or trailing whitespace.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, + ///

      The type of the target with which to attach the attribute. This parameter is required + /// if you use the short form ID for a resource instead of the full ARN.

      + #[serde(rename = "targetType")] + #[serde(default)] + pub target_type: std::option::Option, + ///

      The ID of the target. You can specify the short form ID for a resource or the full + /// Amazon Resource Name (ARN).

      + #[serde(rename = "targetId")] + #[serde(default)] + pub target_id: std::option::Option, +} +impl std::fmt::Debug for Attribute { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Attribute"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.field("target_type", &self.target_type); + formatter.field("target_id", &self.target_id); + formatter.finish() + } +} +/// See [`Attribute`](crate::model::Attribute) +pub mod attribute { + /// A builder for [`Attribute`](crate::model::Attribute) + #[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) value: std::option::Option, + pub(crate) target_type: std::option::Option, + pub(crate) target_id: std::option::Option, + } + impl Builder { + ///

      The name of the attribute. The name must contain between 1 and 128 + /// characters and name may contain letters (uppercase and lowercase), numbers, hyphens, + /// underscores, forward slashes, back slashes, or periods.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The value of the attribute. The value must contain between 1 and 128 + /// characters and may contain letters (uppercase and lowercase), numbers, hyphens, + /// underscores, periods, at signs (@), forward slashes, back slashes, colons, or spaces. + /// The value cannot contain any leading or trailing whitespace.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + ///

      The type of the target with which to attach the attribute. This parameter is required + /// if you use the short form ID for a resource instead of the full ARN.

      + pub fn target_type(mut self, inp: crate::model::TargetType) -> Self { + self.target_type = Some(inp); + self + } + pub fn set_target_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.target_type = inp; + self + } + ///

      The ID of the target. You can specify the short form ID for a resource or the full + /// Amazon Resource Name (ARN).

      + pub fn target_id(mut self, inp: impl Into) -> Self { + self.target_id = Some(inp.into()); + self + } + pub fn set_target_id(mut self, inp: std::option::Option) -> Self { + self.target_id = inp; + self + } + /// Consumes the builder and constructs a [`Attribute`](crate::model::Attribute) + pub fn build(self) -> crate::model::Attribute { + crate::model::Attribute { + name: self.name, + value: self.value, + target_type: self.target_type, + target_id: self.target_id, + } + } + } +} +impl Attribute { + /// Creates a new builder-style object to manufacture [`Attribute`](crate::model::Attribute) + pub fn builder() -> crate::model::attribute::Builder { + crate::model::attribute::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 TargetType { + ContainerInstance, + Unknown(String), +} +impl std::convert::From<&str> for TargetType { + fn from(s: &str) -> Self { + match s { + "container-instance" => TargetType::ContainerInstance, + other => TargetType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TargetType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TargetType::from(s)) + } +} +impl TargetType { + pub fn as_str(&self) -> &str { + match self { + TargetType::ContainerInstance => "container-instance", + TargetType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TargetType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TargetType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 AgentUpdateStatus { + Failed, + Pending, + Staged, + Staging, + Updated, + Updating, + Unknown(String), +} +impl std::convert::From<&str> for AgentUpdateStatus { + fn from(s: &str) -> Self { + match s { + "FAILED" => AgentUpdateStatus::Failed, + "PENDING" => AgentUpdateStatus::Pending, + "STAGED" => AgentUpdateStatus::Staged, + "STAGING" => AgentUpdateStatus::Staging, + "UPDATED" => AgentUpdateStatus::Updated, + "UPDATING" => AgentUpdateStatus::Updating, + other => AgentUpdateStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for AgentUpdateStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(AgentUpdateStatus::from(s)) + } +} +impl AgentUpdateStatus { + pub fn as_str(&self) -> &str { + match self { + AgentUpdateStatus::Failed => "FAILED", + AgentUpdateStatus::Pending => "PENDING", + AgentUpdateStatus::Staged => "STAGED", + AgentUpdateStatus::Staging => "STAGING", + AgentUpdateStatus::Updated => "UPDATED", + AgentUpdateStatus::Updating => "UPDATING", + AgentUpdateStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for AgentUpdateStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for AgentUpdateStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Describes the resources available for a container instance.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Resource { + ///

      The name of the resource, such as CPU, MEMORY, + /// PORTS, PORTS_UDP, or a user-defined resource.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The type of the resource, such as INTEGER, DOUBLE, + /// LONG, or STRINGSET.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, + ///

      When the doubleValue type is set, the value of the resource must be a + /// double precision floating-point type.

      + #[serde(rename = "doubleValue")] + pub double_value: f64, + ///

      When the longValue type is set, the value of the resource must be an + /// extended precision floating-point type.

      + #[serde(rename = "longValue")] + pub long_value: i64, + ///

      When the integerValue type is set, the value of the resource must be an + /// integer.

      + #[serde(rename = "integerValue")] + pub integer_value: i32, + ///

      When the stringSetValue type is set, the value of the resource must be a + /// string type.

      + #[serde(rename = "stringSetValue")] + #[serde(default)] + pub string_set_value: std::option::Option>, +} +impl std::fmt::Debug for Resource { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Resource"); + formatter.field("name", &self.name); + formatter.field("r#type", &self.r#type); + formatter.field("double_value", &self.double_value); + formatter.field("long_value", &self.long_value); + formatter.field("integer_value", &self.integer_value); + formatter.field("string_set_value", &self.string_set_value); + formatter.finish() + } +} +/// See [`Resource`](crate::model::Resource) +pub mod resource { + /// A builder for [`Resource`](crate::model::Resource) + #[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) r#type: std::option::Option, + pub(crate) double_value: std::option::Option, + pub(crate) long_value: std::option::Option, + pub(crate) integer_value: std::option::Option, + pub(crate) string_set_value: std::option::Option>, + } + impl Builder { + ///

      The name of the resource, such as CPU, MEMORY, + /// PORTS, PORTS_UDP, or a user-defined resource.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The type of the resource, such as INTEGER, DOUBLE, + /// LONG, or STRINGSET.

      + pub fn r#type(mut self, inp: impl Into) -> Self { + self.r#type = Some(inp.into()); + self + } + pub fn set_type(mut self, inp: std::option::Option) -> Self { + self.r#type = inp; + self + } + ///

      When the doubleValue type is set, the value of the resource must be a + /// double precision floating-point type.

      + pub fn double_value(mut self, inp: f64) -> Self { + self.double_value = Some(inp); + self + } + pub fn set_double_value(mut self, inp: f64) -> Self { + self.double_value = Some(inp); + self + } + ///

      When the longValue type is set, the value of the resource must be an + /// extended precision floating-point type.

      + pub fn long_value(mut self, inp: i64) -> Self { + self.long_value = Some(inp); + self + } + pub fn set_long_value(mut self, inp: i64) -> Self { + self.long_value = Some(inp); + self + } + ///

      When the integerValue type is set, the value of the resource must be an + /// integer.

      + pub fn integer_value(mut self, inp: i32) -> Self { + self.integer_value = Some(inp); + self + } + pub fn set_integer_value(mut self, inp: i32) -> Self { + self.integer_value = Some(inp); + self + } + pub fn string_set_value(mut self, inp: impl Into) -> Self { + let mut v = self.string_set_value.unwrap_or_default(); + v.push(inp.into()); + self.string_set_value = Some(v); + self + } + pub fn set_string_set_value( + mut self, + inp: std::option::Option>, + ) -> Self { + self.string_set_value = inp; + self + } + /// Consumes the builder and constructs a [`Resource`](crate::model::Resource) + pub fn build(self) -> crate::model::Resource { + crate::model::Resource { + name: self.name, + r#type: self.r#type, + double_value: self.double_value.unwrap_or_default(), + long_value: self.long_value.unwrap_or_default(), + integer_value: self.integer_value.unwrap_or_default(), + string_set_value: self.string_set_value, + } + } + } +} +impl Resource { + /// Creates a new builder-style object to manufacture [`Resource`](crate::model::Resource) + pub fn builder() -> crate::model::resource::Builder { + crate::model::resource::Builder::default() + } +} + +///

      The Docker and Amazon ECS container agent version information about a container +/// instance.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct VersionInfo { + ///

      The version number of the Amazon ECS container agent.

      + #[serde(rename = "agentVersion")] + #[serde(default)] + pub agent_version: std::option::Option, + ///

      The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent + /// GitHub repository.

      + #[serde(rename = "agentHash")] + #[serde(default)] + pub agent_hash: std::option::Option, + ///

      The Docker version running on the container instance.

      + #[serde(rename = "dockerVersion")] + #[serde(default)] + pub docker_version: std::option::Option, +} +impl std::fmt::Debug for VersionInfo { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("VersionInfo"); + formatter.field("agent_version", &self.agent_version); + formatter.field("agent_hash", &self.agent_hash); + formatter.field("docker_version", &self.docker_version); + formatter.finish() + } +} +/// See [`VersionInfo`](crate::model::VersionInfo) +pub mod version_info { + /// A builder for [`VersionInfo`](crate::model::VersionInfo) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) agent_version: std::option::Option, + pub(crate) agent_hash: std::option::Option, + pub(crate) docker_version: std::option::Option, + } + impl Builder { + ///

      The version number of the Amazon ECS container agent.

      + pub fn agent_version(mut self, inp: impl Into) -> Self { + self.agent_version = Some(inp.into()); + self + } + pub fn set_agent_version(mut self, inp: std::option::Option) -> Self { + self.agent_version = inp; + self + } + ///

      The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent + /// GitHub repository.

      + pub fn agent_hash(mut self, inp: impl Into) -> Self { + self.agent_hash = Some(inp.into()); + self + } + pub fn set_agent_hash(mut self, inp: std::option::Option) -> Self { + self.agent_hash = inp; + self + } + ///

      The Docker version running on the container instance.

      + pub fn docker_version(mut self, inp: impl Into) -> Self { + self.docker_version = Some(inp.into()); + self + } + pub fn set_docker_version(mut self, inp: std::option::Option) -> Self { + self.docker_version = inp; + self + } + /// Consumes the builder and constructs a [`VersionInfo`](crate::model::VersionInfo) + pub fn build(self) -> crate::model::VersionInfo { + crate::model::VersionInfo { + agent_version: self.agent_version, + agent_hash: self.agent_hash, + docker_version: self.docker_version, + } + } + } +} +impl VersionInfo { + /// Creates a new builder-style object to manufacture [`VersionInfo`](crate::model::VersionInfo) + pub fn builder() -> crate::model::version_info::Builder { + crate::model::version_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 ContainerInstanceStatus { + Active, + Deregistering, + Draining, + Registering, + RegistrationFailed, + Unknown(String), +} +impl std::convert::From<&str> for ContainerInstanceStatus { + fn from(s: &str) -> Self { + match s { + "ACTIVE" => ContainerInstanceStatus::Active, + "DEREGISTERING" => ContainerInstanceStatus::Deregistering, + "DRAINING" => ContainerInstanceStatus::Draining, + "REGISTERING" => ContainerInstanceStatus::Registering, + "REGISTRATION_FAILED" => ContainerInstanceStatus::RegistrationFailed, + other => ContainerInstanceStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ContainerInstanceStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ContainerInstanceStatus::from(s)) + } +} +impl ContainerInstanceStatus { + pub fn as_str(&self) -> &str { + match self { + ContainerInstanceStatus::Active => "ACTIVE", + ContainerInstanceStatus::Deregistering => "DEREGISTERING", + ContainerInstanceStatus::Draining => "DRAINING", + ContainerInstanceStatus::Registering => "REGISTERING", + ContainerInstanceStatus::RegistrationFailed => "REGISTRATION_FAILED", + ContainerInstanceStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ContainerInstanceStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ContainerInstanceStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      A regional grouping of one or more container instances on which you can run task +/// requests. Each account receives a default cluster the first time you use the Amazon ECS +/// service, but you may also create other clusters. Clusters may contain more than one +/// instance type simultaneously.

      +#[non_exhaustive] +#[derive(serde::Deserialize, 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 AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

      + #[serde(rename = "clusterArn")] + #[serde(default)] + pub cluster_arn: std::option::Option, + ///

      A user-generated string that you use to identify your cluster.

      + #[serde(rename = "clusterName")] + #[serde(default)] + pub cluster_name: std::option::Option, + ///

      The execute command configuration for the cluster.

      + #[serde(rename = "configuration")] + #[serde(default)] + pub configuration: std::option::Option, + ///

      The status of the cluster. The following are the possible states that will be + /// returned.

      + ///
      + ///
      ACTIVE
      + ///
      + ///

      The cluster is ready to accept tasks and if applicable you can register + /// container instances with the cluster.

      + ///
      + ///
      PROVISIONING
      + ///
      + ///

      The cluster has capacity providers associated with it and the resources + /// needed for the capacity provider are being created.

      + ///
      + ///
      DEPROVISIONING
      + ///
      + ///

      The cluster has capacity providers associated with it and the resources + /// needed for the capacity provider are being deleted.

      + ///
      + ///
      FAILED
      + ///
      + ///

      The cluster has capacity providers associated with it and the resources + /// needed for the capacity provider have failed to create.

      + ///
      + ///
      INACTIVE
      + ///
      + ///

      The cluster has been deleted. Clusters with an INACTIVE + /// status may remain discoverable in your account for a period of time. + /// However, this behavior is subject to change in the future, so you should not + /// rely on INACTIVE clusters persisting.

      + ///
      + ///
      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The number of container instances registered into the cluster. This includes container + /// instances in both ACTIVE and DRAINING status.

      + #[serde(rename = "registeredContainerInstancesCount")] + pub registered_container_instances_count: i32, + ///

      The number of tasks in the cluster that are in the RUNNING state.

      + #[serde(rename = "runningTasksCount")] + pub running_tasks_count: i32, + ///

      The number of tasks in the cluster that are in the PENDING state.

      + #[serde(rename = "pendingTasksCount")] + pub pending_tasks_count: i32, + ///

      The number of services that are running on the cluster in an ACTIVE + /// state. You can view these services with ListServices.

      + #[serde(rename = "activeServicesCount")] + pub active_services_count: i32, + ///

      Additional information about your clusters that are separated by launch type, + /// including:

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

        runningEC2TasksCount

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

        RunningFargateTasksCount

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

        pendingEC2TasksCount

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

        pendingFargateTasksCount

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

        activeEC2ServiceCount

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

        activeFargateServiceCount

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

        drainingEC2ServiceCount

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

        drainingFargateServiceCount

        + ///
      • + ///
      + #[serde(rename = "statistics")] + #[serde(default)] + pub statistics: std::option::Option>, + ///

      The metadata that you apply to the cluster to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, + ///

      The settings for the cluster. This parameter indicates whether CloudWatch Container Insights + /// is enabled or disabled for a cluster.

      + #[serde(rename = "settings")] + #[serde(default)] + pub settings: std::option::Option>, + ///

      The capacity providers associated with the cluster.

      + #[serde(rename = "capacityProviders")] + #[serde(default)] + pub capacity_providers: std::option::Option>, + ///

      The default capacity provider strategy for the cluster. When services or tasks are run + /// in the cluster with no launch type or capacity provider strategy specified, the default + /// capacity provider strategy is used.

      + #[serde(rename = "defaultCapacityProviderStrategy")] + #[serde(default)] + pub default_capacity_provider_strategy: + std::option::Option>, + ///

      The resources attached to a cluster. When using a capacity provider with a cluster, + /// the Auto Scaling plan that is created will be returned as a cluster attachment.

      + #[serde(rename = "attachments")] + #[serde(default)] + pub attachments: std::option::Option>, + ///

      The status of the capacity providers associated with the cluster. The following are + /// the states that will be returned:

      + ///
      + ///
      UPDATE_IN_PROGRESS
      + ///
      + ///

      The available capacity providers for the cluster are updating. This occurs + /// when the Auto Scaling plan is provisioning or deprovisioning.

      + ///
      + ///
      UPDATE_COMPLETE
      + ///
      + ///

      The capacity providers have successfully updated.

      + ///
      + ///
      UPDATE_FAILED
      + ///
      + ///

      The capacity provider updates failed.

      + ///
      + ///
      + #[serde(rename = "attachmentsStatus")] + #[serde(default)] + pub attachments_status: std::option::Option, +} +impl std::fmt::Debug for Cluster { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Cluster"); + formatter.field("cluster_arn", &self.cluster_arn); + formatter.field("cluster_name", &self.cluster_name); + formatter.field("configuration", &self.configuration); + formatter.field("status", &self.status); + formatter.field( + "registered_container_instances_count", + &self.registered_container_instances_count, + ); + formatter.field("running_tasks_count", &self.running_tasks_count); + formatter.field("pending_tasks_count", &self.pending_tasks_count); + formatter.field("active_services_count", &self.active_services_count); + formatter.field("statistics", &self.statistics); + formatter.field("tags", &self.tags); + formatter.field("settings", &self.settings); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field( + "default_capacity_provider_strategy", + &self.default_capacity_provider_strategy, + ); + formatter.field("attachments", &self.attachments); + formatter.field("attachments_status", &self.attachments_status); + formatter.finish() + } +} +/// See [`Cluster`](crate::model::Cluster) +pub mod cluster { + /// A builder for [`Cluster`](crate::model::Cluster) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster_arn: std::option::Option, + pub(crate) cluster_name: std::option::Option, + pub(crate) configuration: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) registered_container_instances_count: std::option::Option, + pub(crate) running_tasks_count: std::option::Option, + pub(crate) pending_tasks_count: std::option::Option, + pub(crate) active_services_count: std::option::Option, + pub(crate) statistics: std::option::Option>, + pub(crate) tags: std::option::Option>, + pub(crate) settings: std::option::Option>, + pub(crate) capacity_providers: std::option::Option>, + pub(crate) default_capacity_provider_strategy: + std::option::Option>, + pub(crate) attachments: std::option::Option>, + 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 AWS 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, inp: impl Into) -> Self { + self.cluster_arn = Some(inp.into()); + self + } + pub fn set_cluster_arn(mut self, inp: std::option::Option) -> Self { + self.cluster_arn = inp; + self + } + ///

      A user-generated string that you use to identify your cluster.

      + pub fn cluster_name(mut self, inp: impl Into) -> Self { + self.cluster_name = Some(inp.into()); + self + } + pub fn set_cluster_name(mut self, inp: std::option::Option) -> Self { + self.cluster_name = inp; + self + } + ///

      The execute command configuration for the cluster.

      + pub fn configuration(mut self, inp: crate::model::ClusterConfiguration) -> Self { + self.configuration = Some(inp); + self + } + pub fn set_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.configuration = inp; + self + } + ///

      The status of the cluster. The following are the possible states that will be + /// returned.

      + ///
      + ///
      ACTIVE
      + ///
      + ///

      The cluster is ready to accept tasks and if applicable you can register + /// container instances with the cluster.

      + ///
      + ///
      PROVISIONING
      + ///
      + ///

      The cluster has capacity providers associated with it and the resources + /// needed for the capacity provider are being created.

      + ///
      + ///
      DEPROVISIONING
      + ///
      + ///

      The cluster has capacity providers associated with it and the resources + /// needed for the capacity provider are being deleted.

      + ///
      + ///
      FAILED
      + ///
      + ///

      The cluster has capacity providers associated with it and the resources + /// needed for the capacity provider have failed to create.

      + ///
      + ///
      INACTIVE
      + ///
      + ///

      The cluster has been deleted. Clusters with an INACTIVE + /// status may remain discoverable in your account for a period of time. + /// However, this behavior is subject to change in the future, so you should not + /// rely on INACTIVE clusters persisting.

      + ///
      + ///
      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The number of container instances registered into the cluster. This includes container + /// instances in both ACTIVE and DRAINING status.

      + pub fn registered_container_instances_count(mut self, inp: i32) -> Self { + self.registered_container_instances_count = Some(inp); + self + } + pub fn set_registered_container_instances_count(mut self, inp: i32) -> Self { + self.registered_container_instances_count = Some(inp); + self + } + ///

      The number of tasks in the cluster that are in the RUNNING state.

      + pub fn running_tasks_count(mut self, inp: i32) -> Self { + self.running_tasks_count = Some(inp); + self + } + pub fn set_running_tasks_count(mut self, inp: i32) -> Self { + self.running_tasks_count = Some(inp); + self + } + ///

      The number of tasks in the cluster that are in the PENDING state.

      + pub fn pending_tasks_count(mut self, inp: i32) -> Self { + self.pending_tasks_count = Some(inp); + self + } + pub fn set_pending_tasks_count(mut self, inp: i32) -> Self { + self.pending_tasks_count = Some(inp); + self + } + ///

      The number of services that are running on the cluster in an ACTIVE + /// state. You can view these services with ListServices.

      + pub fn active_services_count(mut self, inp: i32) -> Self { + self.active_services_count = Some(inp); + self + } + pub fn set_active_services_count(mut self, inp: i32) -> Self { + self.active_services_count = Some(inp); + self + } + pub fn statistics(mut self, inp: impl Into) -> Self { + let mut v = self.statistics.unwrap_or_default(); + v.push(inp.into()); + self.statistics = Some(v); + self + } + pub fn set_statistics( + mut self, + inp: std::option::Option>, + ) -> Self { + self.statistics = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + pub fn settings(mut self, inp: impl Into) -> Self { + let mut v = self.settings.unwrap_or_default(); + v.push(inp.into()); + self.settings = Some(v); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.settings = inp; + self + } + pub fn capacity_providers(mut self, inp: impl Into) -> Self { + let mut v = self.capacity_providers.unwrap_or_default(); + v.push(inp.into()); + self.capacity_providers = Some(v); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_providers = inp; + self + } + pub fn default_capacity_provider_strategy( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.default_capacity_provider_strategy.unwrap_or_default(); + v.push(inp.into()); + self.default_capacity_provider_strategy = Some(v); + self + } + pub fn set_default_capacity_provider_strategy( + mut self, + inp: std::option::Option>, + ) -> Self { + self.default_capacity_provider_strategy = inp; + self + } + pub fn attachments(mut self, inp: impl Into) -> Self { + let mut v = self.attachments.unwrap_or_default(); + v.push(inp.into()); + self.attachments = Some(v); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attachments = inp; + self + } + ///

      The status of the capacity providers associated with the cluster. The following are + /// the states that will be returned:

      + ///
      + ///
      UPDATE_IN_PROGRESS
      + ///
      + ///

      The available capacity providers for the cluster are updating. This occurs + /// when the Auto Scaling plan is provisioning or deprovisioning.

      + ///
      + ///
      UPDATE_COMPLETE
      + ///
      + ///

      The capacity providers have successfully updated.

      + ///
      + ///
      UPDATE_FAILED
      + ///
      + ///

      The capacity provider updates failed.

      + ///
      + ///
      + pub fn attachments_status(mut self, inp: impl Into) -> Self { + self.attachments_status = Some(inp.into()); + self + } + pub fn set_attachments_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.attachments_status = inp; + self + } + /// Consumes the builder and constructs a [`Cluster`](crate::model::Cluster) + pub fn build(self) -> crate::model::Cluster { + crate::model::Cluster { + cluster_arn: self.cluster_arn, + cluster_name: self.cluster_name, + configuration: self.configuration, + status: self.status, + registered_container_instances_count: self + .registered_container_instances_count + .unwrap_or_default(), + running_tasks_count: self.running_tasks_count.unwrap_or_default(), + pending_tasks_count: self.pending_tasks_count.unwrap_or_default(), + active_services_count: self.active_services_count.unwrap_or_default(), + statistics: self.statistics, + tags: self.tags, + settings: self.settings, + capacity_providers: self.capacity_providers, + default_capacity_provider_strategy: self.default_capacity_provider_strategy, + attachments: self.attachments, + attachments_status: self.attachments_status, + } + } + } +} +impl Cluster { + /// Creates a new builder-style object to manufacture [`Cluster`](crate::model::Cluster) + pub fn builder() -> crate::model::cluster::Builder { + crate::model::cluster::Builder::default() + } +} + +///

      The settings to use when creating a cluster. This parameter is used to enable CloudWatch +/// Container Insights for a cluster.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClusterSetting { + ///

      The name of the cluster setting. The only supported value is + /// containerInsights.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The value to set for the cluster setting. The supported values are + /// enabled and disabled. If enabled is + /// specified, CloudWatch Container Insights will be enabled for the cluster, otherwise it will be + /// disabled unless the containerInsights account setting is enabled. If a + /// cluster value is specified, it will override the containerInsights value + /// set with PutAccountSetting or PutAccountSettingDefault.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, +} +impl std::fmt::Debug for ClusterSetting { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClusterSetting"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.finish() + } +} +/// See [`ClusterSetting`](crate::model::ClusterSetting) +pub mod cluster_setting { + /// A builder for [`ClusterSetting`](crate::model::ClusterSetting) + #[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) value: std::option::Option, + } + impl Builder { + ///

      The name of the cluster setting. The only supported value is + /// containerInsights.

      + pub fn name(mut self, inp: crate::model::ClusterSettingName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.name = inp; + self + } + ///

      The value to set for the cluster setting. The supported values are + /// enabled and disabled. If enabled is + /// specified, CloudWatch Container Insights will be enabled for the cluster, otherwise it will be + /// disabled unless the containerInsights account setting is enabled. If a + /// cluster value is specified, it will override the containerInsights value + /// set with PutAccountSetting or PutAccountSettingDefault.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + /// Consumes the builder and constructs a [`ClusterSetting`](crate::model::ClusterSetting) + pub fn build(self) -> crate::model::ClusterSetting { + crate::model::ClusterSetting { + name: self.name, + value: self.value, + } + } + } +} +impl ClusterSetting { + /// Creates a new builder-style object to manufacture [`ClusterSetting`](crate::model::ClusterSetting) + pub fn builder() -> crate::model::cluster_setting::Builder { + crate::model::cluster_setting::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 ClusterSettingName { + ContainerInsights, + Unknown(String), +} +impl std::convert::From<&str> for ClusterSettingName { + fn from(s: &str) -> Self { + match s { + "containerInsights" => ClusterSettingName::ContainerInsights, + other => ClusterSettingName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ClusterSettingName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ClusterSettingName::from(s)) + } +} +impl ClusterSettingName { + pub fn as_str(&self) -> &str { + match self { + ClusterSettingName::ContainerInsights => "containerInsights", + ClusterSettingName::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ClusterSettingName { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ClusterSettingName { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The execute command configuration for the cluster.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ClusterConfiguration { + ///

      The details of the execute command configuration.

      + #[serde(rename = "executeCommandConfiguration")] + #[serde(default)] + pub execute_command_configuration: + std::option::Option, +} +impl std::fmt::Debug for ClusterConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClusterConfiguration"); + formatter.field( + "execute_command_configuration", + &self.execute_command_configuration, + ); + formatter.finish() + } +} +/// See [`ClusterConfiguration`](crate::model::ClusterConfiguration) +pub mod cluster_configuration { + /// A builder for [`ClusterConfiguration`](crate::model::ClusterConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) execute_command_configuration: + std::option::Option, + } + impl Builder { + ///

      The details of the execute command configuration.

      + pub fn execute_command_configuration( + mut self, + inp: crate::model::ExecuteCommandConfiguration, + ) -> Self { + self.execute_command_configuration = Some(inp); + self + } + pub fn set_execute_command_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.execute_command_configuration = inp; + self + } + /// Consumes the builder and constructs a [`ClusterConfiguration`](crate::model::ClusterConfiguration) + pub fn build(self) -> crate::model::ClusterConfiguration { + crate::model::ClusterConfiguration { + execute_command_configuration: self.execute_command_configuration, + } + } + } +} +impl ClusterConfiguration { + /// Creates a new builder-style object to manufacture [`ClusterConfiguration`](crate::model::ClusterConfiguration) + pub fn builder() -> crate::model::cluster_configuration::Builder { + crate::model::cluster_configuration::Builder::default() + } +} + +///

      The details of the execute command configuration.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ExecuteCommandConfiguration { + ///

      Specify an AWS Key Management Service key ID to encrypt the data between the local + /// client and the container.

      + #[serde(rename = "kmsKeyId")] + #[serde(default)] + pub kms_key_id: std::option::Option, + ///

      The log setting to use for redirecting logs for your execute command results. The + /// following log settings are available.

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

        + /// NONE: The execute command session is not logged.

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

        + /// DEFAULT: The awslogs configuration in the task + /// definition is used. If no logging parameter is specified, it defaults to this + /// value. If no awslogs log driver is configured in the task + /// definition, the output won't be logged.

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

        + /// OVERRIDE: Specify the logging details as a part of + /// logConfiguration. If the OVERRIDE logging option + /// is specified, the logConfiguration is required.

        + ///
      • + ///
      + #[serde(rename = "logging")] + #[serde(default)] + pub logging: std::option::Option, + ///

      The log configuration for the results of the execute command actions. The logs can be + /// sent to CloudWatch Logs or an Amazon S3 bucket. When logging=OVERRIDE is + /// specified, a logConfiguration must be provided.

      + #[serde(rename = "logConfiguration")] + #[serde(default)] + pub log_configuration: std::option::Option, +} +impl std::fmt::Debug for ExecuteCommandConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecuteCommandConfiguration"); + formatter.field("kms_key_id", &self.kms_key_id); + formatter.field("logging", &self.logging); + formatter.field("log_configuration", &self.log_configuration); + formatter.finish() + } +} +/// See [`ExecuteCommandConfiguration`](crate::model::ExecuteCommandConfiguration) +pub mod execute_command_configuration { + /// A builder for [`ExecuteCommandConfiguration`](crate::model::ExecuteCommandConfiguration) + #[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) logging: std::option::Option, + pub(crate) log_configuration: + std::option::Option, + } + impl Builder { + ///

      Specify an AWS Key Management Service key ID to encrypt the data between the local + /// client and the container.

      + pub fn kms_key_id(mut self, inp: impl Into) -> Self { + self.kms_key_id = Some(inp.into()); + self + } + pub fn set_kms_key_id(mut self, inp: std::option::Option) -> Self { + self.kms_key_id = inp; + self + } + ///

      The log setting to use for redirecting logs for your execute command results. The + /// following log settings are available.

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

        + /// NONE: The execute command session is not logged.

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

        + /// DEFAULT: The awslogs configuration in the task + /// definition is used. If no logging parameter is specified, it defaults to this + /// value. If no awslogs log driver is configured in the task + /// definition, the output won't be logged.

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

        + /// OVERRIDE: Specify the logging details as a part of + /// logConfiguration. If the OVERRIDE logging option + /// is specified, the logConfiguration is required.

        + ///
      • + ///
      + pub fn logging(mut self, inp: crate::model::ExecuteCommandLogging) -> Self { + self.logging = Some(inp); + self + } + pub fn set_logging( + mut self, + inp: std::option::Option, + ) -> Self { + self.logging = inp; + self + } + ///

      The log configuration for the results of the execute command actions. The logs can be + /// sent to CloudWatch Logs or an Amazon S3 bucket. When logging=OVERRIDE is + /// specified, a logConfiguration must be provided.

      + pub fn log_configuration( + mut self, + inp: crate::model::ExecuteCommandLogConfiguration, + ) -> Self { + self.log_configuration = Some(inp); + self + } + pub fn set_log_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.log_configuration = inp; + self + } + /// Consumes the builder and constructs a [`ExecuteCommandConfiguration`](crate::model::ExecuteCommandConfiguration) + pub fn build(self) -> crate::model::ExecuteCommandConfiguration { + crate::model::ExecuteCommandConfiguration { + kms_key_id: self.kms_key_id, + logging: self.logging, + log_configuration: self.log_configuration, + } + } + } +} +impl ExecuteCommandConfiguration { + /// Creates a new builder-style object to manufacture [`ExecuteCommandConfiguration`](crate::model::ExecuteCommandConfiguration) + pub fn builder() -> crate::model::execute_command_configuration::Builder { + crate::model::execute_command_configuration::Builder::default() + } +} + +///

      The log configuration for the results of the execute command actions. The logs can be +/// sent to CloudWatch Logs or an Amazon S3 bucket.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ExecuteCommandLogConfiguration { + ///

      The name of the CloudWatch log group to send logs to.

      + /// + ///

      The CloudWatch log group must already be created.

      + ///
      + #[serde(rename = "cloudWatchLogGroupName")] + #[serde(default)] + pub cloud_watch_log_group_name: std::option::Option, + ///

      Whether or not to enable encryption on the CloudWatch logs. If not specified, + /// encryption will be disabled.

      + #[serde(rename = "cloudWatchEncryptionEnabled")] + pub cloud_watch_encryption_enabled: bool, + ///

      The name of the S3 bucket to send logs to.

      + /// + ///

      The S3 bucket must already be created.

      + ///
      + #[serde(rename = "s3BucketName")] + #[serde(default)] + pub s3_bucket_name: std::option::Option, + ///

      Whether or not to enable encryption on the CloudWatch logs. If not specified, + /// encryption will be disabled.

      + #[serde(rename = "s3EncryptionEnabled")] + pub s3_encryption_enabled: bool, + ///

      An optional folder in the S3 bucket to place logs in.

      + #[serde(rename = "s3KeyPrefix")] + #[serde(default)] + pub s3_key_prefix: std::option::Option, +} +impl std::fmt::Debug for ExecuteCommandLogConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecuteCommandLogConfiguration"); + formatter.field( + "cloud_watch_log_group_name", + &self.cloud_watch_log_group_name, + ); + formatter.field( + "cloud_watch_encryption_enabled", + &self.cloud_watch_encryption_enabled, + ); + formatter.field("s3_bucket_name", &self.s3_bucket_name); + formatter.field("s3_encryption_enabled", &self.s3_encryption_enabled); + formatter.field("s3_key_prefix", &self.s3_key_prefix); + formatter.finish() + } +} +/// See [`ExecuteCommandLogConfiguration`](crate::model::ExecuteCommandLogConfiguration) +pub mod execute_command_log_configuration { + /// A builder for [`ExecuteCommandLogConfiguration`](crate::model::ExecuteCommandLogConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cloud_watch_log_group_name: std::option::Option, + pub(crate) cloud_watch_encryption_enabled: std::option::Option, + pub(crate) s3_bucket_name: std::option::Option, + pub(crate) s3_encryption_enabled: std::option::Option, + pub(crate) s3_key_prefix: std::option::Option, + } + impl Builder { + ///

      The name of the CloudWatch log group to send logs to.

      + /// + ///

      The CloudWatch log group must already be created.

      + ///
      + pub fn cloud_watch_log_group_name(mut self, inp: impl Into) -> Self { + self.cloud_watch_log_group_name = Some(inp.into()); + self + } + pub fn set_cloud_watch_log_group_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.cloud_watch_log_group_name = inp; + self + } + ///

      Whether or not to enable encryption on the CloudWatch logs. If not specified, + /// encryption will be disabled.

      + pub fn cloud_watch_encryption_enabled(mut self, inp: bool) -> Self { + self.cloud_watch_encryption_enabled = Some(inp); + self + } + pub fn set_cloud_watch_encryption_enabled(mut self, inp: bool) -> Self { + self.cloud_watch_encryption_enabled = Some(inp); + self + } + ///

      The name of the S3 bucket to send logs to.

      + /// + ///

      The S3 bucket must already be created.

      + ///
      + pub fn s3_bucket_name(mut self, inp: impl Into) -> Self { + self.s3_bucket_name = Some(inp.into()); + self + } + pub fn set_s3_bucket_name(mut self, inp: std::option::Option) -> Self { + self.s3_bucket_name = inp; + self + } + ///

      Whether or not to enable encryption on the CloudWatch logs. If not specified, + /// encryption will be disabled.

      + pub fn s3_encryption_enabled(mut self, inp: bool) -> Self { + self.s3_encryption_enabled = Some(inp); + self + } + pub fn set_s3_encryption_enabled(mut self, inp: bool) -> Self { + self.s3_encryption_enabled = Some(inp); + self + } + ///

      An optional folder in the S3 bucket to place logs in.

      + pub fn s3_key_prefix(mut self, inp: impl Into) -> Self { + self.s3_key_prefix = Some(inp.into()); + self + } + pub fn set_s3_key_prefix(mut self, inp: std::option::Option) -> Self { + self.s3_key_prefix = inp; + self + } + /// Consumes the builder and constructs a [`ExecuteCommandLogConfiguration`](crate::model::ExecuteCommandLogConfiguration) + pub fn build(self) -> crate::model::ExecuteCommandLogConfiguration { + crate::model::ExecuteCommandLogConfiguration { + cloud_watch_log_group_name: self.cloud_watch_log_group_name, + cloud_watch_encryption_enabled: self + .cloud_watch_encryption_enabled + .unwrap_or_default(), + s3_bucket_name: self.s3_bucket_name, + s3_encryption_enabled: self.s3_encryption_enabled.unwrap_or_default(), + s3_key_prefix: self.s3_key_prefix, + } + } + } +} +impl ExecuteCommandLogConfiguration { + /// Creates a new builder-style object to manufacture [`ExecuteCommandLogConfiguration`](crate::model::ExecuteCommandLogConfiguration) + pub fn builder() -> crate::model::execute_command_log_configuration::Builder { + crate::model::execute_command_log_configuration::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 ExecuteCommandLogging { + Default, + None, + Override, + Unknown(String), +} +impl std::convert::From<&str> for ExecuteCommandLogging { + fn from(s: &str) -> Self { + match s { + "DEFAULT" => ExecuteCommandLogging::Default, + "NONE" => ExecuteCommandLogging::None, + "OVERRIDE" => ExecuteCommandLogging::Override, + other => ExecuteCommandLogging::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ExecuteCommandLogging { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ExecuteCommandLogging::from(s)) + } +} +impl ExecuteCommandLogging { + pub fn as_str(&self) -> &str { + match self { + ExecuteCommandLogging::Default => "DEFAULT", + ExecuteCommandLogging::None => "NONE", + ExecuteCommandLogging::Override => "OVERRIDE", + ExecuteCommandLogging::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ExecuteCommandLogging { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ExecuteCommandLogging { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The details of a capacity provider.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct CapacityProvider { + ///

      The Amazon Resource Name (ARN) that identifies the capacity provider.

      + #[serde(rename = "capacityProviderArn")] + #[serde(default)] + pub capacity_provider_arn: std::option::Option, + ///

      The name of the capacity provider.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The current status of the capacity provider. Only capacity providers in an + /// ACTIVE state can be used in a cluster. When a capacity provider is + /// successfully deleted, it will have an INACTIVE status.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The Auto Scaling group settings for the capacity provider.

      + #[serde(rename = "autoScalingGroupProvider")] + #[serde(default)] + pub auto_scaling_group_provider: std::option::Option, + ///

      The update status of the capacity provider. The following are the possible states that + /// will be returned.

      + ///
      + ///
      DELETE_IN_PROGRESS
      + ///
      + ///

      The capacity provider is in the process of being deleted.

      + ///
      + ///
      DELETE_COMPLETE
      + ///
      + ///

      The capacity provider has been successfully deleted and will have an + /// INACTIVE status.

      + ///
      + ///
      DELETE_FAILED
      + ///
      + ///

      The capacity provider was unable to be deleted. The update status reason + /// will provide further details about why the delete failed.

      + ///
      + ///
      + #[serde(rename = "updateStatus")] + #[serde(default)] + pub update_status: std::option::Option, + ///

      The update status reason. This provides further details about the update status for + /// the capacity provider.

      + #[serde(rename = "updateStatusReason")] + #[serde(default)] + pub update_status_reason: std::option::Option, + ///

      The metadata that you apply to the capacity provider to help you categorize and + /// organize it. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, +} +impl std::fmt::Debug for CapacityProvider { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CapacityProvider"); + formatter.field("capacity_provider_arn", &self.capacity_provider_arn); + formatter.field("name", &self.name); + formatter.field("status", &self.status); + formatter.field( + "auto_scaling_group_provider", + &self.auto_scaling_group_provider, + ); + formatter.field("update_status", &self.update_status); + formatter.field("update_status_reason", &self.update_status_reason); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`CapacityProvider`](crate::model::CapacityProvider) +pub mod capacity_provider { + /// A builder for [`CapacityProvider`](crate::model::CapacityProvider) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) auto_scaling_group_provider: + std::option::Option, + pub(crate) update_status: std::option::Option, + pub(crate) update_status_reason: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) that identifies the capacity provider.

      + pub fn capacity_provider_arn(mut self, inp: impl Into) -> Self { + self.capacity_provider_arn = Some(inp.into()); + self + } + pub fn set_capacity_provider_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider_arn = inp; + self + } + ///

      The name of the capacity provider.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The current status of the capacity provider. Only capacity providers in an + /// ACTIVE state can be used in a cluster. When a capacity provider is + /// successfully deleted, it will have an INACTIVE status.

      + pub fn status(mut self, inp: crate::model::CapacityProviderStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + ///

      The Auto Scaling group settings for the capacity provider.

      + pub fn auto_scaling_group_provider( + mut self, + inp: crate::model::AutoScalingGroupProvider, + ) -> Self { + self.auto_scaling_group_provider = Some(inp); + self + } + pub fn set_auto_scaling_group_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.auto_scaling_group_provider = inp; + self + } + ///

      The update status of the capacity provider. The following are the possible states that + /// will be returned.

      + ///
      + ///
      DELETE_IN_PROGRESS
      + ///
      + ///

      The capacity provider is in the process of being deleted.

      + ///
      + ///
      DELETE_COMPLETE
      + ///
      + ///

      The capacity provider has been successfully deleted and will have an + /// INACTIVE status.

      + ///
      + ///
      DELETE_FAILED
      + ///
      + ///

      The capacity provider was unable to be deleted. The update status reason + /// will provide further details about why the delete failed.

      + ///
      + ///
      + pub fn update_status(mut self, inp: crate::model::CapacityProviderUpdateStatus) -> Self { + self.update_status = Some(inp); + self + } + pub fn set_update_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.update_status = inp; + self + } + ///

      The update status reason. This provides further details about the update status for + /// the capacity provider.

      + pub fn update_status_reason(mut self, inp: impl Into) -> Self { + self.update_status_reason = Some(inp.into()); + self + } + pub fn set_update_status_reason( + mut self, + inp: std::option::Option, + ) -> Self { + self.update_status_reason = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`CapacityProvider`](crate::model::CapacityProvider) + pub fn build(self) -> crate::model::CapacityProvider { + crate::model::CapacityProvider { + capacity_provider_arn: self.capacity_provider_arn, + name: self.name, + status: self.status, + auto_scaling_group_provider: self.auto_scaling_group_provider, + update_status: self.update_status, + update_status_reason: self.update_status_reason, + tags: self.tags, + } + } + } +} +impl CapacityProvider { + /// Creates a new builder-style object to manufacture [`CapacityProvider`](crate::model::CapacityProvider) + pub fn builder() -> crate::model::capacity_provider::Builder { + crate::model::capacity_provider::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 CapacityProviderUpdateStatus { + DeleteComplete, + DeleteFailed, + DeleteInProgress, + UpdateComplete, + UpdateFailed, + UpdateInProgress, + Unknown(String), +} +impl std::convert::From<&str> for CapacityProviderUpdateStatus { + fn from(s: &str) -> Self { + match s { + "DELETE_COMPLETE" => CapacityProviderUpdateStatus::DeleteComplete, + "DELETE_FAILED" => CapacityProviderUpdateStatus::DeleteFailed, + "DELETE_IN_PROGRESS" => CapacityProviderUpdateStatus::DeleteInProgress, + "UPDATE_COMPLETE" => CapacityProviderUpdateStatus::UpdateComplete, + "UPDATE_FAILED" => CapacityProviderUpdateStatus::UpdateFailed, + "UPDATE_IN_PROGRESS" => CapacityProviderUpdateStatus::UpdateInProgress, + other => CapacityProviderUpdateStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for CapacityProviderUpdateStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(CapacityProviderUpdateStatus::from(s)) + } +} +impl CapacityProviderUpdateStatus { + pub fn as_str(&self) -> &str { + match self { + CapacityProviderUpdateStatus::DeleteComplete => "DELETE_COMPLETE", + CapacityProviderUpdateStatus::DeleteFailed => "DELETE_FAILED", + CapacityProviderUpdateStatus::DeleteInProgress => "DELETE_IN_PROGRESS", + CapacityProviderUpdateStatus::UpdateComplete => "UPDATE_COMPLETE", + CapacityProviderUpdateStatus::UpdateFailed => "UPDATE_FAILED", + CapacityProviderUpdateStatus::UpdateInProgress => "UPDATE_IN_PROGRESS", + CapacityProviderUpdateStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for CapacityProviderUpdateStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for CapacityProviderUpdateStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The details of the Auto Scaling group for the capacity provider.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct AutoScalingGroupProvider { + ///

      The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

      + #[serde(rename = "autoScalingGroupArn")] + #[serde(default)] + pub auto_scaling_group_arn: std::option::Option, + ///

      The managed scaling settings for the Auto Scaling group capacity provider.

      + #[serde(rename = "managedScaling")] + #[serde(default)] + pub managed_scaling: std::option::Option, + ///

      The managed termination protection setting to use for the Auto Scaling group capacity + /// provider. This determines whether the Auto Scaling group has managed termination + /// protection.

      + /// + ///

      When using managed termination protection, managed scaling must also be used + /// otherwise managed termination protection will not work.

      + ///
      + ///

      When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in + /// an Auto Scaling group that contain tasks from being terminated during a scale-in action. + /// The Auto Scaling group and each instance in the Auto Scaling group must have instance + /// protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

      + ///

      When managed termination protection is disabled, your Amazon EC2 instances are not + /// protected from termination when the Auto Scaling group scales in.

      + #[serde(rename = "managedTerminationProtection")] + #[serde(default)] + pub managed_termination_protection: + std::option::Option, +} +impl std::fmt::Debug for AutoScalingGroupProvider { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AutoScalingGroupProvider"); + formatter.field("auto_scaling_group_arn", &self.auto_scaling_group_arn); + formatter.field("managed_scaling", &self.managed_scaling); + formatter.field( + "managed_termination_protection", + &self.managed_termination_protection, + ); + formatter.finish() + } +} +/// See [`AutoScalingGroupProvider`](crate::model::AutoScalingGroupProvider) +pub mod auto_scaling_group_provider { + /// A builder for [`AutoScalingGroupProvider`](crate::model::AutoScalingGroupProvider) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) auto_scaling_group_arn: std::option::Option, + pub(crate) managed_scaling: std::option::Option, + pub(crate) managed_termination_protection: + std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

      + pub fn auto_scaling_group_arn(mut self, inp: impl Into) -> Self { + self.auto_scaling_group_arn = Some(inp.into()); + self + } + pub fn set_auto_scaling_group_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.auto_scaling_group_arn = inp; + self + } + ///

      The managed scaling settings for the Auto Scaling group capacity provider.

      + pub fn managed_scaling(mut self, inp: crate::model::ManagedScaling) -> Self { + self.managed_scaling = Some(inp); + self + } + pub fn set_managed_scaling( + mut self, + inp: std::option::Option, + ) -> Self { + self.managed_scaling = inp; + self + } + ///

      The managed termination protection setting to use for the Auto Scaling group capacity + /// provider. This determines whether the Auto Scaling group has managed termination + /// protection.

      + /// + ///

      When using managed termination protection, managed scaling must also be used + /// otherwise managed termination protection will not work.

      + ///
      + ///

      When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in + /// an Auto Scaling group that contain tasks from being terminated during a scale-in action. + /// The Auto Scaling group and each instance in the Auto Scaling group must have instance + /// protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

      + ///

      When managed termination protection is disabled, your Amazon EC2 instances are not + /// protected from termination when the Auto Scaling group scales in.

      + pub fn managed_termination_protection( + mut self, + inp: crate::model::ManagedTerminationProtection, + ) -> Self { + self.managed_termination_protection = Some(inp); + self + } + pub fn set_managed_termination_protection( + mut self, + inp: std::option::Option, + ) -> Self { + self.managed_termination_protection = inp; + self + } + /// Consumes the builder and constructs a [`AutoScalingGroupProvider`](crate::model::AutoScalingGroupProvider) + pub fn build(self) -> crate::model::AutoScalingGroupProvider { + crate::model::AutoScalingGroupProvider { + auto_scaling_group_arn: self.auto_scaling_group_arn, + managed_scaling: self.managed_scaling, + managed_termination_protection: self.managed_termination_protection, + } + } + } +} +impl AutoScalingGroupProvider { + /// Creates a new builder-style object to manufacture [`AutoScalingGroupProvider`](crate::model::AutoScalingGroupProvider) + pub fn builder() -> crate::model::auto_scaling_group_provider::Builder { + crate::model::auto_scaling_group_provider::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 ManagedTerminationProtection { + Disabled, + Enabled, + Unknown(String), +} +impl std::convert::From<&str> for ManagedTerminationProtection { + fn from(s: &str) -> Self { + match s { + "DISABLED" => ManagedTerminationProtection::Disabled, + "ENABLED" => ManagedTerminationProtection::Enabled, + other => ManagedTerminationProtection::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ManagedTerminationProtection { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ManagedTerminationProtection::from(s)) + } +} +impl ManagedTerminationProtection { + pub fn as_str(&self) -> &str { + match self { + ManagedTerminationProtection::Disabled => "DISABLED", + ManagedTerminationProtection::Enabled => "ENABLED", + ManagedTerminationProtection::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ManagedTerminationProtection { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ManagedTerminationProtection { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The managed scaling settings for the Auto Scaling group capacity provider.

      +///

      When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of +/// the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an +/// Amazon ECS-managed CloudWatch metric with the specified targetCapacity value as the +/// target value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

      +///

      If managed scaling is disabled, the user must manage the scaling of the Auto Scaling +/// group.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ManagedScaling { + ///

      Whether or not to enable managed scaling for the capacity provider.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The target capacity value for the capacity provider. The specified value must be + /// greater than 0 and less than or equal to 100. A value of + /// 100 will result in the Amazon EC2 instances in your Auto Scaling group being + /// completely utilized.

      + #[serde(rename = "targetCapacity")] + #[serde(default)] + pub target_capacity: std::option::Option, + ///

      The minimum number of container instances that Amazon ECS will scale in or scale out at one + /// time. If this parameter is omitted, the default value of 1 is used.

      + #[serde(rename = "minimumScalingStepSize")] + #[serde(default)] + pub minimum_scaling_step_size: std::option::Option, + ///

      The maximum number of container instances that Amazon ECS will scale in or scale out at one + /// time. If this parameter is omitted, the default value of 10000 is + /// used.

      + #[serde(rename = "maximumScalingStepSize")] + #[serde(default)] + pub maximum_scaling_step_size: std::option::Option, + ///

      The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute + /// to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value + /// of 300 seconds is used.

      + #[serde(rename = "instanceWarmupPeriod")] + #[serde(default)] + pub instance_warmup_period: std::option::Option, +} +impl std::fmt::Debug for ManagedScaling { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ManagedScaling"); + formatter.field("status", &self.status); + formatter.field("target_capacity", &self.target_capacity); + formatter.field("minimum_scaling_step_size", &self.minimum_scaling_step_size); + formatter.field("maximum_scaling_step_size", &self.maximum_scaling_step_size); + formatter.field("instance_warmup_period", &self.instance_warmup_period); + formatter.finish() + } +} +/// See [`ManagedScaling`](crate::model::ManagedScaling) +pub mod managed_scaling { + /// A builder for [`ManagedScaling`](crate::model::ManagedScaling) + #[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) target_capacity: std::option::Option, + pub(crate) minimum_scaling_step_size: std::option::Option, + pub(crate) maximum_scaling_step_size: std::option::Option, + pub(crate) instance_warmup_period: std::option::Option, + } + impl Builder { + ///

      Whether or not to enable managed scaling for the capacity provider.

      + pub fn status(mut self, inp: crate::model::ManagedScalingStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + ///

      The target capacity value for the capacity provider. The specified value must be + /// greater than 0 and less than or equal to 100. A value of + /// 100 will result in the Amazon EC2 instances in your Auto Scaling group being + /// completely utilized.

      + pub fn target_capacity(mut self, inp: i32) -> Self { + self.target_capacity = Some(inp); + self + } + pub fn set_target_capacity(mut self, inp: std::option::Option) -> Self { + self.target_capacity = inp; + self + } + ///

      The minimum number of container instances that Amazon ECS will scale in or scale out at one + /// time. If this parameter is omitted, the default value of 1 is used.

      + pub fn minimum_scaling_step_size(mut self, inp: i32) -> Self { + self.minimum_scaling_step_size = Some(inp); + self + } + pub fn set_minimum_scaling_step_size(mut self, inp: std::option::Option) -> Self { + self.minimum_scaling_step_size = inp; + self + } + ///

      The maximum number of container instances that Amazon ECS will scale in or scale out at one + /// time. If this parameter is omitted, the default value of 10000 is + /// used.

      + pub fn maximum_scaling_step_size(mut self, inp: i32) -> Self { + self.maximum_scaling_step_size = Some(inp); + self + } + pub fn set_maximum_scaling_step_size(mut self, inp: std::option::Option) -> Self { + self.maximum_scaling_step_size = inp; + self + } + ///

      The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute + /// to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value + /// of 300 seconds is used.

      + pub fn instance_warmup_period(mut self, inp: i32) -> Self { + self.instance_warmup_period = Some(inp); + self + } + pub fn set_instance_warmup_period(mut self, inp: std::option::Option) -> Self { + self.instance_warmup_period = inp; + self + } + /// Consumes the builder and constructs a [`ManagedScaling`](crate::model::ManagedScaling) + pub fn build(self) -> crate::model::ManagedScaling { + crate::model::ManagedScaling { + status: self.status, + target_capacity: self.target_capacity, + minimum_scaling_step_size: self.minimum_scaling_step_size, + maximum_scaling_step_size: self.maximum_scaling_step_size, + instance_warmup_period: self.instance_warmup_period, + } + } + } +} +impl ManagedScaling { + /// Creates a new builder-style object to manufacture [`ManagedScaling`](crate::model::ManagedScaling) + pub fn builder() -> crate::model::managed_scaling::Builder { + crate::model::managed_scaling::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 ManagedScalingStatus { + Disabled, + Enabled, + Unknown(String), +} +impl std::convert::From<&str> for ManagedScalingStatus { + fn from(s: &str) -> Self { + match s { + "DISABLED" => ManagedScalingStatus::Disabled, + "ENABLED" => ManagedScalingStatus::Enabled, + other => ManagedScalingStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ManagedScalingStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ManagedScalingStatus::from(s)) + } +} +impl ManagedScalingStatus { + pub fn as_str(&self) -> &str { + match self { + ManagedScalingStatus::Disabled => "DISABLED", + ManagedScalingStatus::Enabled => "ENABLED", + ManagedScalingStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ManagedScalingStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ManagedScalingStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 CapacityProviderStatus { + Active, + Inactive, + Unknown(String), +} +impl std::convert::From<&str> for CapacityProviderStatus { + fn from(s: &str) -> Self { + match s { + "ACTIVE" => CapacityProviderStatus::Active, + "INACTIVE" => CapacityProviderStatus::Inactive, + other => CapacityProviderStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for CapacityProviderStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(CapacityProviderStatus::from(s)) + } +} +impl CapacityProviderStatus { + pub fn as_str(&self) -> &str { + match self { + CapacityProviderStatus::Active => "ACTIVE", + CapacityProviderStatus::Inactive => "INACTIVE", + CapacityProviderStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for CapacityProviderStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for CapacityProviderStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The details of the Auto Scaling group capacity provider to update.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct AutoScalingGroupProviderUpdate { + ///

      The managed scaling settings for the Auto Scaling group capacity provider.

      + #[serde(rename = "managedScaling")] + #[serde(default)] + pub managed_scaling: std::option::Option, + ///

      The managed termination protection setting to use for the Auto Scaling group capacity + /// provider. This determines whether the Auto Scaling group has managed termination + /// protection.

      + /// + ///

      When using managed termination protection, managed scaling must also be used + /// otherwise managed termination protection will not work.

      + ///
      + ///

      When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in + /// an Auto Scaling group that contain tasks from being terminated during a scale-in action. + /// The Auto Scaling group and each instance in the Auto Scaling group must have instance + /// protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

      + ///

      When managed termination protection is disabled, your Amazon EC2 instances are not + /// protected from termination when the Auto Scaling group scales in.

      + #[serde(rename = "managedTerminationProtection")] + #[serde(default)] + pub managed_termination_protection: + std::option::Option, +} +impl std::fmt::Debug for AutoScalingGroupProviderUpdate { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AutoScalingGroupProviderUpdate"); + formatter.field("managed_scaling", &self.managed_scaling); + formatter.field( + "managed_termination_protection", + &self.managed_termination_protection, + ); + formatter.finish() + } +} +/// See [`AutoScalingGroupProviderUpdate`](crate::model::AutoScalingGroupProviderUpdate) +pub mod auto_scaling_group_provider_update { + /// A builder for [`AutoScalingGroupProviderUpdate`](crate::model::AutoScalingGroupProviderUpdate) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) managed_scaling: std::option::Option, + pub(crate) managed_termination_protection: + std::option::Option, + } + impl Builder { + ///

      The managed scaling settings for the Auto Scaling group capacity provider.

      + pub fn managed_scaling(mut self, inp: crate::model::ManagedScaling) -> Self { + self.managed_scaling = Some(inp); + self + } + pub fn set_managed_scaling( + mut self, + inp: std::option::Option, + ) -> Self { + self.managed_scaling = inp; + self + } + ///

      The managed termination protection setting to use for the Auto Scaling group capacity + /// provider. This determines whether the Auto Scaling group has managed termination + /// protection.

      + /// + ///

      When using managed termination protection, managed scaling must also be used + /// otherwise managed termination protection will not work.

      + ///
      + ///

      When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in + /// an Auto Scaling group that contain tasks from being terminated during a scale-in action. + /// The Auto Scaling group and each instance in the Auto Scaling group must have instance + /// protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

      + ///

      When managed termination protection is disabled, your Amazon EC2 instances are not + /// protected from termination when the Auto Scaling group scales in.

      + pub fn managed_termination_protection( + mut self, + inp: crate::model::ManagedTerminationProtection, + ) -> Self { + self.managed_termination_protection = Some(inp); + self + } + pub fn set_managed_termination_protection( + mut self, + inp: std::option::Option, + ) -> Self { + self.managed_termination_protection = inp; + self + } + /// Consumes the builder and constructs a [`AutoScalingGroupProviderUpdate`](crate::model::AutoScalingGroupProviderUpdate) + pub fn build(self) -> crate::model::AutoScalingGroupProviderUpdate { + crate::model::AutoScalingGroupProviderUpdate { + managed_scaling: self.managed_scaling, + managed_termination_protection: self.managed_termination_protection, + } + } + } +} +impl AutoScalingGroupProviderUpdate { + /// Creates a new builder-style object to manufacture [`AutoScalingGroupProviderUpdate`](crate::model::AutoScalingGroupProviderUpdate) + pub fn builder() -> crate::model::auto_scaling_group_provider_update::Builder { + crate::model::auto_scaling_group_provider_update::Builder::default() + } +} + +///

      An object representing a change in state for a managed agent.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ManagedAgentStateChange { + ///

      The name of the container associated with the managed agent.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      The name of the managed agent.

      + #[serde(rename = "managedAgentName")] + #[serde(default)] + pub managed_agent_name: std::option::Option, + ///

      The status of the managed agent.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The reason for the status of the managed agent.

      + #[serde(rename = "reason")] + #[serde(default)] + pub reason: std::option::Option, +} +impl std::fmt::Debug for ManagedAgentStateChange { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ManagedAgentStateChange"); + formatter.field("container_name", &self.container_name); + formatter.field("managed_agent_name", &self.managed_agent_name); + formatter.field("status", &self.status); + formatter.field("reason", &self.reason); + formatter.finish() + } +} +/// See [`ManagedAgentStateChange`](crate::model::ManagedAgentStateChange) +pub mod managed_agent_state_change { + /// A builder for [`ManagedAgentStateChange`](crate::model::ManagedAgentStateChange) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_name: std::option::Option, + pub(crate) managed_agent_name: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) reason: std::option::Option, + } + impl Builder { + ///

      The name of the container associated with the managed agent.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      The name of the managed agent.

      + pub fn managed_agent_name(mut self, inp: crate::model::ManagedAgentName) -> Self { + self.managed_agent_name = Some(inp); + self + } + pub fn set_managed_agent_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.managed_agent_name = inp; + self + } + ///

      The status of the managed agent.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + ///

      The reason for the status of the managed agent.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + /// Consumes the builder and constructs a [`ManagedAgentStateChange`](crate::model::ManagedAgentStateChange) + pub fn build(self) -> crate::model::ManagedAgentStateChange { + crate::model::ManagedAgentStateChange { + container_name: self.container_name, + managed_agent_name: self.managed_agent_name, + status: self.status, + reason: self.reason, + } + } + } +} +impl ManagedAgentStateChange { + /// Creates a new builder-style object to manufacture [`ManagedAgentStateChange`](crate::model::ManagedAgentStateChange) + pub fn builder() -> crate::model::managed_agent_state_change::Builder { + crate::model::managed_agent_state_change::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 ManagedAgentName { + ExecuteCommandAgent, + Unknown(String), +} +impl std::convert::From<&str> for ManagedAgentName { + fn from(s: &str) -> Self { + match s { + "ExecuteCommandAgent" => ManagedAgentName::ExecuteCommandAgent, + other => ManagedAgentName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ManagedAgentName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ManagedAgentName::from(s)) + } +} +impl ManagedAgentName { + pub fn as_str(&self) -> &str { + match self { + ManagedAgentName::ExecuteCommandAgent => "ExecuteCommandAgent", + ManagedAgentName::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ManagedAgentName { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ManagedAgentName { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      An object representing a change in state for a task attachment.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct AttachmentStateChange { + ///

      The Amazon Resource Name (ARN) of the attachment.

      + #[serde(rename = "attachmentArn")] + #[serde(default)] + pub attachment_arn: std::option::Option, + ///

      The status of the attachment.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, +} +impl std::fmt::Debug for AttachmentStateChange { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AttachmentStateChange"); + formatter.field("attachment_arn", &self.attachment_arn); + formatter.field("status", &self.status); + formatter.finish() + } +} +/// See [`AttachmentStateChange`](crate::model::AttachmentStateChange) +pub mod attachment_state_change { + /// A builder for [`AttachmentStateChange`](crate::model::AttachmentStateChange) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attachment_arn: std::option::Option, + pub(crate) status: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the attachment.

      + pub fn attachment_arn(mut self, inp: impl Into) -> Self { + self.attachment_arn = Some(inp.into()); + self + } + pub fn set_attachment_arn(mut self, inp: std::option::Option) -> Self { + self.attachment_arn = inp; + self + } + ///

      The status of the attachment.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + /// Consumes the builder and constructs a [`AttachmentStateChange`](crate::model::AttachmentStateChange) + pub fn build(self) -> crate::model::AttachmentStateChange { + crate::model::AttachmentStateChange { + attachment_arn: self.attachment_arn, + status: self.status, + } + } + } +} +impl AttachmentStateChange { + /// Creates a new builder-style object to manufacture [`AttachmentStateChange`](crate::model::AttachmentStateChange) + pub fn builder() -> crate::model::attachment_state_change::Builder { + crate::model::attachment_state_change::Builder::default() + } +} + +///

      An object representing a change in state for a container.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ContainerStateChange { + ///

      The name of the container.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      The container image SHA 256 digest.

      + #[serde(rename = "imageDigest")] + #[serde(default)] + pub image_digest: std::option::Option, + ///

      The ID of the Docker container.

      + #[serde(rename = "runtimeId")] + #[serde(default)] + pub runtime_id: std::option::Option, + ///

      The exit code for the container, if the state change is a result of the container + /// exiting.

      + #[serde(rename = "exitCode")] + #[serde(default)] + pub exit_code: std::option::Option, + ///

      Any network bindings associated with the container.

      + #[serde(rename = "networkBindings")] + #[serde(default)] + pub network_bindings: std::option::Option>, + ///

      The reason for the state change.

      + #[serde(rename = "reason")] + #[serde(default)] + pub reason: std::option::Option, + ///

      The status of the container.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, +} +impl std::fmt::Debug for ContainerStateChange { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ContainerStateChange"); + formatter.field("container_name", &self.container_name); + formatter.field("image_digest", &self.image_digest); + formatter.field("runtime_id", &self.runtime_id); + formatter.field("exit_code", &self.exit_code); + formatter.field("network_bindings", &self.network_bindings); + formatter.field("reason", &self.reason); + formatter.field("status", &self.status); + formatter.finish() + } +} +/// See [`ContainerStateChange`](crate::model::ContainerStateChange) +pub mod container_state_change { + /// A builder for [`ContainerStateChange`](crate::model::ContainerStateChange) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_name: std::option::Option, + pub(crate) image_digest: std::option::Option, + pub(crate) runtime_id: std::option::Option, + pub(crate) exit_code: std::option::Option, + pub(crate) network_bindings: + std::option::Option>, + pub(crate) reason: std::option::Option, + pub(crate) status: std::option::Option, + } + impl Builder { + ///

      The name of the container.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      The container image SHA 256 digest.

      + pub fn image_digest(mut self, inp: impl Into) -> Self { + self.image_digest = Some(inp.into()); + self + } + pub fn set_image_digest(mut self, inp: std::option::Option) -> Self { + self.image_digest = inp; + self + } + ///

      The ID of the Docker container.

      + pub fn runtime_id(mut self, inp: impl Into) -> Self { + self.runtime_id = Some(inp.into()); + self + } + pub fn set_runtime_id(mut self, inp: std::option::Option) -> Self { + self.runtime_id = inp; + self + } + ///

      The exit code for the container, if the state change is a result of the container + /// exiting.

      + pub fn exit_code(mut self, inp: i32) -> Self { + self.exit_code = Some(inp); + self + } + pub fn set_exit_code(mut self, inp: std::option::Option) -> Self { + self.exit_code = inp; + self + } + pub fn network_bindings(mut self, inp: impl Into) -> Self { + let mut v = self.network_bindings.unwrap_or_default(); + v.push(inp.into()); + self.network_bindings = Some(v); + self + } + pub fn set_network_bindings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.network_bindings = inp; + self + } + ///

      The reason for the state change.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + ///

      The status of the container.

      + pub fn status(mut self, inp: impl Into) -> Self { + self.status = Some(inp.into()); + self + } + pub fn set_status(mut self, inp: std::option::Option) -> Self { + self.status = inp; + self + } + /// Consumes the builder and constructs a [`ContainerStateChange`](crate::model::ContainerStateChange) + pub fn build(self) -> crate::model::ContainerStateChange { + crate::model::ContainerStateChange { + container_name: self.container_name, + image_digest: self.image_digest, + runtime_id: self.runtime_id, + exit_code: self.exit_code, + network_bindings: self.network_bindings, + reason: self.reason, + status: self.status, + } + } + } +} +impl ContainerStateChange { + /// Creates a new builder-style object to manufacture [`ContainerStateChange`](crate::model::ContainerStateChange) + pub fn builder() -> crate::model::container_state_change::Builder { + crate::model::container_state_change::Builder::default() + } +} + +///

      Details on the network bindings between a container and its host container instance. +/// After a task reaches the RUNNING status, manual and automatic host and +/// container port assignments are visible in the networkBindings section of +/// DescribeTasks API responses.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct NetworkBinding { + ///

      The IP address that the container is bound to on the container instance.

      + #[serde(rename = "bindIP")] + #[serde(default)] + pub bind_ip: std::option::Option, + ///

      The port number on the container that is used with the network binding.

      + #[serde(rename = "containerPort")] + #[serde(default)] + pub container_port: std::option::Option, + ///

      The port number on the host that is used with the network binding.

      + #[serde(rename = "hostPort")] + #[serde(default)] + pub host_port: std::option::Option, + ///

      The protocol used for the network binding.

      + #[serde(rename = "protocol")] + #[serde(default)] + pub protocol: std::option::Option, +} +impl std::fmt::Debug for NetworkBinding { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("NetworkBinding"); + formatter.field("bind_ip", &self.bind_ip); + formatter.field("container_port", &self.container_port); + formatter.field("host_port", &self.host_port); + formatter.field("protocol", &self.protocol); + formatter.finish() + } +} +/// See [`NetworkBinding`](crate::model::NetworkBinding) +pub mod network_binding { + /// A builder for [`NetworkBinding`](crate::model::NetworkBinding) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) bind_ip: std::option::Option, + pub(crate) container_port: std::option::Option, + pub(crate) host_port: std::option::Option, + pub(crate) protocol: std::option::Option, + } + impl Builder { + ///

      The IP address that the container is bound to on the container instance.

      + pub fn bind_ip(mut self, inp: impl Into) -> Self { + self.bind_ip = Some(inp.into()); + self + } + pub fn set_bind_ip(mut self, inp: std::option::Option) -> Self { + self.bind_ip = inp; + self + } + ///

      The port number on the container that is used with the network binding.

      + pub fn container_port(mut self, inp: i32) -> Self { + self.container_port = Some(inp); + self + } + pub fn set_container_port(mut self, inp: std::option::Option) -> Self { + self.container_port = inp; + self + } + ///

      The port number on the host that is used with the network binding.

      + pub fn host_port(mut self, inp: i32) -> Self { + self.host_port = Some(inp); + self + } + pub fn set_host_port(mut self, inp: std::option::Option) -> Self { + self.host_port = inp; + self + } + ///

      The protocol used for the network binding.

      + pub fn protocol(mut self, inp: crate::model::TransportProtocol) -> Self { + self.protocol = Some(inp); + self + } + pub fn set_protocol( + mut self, + inp: std::option::Option, + ) -> Self { + self.protocol = inp; + self + } + /// Consumes the builder and constructs a [`NetworkBinding`](crate::model::NetworkBinding) + pub fn build(self) -> crate::model::NetworkBinding { + crate::model::NetworkBinding { + bind_ip: self.bind_ip, + container_port: self.container_port, + host_port: self.host_port, + protocol: self.protocol, + } + } + } +} +impl NetworkBinding { + /// Creates a new builder-style object to manufacture [`NetworkBinding`](crate::model::NetworkBinding) + pub fn builder() -> crate::model::network_binding::Builder { + crate::model::network_binding::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 TransportProtocol { + Tcp, + Udp, + Unknown(String), +} +impl std::convert::From<&str> for TransportProtocol { + fn from(s: &str) -> Self { + match s { + "tcp" => TransportProtocol::Tcp, + "udp" => TransportProtocol::Udp, + other => TransportProtocol::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TransportProtocol { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TransportProtocol::from(s)) + } +} +impl TransportProtocol { + pub fn as_str(&self) -> &str { + match self { + TransportProtocol::Tcp => "tcp", + TransportProtocol::Udp => "udp", + TransportProtocol::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TransportProtocol { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TransportProtocol { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Details on a task in a cluster.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Task { + ///

      The Elastic Network Adapter associated with the task if the task uses the + /// awsvpc network mode.

      + #[serde(rename = "attachments")] + #[serde(default)] + pub attachments: std::option::Option>, + ///

      The attributes of the task

      + #[serde(rename = "attributes")] + #[serde(default)] + pub attributes: std::option::Option>, + ///

      The availability zone of the task.

      + #[serde(rename = "availabilityZone")] + #[serde(default)] + pub availability_zone: std::option::Option, + ///

      The capacity provider associated with the task.

      + #[serde(rename = "capacityProviderName")] + #[serde(default)] + pub capacity_provider_name: std::option::Option, + ///

      The ARN of the cluster that hosts the task.

      + #[serde(rename = "clusterArn")] + #[serde(default)] + pub cluster_arn: std::option::Option, + ///

      The connectivity status of a task.

      + #[serde(rename = "connectivity")] + #[serde(default)] + pub connectivity: std::option::Option, + ///

      The Unix timestamp for when the task last went into CONNECTED + /// status.

      + #[serde(rename = "connectivityAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub connectivity_at: std::option::Option, + ///

      The ARN of the container instances that host the task.

      + #[serde(rename = "containerInstanceArn")] + #[serde(default)] + pub container_instance_arn: std::option::Option, + ///

      The containers associated with the task.

      + #[serde(rename = "containers")] + #[serde(default)] + pub containers: std::option::Option>, + ///

      The number of CPU units used by the task as expressed in a task definition. It can be + /// expressed as an integer using CPU units, for example 1024. It can also be + /// expressed as a string using vCPUs, for example 1 vCPU or 1 + /// vcpu. String values are converted to an integer indicating the CPU units when + /// the task definition is registered.

      + ///

      If you are using the EC2 launch type, this field is optional. Supported + /// values are between 128 CPU units (0.125 vCPUs) and + /// 10240 CPU units (10 vCPUs).

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + #[serde(rename = "cpu")] + #[serde(default)] + pub cpu: std::option::Option, + ///

      The Unix timestamp for when the task was created (the task entered the + /// PENDING state).

      + #[serde(rename = "createdAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub created_at: std::option::Option, + ///

      The desired status of the task. For more information, see Task + /// Lifecycle.

      + #[serde(rename = "desiredStatus")] + #[serde(default)] + pub desired_status: std::option::Option, + ///

      Whether or not execute command functionality is enabled for this task. If + /// true, this enables execute command functionality on all containers in + /// the task.

      + #[serde(rename = "enableExecuteCommand")] + pub enable_execute_command: bool, + ///

      The Unix timestamp for when the task execution stopped.

      + #[serde(rename = "executionStoppedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub execution_stopped_at: std::option::Option, + ///

      The name of the task group associated with the task.

      + #[serde(rename = "group")] + #[serde(default)] + pub group: std::option::Option, + ///

      The health status for the task, which is determined by the health of the essential + /// containers in the task. If all essential containers in the task are reporting as + /// HEALTHY, then the task status also reports as HEALTHY. If + /// any essential containers in the task are reporting as UNHEALTHY or + /// UNKNOWN, then the task status also reports as UNHEALTHY or + /// UNKNOWN, accordingly.

      + /// + ///

      The Amazon ECS container agent does not monitor or report on Docker health checks that + /// are embedded in a container image (such as those specified in a parent image or from + /// the image's Dockerfile) and not specified in the container definition. Health check + /// parameters that are specified in a container definition override any Docker health + /// checks that exist in the container image.

      + ///
      + #[serde(rename = "healthStatus")] + #[serde(default)] + pub health_status: std::option::Option, + ///

      The Elastic Inference accelerator associated with the task.

      + #[serde(rename = "inferenceAccelerators")] + #[serde(default)] + pub inference_accelerators: + std::option::Option>, + ///

      The last known status of the task. For more information, see Task + /// Lifecycle.

      + #[serde(rename = "lastStatus")] + #[serde(default)] + pub last_status: std::option::Option, + ///

      The infrastructure on which your task is running. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "launchType")] + #[serde(default)] + pub launch_type: std::option::Option, + ///

      The amount of memory (in MiB) used by the task as expressed in a task definition. It + /// can be expressed as an integer using MiB, for example 1024. It can also be + /// expressed as a string using GB, for example 1GB or 1 GB. + /// String values are converted to an integer indicating the MiB when the task definition is + /// registered.

      + ///

      If you are using the EC2 launch type, this field is optional.

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + #[serde(rename = "memory")] + #[serde(default)] + pub memory: std::option::Option, + ///

      One or more container overrides.

      + #[serde(rename = "overrides")] + #[serde(default)] + pub overrides: std::option::Option, + ///

      The platform version on which your task is running. 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 AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "platformVersion")] + #[serde(default)] + pub platform_version: std::option::Option, + ///

      The Unix timestamp for when the container image pull began.

      + #[serde(rename = "pullStartedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub pull_started_at: std::option::Option, + ///

      The Unix timestamp for when the container image pull completed.

      + #[serde(rename = "pullStoppedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub pull_stopped_at: std::option::Option, + ///

      The Unix timestamp for when the task started (the task transitioned from the + /// PENDING state to the RUNNING state).

      + #[serde(rename = "startedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub started_at: std::option::Option, + ///

      The tag specified when a task is started. If the task is started by an Amazon ECS service, + /// then the startedBy parameter contains the deployment ID of the service that + /// starts it.

      + #[serde(rename = "startedBy")] + #[serde(default)] + pub started_by: std::option::Option, + ///

      The stop code indicating why a task was stopped. The stoppedReason may + /// contain additional details.

      + #[serde(rename = "stopCode")] + #[serde(default)] + pub stop_code: std::option::Option, + ///

      The Unix timestamp for when the task was stopped (the task transitioned from the + /// RUNNING state to the STOPPED state).

      + #[serde(rename = "stoppedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub stopped_at: std::option::Option, + ///

      The reason that the task was stopped.

      + #[serde(rename = "stoppedReason")] + #[serde(default)] + pub stopped_reason: std::option::Option, + ///

      The Unix timestamp for when the task stops (transitions from the RUNNING + /// state to STOPPED).

      + #[serde(rename = "stoppingAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub stopping_at: std::option::Option, + ///

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, + ///

      The Amazon Resource Name (ARN) of the task.

      + #[serde(rename = "taskArn")] + #[serde(default)] + pub task_arn: std::option::Option, + ///

      The ARN of the task definition that creates the task.

      + #[serde(rename = "taskDefinitionArn")] + #[serde(default)] + pub task_definition_arn: std::option::Option, + ///

      The version counter for the task. Every time a task experiences a change that triggers + /// a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task + /// state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API + /// actions with the version reported in CloudWatch Events for the task (inside the + /// detail object) to verify that the version in your event stream is + /// current.

      + #[serde(rename = "version")] + pub version: i64, + ///

      The ephemeral storage settings for the task.

      + #[serde(rename = "ephemeralStorage")] + #[serde(default)] + pub ephemeral_storage: std::option::Option, +} +impl std::fmt::Debug for Task { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Task"); + formatter.field("attachments", &self.attachments); + formatter.field("attributes", &self.attributes); + formatter.field("availability_zone", &self.availability_zone); + formatter.field("capacity_provider_name", &self.capacity_provider_name); + formatter.field("cluster_arn", &self.cluster_arn); + formatter.field("connectivity", &self.connectivity); + formatter.field("connectivity_at", &self.connectivity_at); + formatter.field("container_instance_arn", &self.container_instance_arn); + formatter.field("containers", &self.containers); + formatter.field("cpu", &self.cpu); + formatter.field("created_at", &self.created_at); + formatter.field("desired_status", &self.desired_status); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.field("execution_stopped_at", &self.execution_stopped_at); + formatter.field("group", &self.group); + formatter.field("health_status", &self.health_status); + formatter.field("inference_accelerators", &self.inference_accelerators); + formatter.field("last_status", &self.last_status); + formatter.field("launch_type", &self.launch_type); + formatter.field("memory", &self.memory); + formatter.field("overrides", &self.overrides); + formatter.field("platform_version", &self.platform_version); + formatter.field("pull_started_at", &self.pull_started_at); + formatter.field("pull_stopped_at", &self.pull_stopped_at); + formatter.field("started_at", &self.started_at); + formatter.field("started_by", &self.started_by); + formatter.field("stop_code", &self.stop_code); + formatter.field("stopped_at", &self.stopped_at); + formatter.field("stopped_reason", &self.stopped_reason); + formatter.field("stopping_at", &self.stopping_at); + formatter.field("tags", &self.tags); + formatter.field("task_arn", &self.task_arn); + formatter.field("task_definition_arn", &self.task_definition_arn); + formatter.field("version", &self.version); + formatter.field("ephemeral_storage", &self.ephemeral_storage); + formatter.finish() + } +} +/// See [`Task`](crate::model::Task) +pub mod task { + /// A builder for [`Task`](crate::model::Task) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attachments: std::option::Option>, + pub(crate) attributes: std::option::Option>, + pub(crate) availability_zone: std::option::Option, + pub(crate) capacity_provider_name: std::option::Option, + pub(crate) cluster_arn: std::option::Option, + pub(crate) connectivity: std::option::Option, + pub(crate) connectivity_at: std::option::Option, + pub(crate) container_instance_arn: std::option::Option, + pub(crate) containers: std::option::Option>, + pub(crate) cpu: std::option::Option, + pub(crate) created_at: std::option::Option, + pub(crate) desired_status: std::option::Option, + pub(crate) enable_execute_command: std::option::Option, + pub(crate) execution_stopped_at: std::option::Option, + pub(crate) group: std::option::Option, + pub(crate) health_status: std::option::Option, + pub(crate) inference_accelerators: + std::option::Option>, + pub(crate) last_status: std::option::Option, + pub(crate) launch_type: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) overrides: std::option::Option, + pub(crate) platform_version: std::option::Option, + pub(crate) pull_started_at: std::option::Option, + pub(crate) pull_stopped_at: std::option::Option, + pub(crate) started_at: std::option::Option, + pub(crate) started_by: std::option::Option, + pub(crate) stop_code: std::option::Option, + pub(crate) stopped_at: std::option::Option, + pub(crate) stopped_reason: std::option::Option, + pub(crate) stopping_at: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) task_arn: std::option::Option, + pub(crate) task_definition_arn: std::option::Option, + pub(crate) version: std::option::Option, + pub(crate) ephemeral_storage: std::option::Option, + } + impl Builder { + pub fn attachments(mut self, inp: impl Into) -> Self { + let mut v = self.attachments.unwrap_or_default(); + v.push(inp.into()); + self.attachments = Some(v); + self + } + pub fn set_attachments( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attachments = inp; + self + } + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + ///

      The availability zone of the task.

      + pub fn availability_zone(mut self, inp: impl Into) -> Self { + self.availability_zone = Some(inp.into()); + self + } + pub fn set_availability_zone( + mut self, + inp: std::option::Option, + ) -> Self { + self.availability_zone = inp; + self + } + ///

      The capacity provider associated with the task.

      + pub fn capacity_provider_name(mut self, inp: impl Into) -> Self { + self.capacity_provider_name = Some(inp.into()); + self + } + pub fn set_capacity_provider_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider_name = inp; + self + } + ///

      The ARN of the cluster that hosts the task.

      + pub fn cluster_arn(mut self, inp: impl Into) -> Self { + self.cluster_arn = Some(inp.into()); + self + } + pub fn set_cluster_arn(mut self, inp: std::option::Option) -> Self { + self.cluster_arn = inp; + self + } + ///

      The connectivity status of a task.

      + pub fn connectivity(mut self, inp: crate::model::Connectivity) -> Self { + self.connectivity = Some(inp); + self + } + pub fn set_connectivity( + mut self, + inp: std::option::Option, + ) -> Self { + self.connectivity = inp; + self + } + ///

      The Unix timestamp for when the task last went into CONNECTED + /// status.

      + pub fn connectivity_at(mut self, inp: smithy_types::Instant) -> Self { + self.connectivity_at = Some(inp); + self + } + pub fn set_connectivity_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.connectivity_at = inp; + self + } + ///

      The ARN of the container instances that host the task.

      + pub fn container_instance_arn(mut self, inp: impl Into) -> Self { + self.container_instance_arn = Some(inp.into()); + self + } + pub fn set_container_instance_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance_arn = inp; + self + } + pub fn containers(mut self, inp: impl Into) -> Self { + let mut v = self.containers.unwrap_or_default(); + v.push(inp.into()); + self.containers = Some(v); + self + } + pub fn set_containers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.containers = inp; + self + } + ///

      The number of CPU units used by the task as expressed in a task definition. It can be + /// expressed as an integer using CPU units, for example 1024. It can also be + /// expressed as a string using vCPUs, for example 1 vCPU or 1 + /// vcpu. String values are converted to an integer indicating the CPU units when + /// the task definition is registered.

      + ///

      If you are using the EC2 launch type, this field is optional. Supported + /// values are between 128 CPU units (0.125 vCPUs) and + /// 10240 CPU units (10 vCPUs).

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + pub fn cpu(mut self, inp: impl Into) -> Self { + self.cpu = Some(inp.into()); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.cpu = inp; + self + } + ///

      The Unix timestamp for when the task was created (the task entered the + /// PENDING state).

      + pub fn created_at(mut self, inp: smithy_types::Instant) -> Self { + self.created_at = Some(inp); + self + } + pub fn set_created_at(mut self, inp: std::option::Option) -> Self { + self.created_at = inp; + self + } + ///

      The desired status of the task. For more information, see Task + /// Lifecycle.

      + pub fn desired_status(mut self, inp: impl Into) -> Self { + self.desired_status = Some(inp.into()); + self + } + pub fn set_desired_status(mut self, inp: std::option::Option) -> Self { + self.desired_status = inp; + self + } + ///

      Whether or not execute command functionality is enabled for this task. If + /// true, this enables execute command functionality on all containers in + /// the task.

      + pub fn enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + pub fn set_enable_execute_command(mut self, inp: bool) -> Self { + self.enable_execute_command = Some(inp); + self + } + ///

      The Unix timestamp for when the task execution stopped.

      + pub fn execution_stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.execution_stopped_at = Some(inp); + self + } + pub fn set_execution_stopped_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.execution_stopped_at = inp; + self + } + ///

      The name of the task group associated with the task.

      + pub fn group(mut self, inp: impl Into) -> Self { + self.group = Some(inp.into()); + self + } + pub fn set_group(mut self, inp: std::option::Option) -> Self { + self.group = inp; + self + } + ///

      The health status for the task, which is determined by the health of the essential + /// containers in the task. If all essential containers in the task are reporting as + /// HEALTHY, then the task status also reports as HEALTHY. If + /// any essential containers in the task are reporting as UNHEALTHY or + /// UNKNOWN, then the task status also reports as UNHEALTHY or + /// UNKNOWN, accordingly.

      + /// + ///

      The Amazon ECS container agent does not monitor or report on Docker health checks that + /// are embedded in a container image (such as those specified in a parent image or from + /// the image's Dockerfile) and not specified in the container definition. Health check + /// parameters that are specified in a container definition override any Docker health + /// checks that exist in the container image.

      + ///
      + pub fn health_status(mut self, inp: crate::model::HealthStatus) -> Self { + self.health_status = Some(inp); + self + } + pub fn set_health_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.health_status = inp; + self + } + pub fn inference_accelerators( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.inference_accelerators.unwrap_or_default(); + v.push(inp.into()); + self.inference_accelerators = Some(v); + self + } + pub fn set_inference_accelerators( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inference_accelerators = inp; + self + } + ///

      The last known status of the task. For more information, see Task + /// Lifecycle.

      + pub fn last_status(mut self, inp: impl Into) -> Self { + self.last_status = Some(inp.into()); + self + } + pub fn set_last_status(mut self, inp: std::option::Option) -> Self { + self.last_status = inp; + self + } + ///

      The infrastructure on which your task is running. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + pub fn launch_type(mut self, inp: crate::model::LaunchType) -> Self { + self.launch_type = Some(inp); + self + } + pub fn set_launch_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.launch_type = inp; + self + } + ///

      The amount of memory (in MiB) used by the task as expressed in a task definition. It + /// can be expressed as an integer using MiB, for example 1024. It can also be + /// expressed as a string using GB, for example 1GB or 1 GB. + /// String values are converted to an integer indicating the MiB when the task definition is + /// registered.

      + ///

      If you are using the EC2 launch type, this field is optional.

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + pub fn memory(mut self, inp: impl Into) -> Self { + self.memory = Some(inp.into()); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + ///

      One or more container overrides.

      + pub fn overrides(mut self, inp: crate::model::TaskOverride) -> Self { + self.overrides = Some(inp); + self + } + pub fn set_overrides( + mut self, + inp: std::option::Option, + ) -> Self { + self.overrides = inp; + self + } + ///

      The platform version on which your task is running. 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 AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub fn platform_version(mut self, inp: impl Into) -> Self { + self.platform_version = Some(inp.into()); + self + } + pub fn set_platform_version( + mut self, + inp: std::option::Option, + ) -> Self { + self.platform_version = inp; + self + } + ///

      The Unix timestamp for when the container image pull began.

      + pub fn pull_started_at(mut self, inp: smithy_types::Instant) -> Self { + self.pull_started_at = Some(inp); + self + } + pub fn set_pull_started_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.pull_started_at = inp; + self + } + ///

      The Unix timestamp for when the container image pull completed.

      + pub fn pull_stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.pull_stopped_at = Some(inp); + self + } + pub fn set_pull_stopped_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.pull_stopped_at = inp; + self + } + ///

      The Unix timestamp for when the task started (the task transitioned from the + /// PENDING state to the RUNNING state).

      + pub fn started_at(mut self, inp: smithy_types::Instant) -> Self { + self.started_at = Some(inp); + self + } + pub fn set_started_at(mut self, inp: std::option::Option) -> Self { + self.started_at = inp; + self + } + ///

      The tag specified when a task is started. If the task is started by an Amazon ECS service, + /// then the startedBy parameter contains the deployment ID of the service that + /// starts it.

      + pub fn started_by(mut self, inp: impl Into) -> Self { + self.started_by = Some(inp.into()); + self + } + pub fn set_started_by(mut self, inp: std::option::Option) -> Self { + self.started_by = inp; + self + } + ///

      The stop code indicating why a task was stopped. The stoppedReason may + /// contain additional details.

      + pub fn stop_code(mut self, inp: crate::model::TaskStopCode) -> Self { + self.stop_code = Some(inp); + self + } + pub fn set_stop_code( + mut self, + inp: std::option::Option, + ) -> Self { + self.stop_code = inp; + self + } + ///

      The Unix timestamp for when the task was stopped (the task transitioned from the + /// RUNNING state to the STOPPED state).

      + pub fn stopped_at(mut self, inp: smithy_types::Instant) -> Self { + self.stopped_at = Some(inp); + self + } + pub fn set_stopped_at(mut self, inp: std::option::Option) -> Self { + self.stopped_at = inp; + self + } + ///

      The reason that the task was stopped.

      + pub fn stopped_reason(mut self, inp: impl Into) -> Self { + self.stopped_reason = Some(inp.into()); + self + } + pub fn set_stopped_reason(mut self, inp: std::option::Option) -> Self { + self.stopped_reason = inp; + self + } + ///

      The Unix timestamp for when the task stops (transitions from the RUNNING + /// state to STOPPED).

      + pub fn stopping_at(mut self, inp: smithy_types::Instant) -> Self { + self.stopping_at = Some(inp); + self + } + pub fn set_stopping_at(mut self, inp: std::option::Option) -> Self { + self.stopping_at = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the task.

      + pub fn task_arn(mut self, inp: impl Into) -> Self { + self.task_arn = Some(inp.into()); + self + } + pub fn set_task_arn(mut self, inp: std::option::Option) -> Self { + self.task_arn = inp; + self + } + ///

      The ARN of the task definition that creates the task.

      + pub fn task_definition_arn(mut self, inp: impl Into) -> Self { + self.task_definition_arn = Some(inp.into()); + self + } + pub fn set_task_definition_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition_arn = inp; + self + } + ///

      The version counter for the task. Every time a task experiences a change that triggers + /// a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task + /// state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API + /// actions with the version reported in CloudWatch Events for the task (inside the + /// detail object) to verify that the version in your event stream is + /// current.

      + pub fn version(mut self, inp: i64) -> Self { + self.version = Some(inp); + self + } + pub fn set_version(mut self, inp: i64) -> Self { + self.version = Some(inp); + self + } + ///

      The ephemeral storage settings for the task.

      + pub fn ephemeral_storage(mut self, inp: crate::model::EphemeralStorage) -> Self { + self.ephemeral_storage = Some(inp); + self + } + pub fn set_ephemeral_storage( + mut self, + inp: std::option::Option, + ) -> Self { + self.ephemeral_storage = inp; + self + } + /// Consumes the builder and constructs a [`Task`](crate::model::Task) + pub fn build(self) -> crate::model::Task { + crate::model::Task { + attachments: self.attachments, + attributes: self.attributes, + availability_zone: self.availability_zone, + capacity_provider_name: self.capacity_provider_name, + cluster_arn: self.cluster_arn, + connectivity: self.connectivity, + connectivity_at: self.connectivity_at, + container_instance_arn: self.container_instance_arn, + containers: self.containers, + cpu: self.cpu, + created_at: self.created_at, + desired_status: self.desired_status, + enable_execute_command: self.enable_execute_command.unwrap_or_default(), + execution_stopped_at: self.execution_stopped_at, + group: self.group, + health_status: self.health_status, + inference_accelerators: self.inference_accelerators, + last_status: self.last_status, + launch_type: self.launch_type, + memory: self.memory, + overrides: self.overrides, + platform_version: self.platform_version, + pull_started_at: self.pull_started_at, + pull_stopped_at: self.pull_stopped_at, + started_at: self.started_at, + started_by: self.started_by, + stop_code: self.stop_code, + stopped_at: self.stopped_at, + stopped_reason: self.stopped_reason, + stopping_at: self.stopping_at, + tags: self.tags, + task_arn: self.task_arn, + task_definition_arn: self.task_definition_arn, + version: self.version.unwrap_or_default(), + ephemeral_storage: self.ephemeral_storage, + } + } + } +} +impl Task { + /// Creates a new builder-style object to manufacture [`Task`](crate::model::Task) + pub fn builder() -> crate::model::task::Builder { + crate::model::task::Builder::default() + } +} + +///

      The amount of ephemeral storage to allocate for the task. This parameter is used to +/// expand the total amount of ephemeral storage available, beyond the default amount, for +/// tasks hosted on AWS Fargate. For more information, see Fargate task +/// storage in the Amazon ECS User Guide for AWS Fargate.

      +/// +///

      This parameter is only supported for tasks hosted on AWS Fargate using platform +/// version 1.4.0 or later.

      +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct EphemeralStorage { + ///

      The total amount, in GiB, of ephemeral storage to set for the task. The minimum + /// supported value is 21 GiB and the maximum supported value is + /// 200 GiB.

      + #[serde(rename = "sizeInGiB")] + pub size_in_gi_b: i32, +} +impl std::fmt::Debug for EphemeralStorage { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("EphemeralStorage"); + formatter.field("size_in_gi_b", &self.size_in_gi_b); + formatter.finish() + } +} +/// See [`EphemeralStorage`](crate::model::EphemeralStorage) +pub mod ephemeral_storage { + /// A builder for [`EphemeralStorage`](crate::model::EphemeralStorage) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) size_in_gi_b: std::option::Option, + } + impl Builder { + ///

      The total amount, in GiB, of ephemeral storage to set for the task. The minimum + /// supported value is 21 GiB and the maximum supported value is + /// 200 GiB.

      + pub fn size_in_gi_b(mut self, inp: i32) -> Self { + self.size_in_gi_b = Some(inp); + self + } + pub fn set_size_in_gi_b(mut self, inp: i32) -> Self { + self.size_in_gi_b = Some(inp); + self + } + /// Consumes the builder and constructs a [`EphemeralStorage`](crate::model::EphemeralStorage) + pub fn build(self) -> crate::model::EphemeralStorage { + crate::model::EphemeralStorage { + size_in_gi_b: self.size_in_gi_b.unwrap_or_default(), + } + } + } +} +impl EphemeralStorage { + /// Creates a new builder-style object to manufacture [`EphemeralStorage`](crate::model::EphemeralStorage) + pub fn builder() -> crate::model::ephemeral_storage::Builder { + crate::model::ephemeral_storage::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 TaskStopCode { + EssentialContainerExited, + TaskFailedToStart, + UserInitiated, + Unknown(String), +} +impl std::convert::From<&str> for TaskStopCode { + fn from(s: &str) -> Self { + match s { + "EssentialContainerExited" => TaskStopCode::EssentialContainerExited, + "TaskFailedToStart" => TaskStopCode::TaskFailedToStart, + "UserInitiated" => TaskStopCode::UserInitiated, + other => TaskStopCode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskStopCode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskStopCode::from(s)) + } +} +impl TaskStopCode { + pub fn as_str(&self) -> &str { + match self { + TaskStopCode::EssentialContainerExited => "EssentialContainerExited", + TaskStopCode::TaskFailedToStart => "TaskFailedToStart", + TaskStopCode::UserInitiated => "UserInitiated", + TaskStopCode::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskStopCode { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskStopCode { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The overrides associated with a task.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TaskOverride { + ///

      One or more container overrides sent to a task.

      + #[serde(rename = "containerOverrides")] + #[serde(default)] + pub container_overrides: std::option::Option>, + ///

      The cpu override for the task.

      + #[serde(rename = "cpu")] + #[serde(default)] + pub cpu: std::option::Option, + ///

      The Elastic Inference accelerator override for the task.

      + #[serde(rename = "inferenceAcceleratorOverrides")] + #[serde(default)] + pub inference_accelerator_overrides: + std::option::Option>, + ///

      The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

      + #[serde(rename = "executionRoleArn")] + #[serde(default)] + pub execution_role_arn: std::option::Option, + ///

      The memory override for the task.

      + #[serde(rename = "memory")] + #[serde(default)] + pub memory: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers + /// in this task are granted the permissions that are specified in this role.

      + #[serde(rename = "taskRoleArn")] + #[serde(default)] + pub task_role_arn: std::option::Option, + ///

      The ephemeral storage setting override for the task.

      + /// + ///

      This parameter is only supported for tasks hosted on AWS Fargate using platform + /// version 1.4.0 or later.

      + ///
      + #[serde(rename = "ephemeralStorage")] + #[serde(default)] + pub ephemeral_storage: std::option::Option, +} +impl std::fmt::Debug for TaskOverride { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TaskOverride"); + formatter.field("container_overrides", &self.container_overrides); + formatter.field("cpu", &self.cpu); + formatter.field( + "inference_accelerator_overrides", + &self.inference_accelerator_overrides, + ); + formatter.field("execution_role_arn", &self.execution_role_arn); + formatter.field("memory", &self.memory); + formatter.field("task_role_arn", &self.task_role_arn); + formatter.field("ephemeral_storage", &self.ephemeral_storage); + formatter.finish() + } +} +/// See [`TaskOverride`](crate::model::TaskOverride) +pub mod task_override { + /// A builder for [`TaskOverride`](crate::model::TaskOverride) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_overrides: + std::option::Option>, + pub(crate) cpu: std::option::Option, + pub(crate) inference_accelerator_overrides: + std::option::Option>, + pub(crate) execution_role_arn: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) task_role_arn: std::option::Option, + pub(crate) ephemeral_storage: std::option::Option, + } + impl Builder { + pub fn container_overrides( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.container_overrides.unwrap_or_default(); + v.push(inp.into()); + self.container_overrides = Some(v); + self + } + pub fn set_container_overrides( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_overrides = inp; + self + } + ///

      The cpu override for the task.

      + pub fn cpu(mut self, inp: impl Into) -> Self { + self.cpu = Some(inp.into()); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.cpu = inp; + self + } + pub fn inference_accelerator_overrides( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.inference_accelerator_overrides.unwrap_or_default(); + v.push(inp.into()); + self.inference_accelerator_overrides = Some(v); + self + } + pub fn set_inference_accelerator_overrides( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inference_accelerator_overrides = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

      + pub fn execution_role_arn(mut self, inp: impl Into) -> Self { + self.execution_role_arn = Some(inp.into()); + self + } + pub fn set_execution_role_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.execution_role_arn = inp; + self + } + ///

      The memory override for the task.

      + pub fn memory(mut self, inp: impl Into) -> Self { + self.memory = Some(inp.into()); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers + /// in this task are granted the permissions that are specified in this role.

      + pub fn task_role_arn(mut self, inp: impl Into) -> Self { + self.task_role_arn = Some(inp.into()); + self + } + pub fn set_task_role_arn(mut self, inp: std::option::Option) -> Self { + self.task_role_arn = inp; + self + } + ///

      The ephemeral storage setting override for the task.

      + /// + ///

      This parameter is only supported for tasks hosted on AWS Fargate using platform + /// version 1.4.0 or later.

      + ///
      + pub fn ephemeral_storage(mut self, inp: crate::model::EphemeralStorage) -> Self { + self.ephemeral_storage = Some(inp); + self + } + pub fn set_ephemeral_storage( + mut self, + inp: std::option::Option, + ) -> Self { + self.ephemeral_storage = inp; + self + } + /// Consumes the builder and constructs a [`TaskOverride`](crate::model::TaskOverride) + pub fn build(self) -> crate::model::TaskOverride { + crate::model::TaskOverride { + container_overrides: self.container_overrides, + cpu: self.cpu, + inference_accelerator_overrides: self.inference_accelerator_overrides, + execution_role_arn: self.execution_role_arn, + memory: self.memory, + task_role_arn: self.task_role_arn, + ephemeral_storage: self.ephemeral_storage, + } + } + } +} +impl TaskOverride { + /// Creates a new builder-style object to manufacture [`TaskOverride`](crate::model::TaskOverride) + pub fn builder() -> crate::model::task_override::Builder { + crate::model::task_override::Builder::default() + } +} + +///

      Details on an Elastic Inference accelerator task override. This parameter is used to +/// override the Elastic Inference accelerator specified in the task definition. For more +/// information, see Working with Amazon Elastic Inference on Amazon ECS in the +/// Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct InferenceAcceleratorOverride { + ///

      The Elastic Inference accelerator device name to override for the task. This parameter + /// must match a deviceName specified in the task definition.

      + #[serde(rename = "deviceName")] + #[serde(default)] + pub device_name: std::option::Option, + ///

      The Elastic Inference accelerator type to use.

      + #[serde(rename = "deviceType")] + #[serde(default)] + pub device_type: std::option::Option, +} +impl std::fmt::Debug for InferenceAcceleratorOverride { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InferenceAcceleratorOverride"); + formatter.field("device_name", &self.device_name); + formatter.field("device_type", &self.device_type); + formatter.finish() + } +} +/// See [`InferenceAcceleratorOverride`](crate::model::InferenceAcceleratorOverride) +pub mod inference_accelerator_override { + /// A builder for [`InferenceAcceleratorOverride`](crate::model::InferenceAcceleratorOverride) + #[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) device_type: std::option::Option, + } + impl Builder { + ///

      The Elastic Inference accelerator device name to override for the task. This parameter + /// must match a deviceName specified in the task definition.

      + pub fn device_name(mut self, inp: impl Into) -> Self { + self.device_name = Some(inp.into()); + self + } + pub fn set_device_name(mut self, inp: std::option::Option) -> Self { + self.device_name = inp; + self + } + ///

      The Elastic Inference accelerator type to use.

      + pub fn device_type(mut self, inp: impl Into) -> Self { + self.device_type = Some(inp.into()); + self + } + pub fn set_device_type(mut self, inp: std::option::Option) -> Self { + self.device_type = inp; + self + } + /// Consumes the builder and constructs a [`InferenceAcceleratorOverride`](crate::model::InferenceAcceleratorOverride) + pub fn build(self) -> crate::model::InferenceAcceleratorOverride { + crate::model::InferenceAcceleratorOverride { + device_name: self.device_name, + device_type: self.device_type, + } + } + } +} +impl InferenceAcceleratorOverride { + /// Creates a new builder-style object to manufacture [`InferenceAcceleratorOverride`](crate::model::InferenceAcceleratorOverride) + pub fn builder() -> crate::model::inference_accelerator_override::Builder { + crate::model::inference_accelerator_override::Builder::default() + } +} + +///

      The overrides that should be sent to a container. An empty container override can be +/// passed in. An example of an empty container override would be +/// {"containerOverrides": [ ] }. If a non-empty container override is +/// specified, the name parameter must be included.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ContainerOverride { + ///

      The name of the container that receives the override. This parameter is required if + /// any override is specified.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The command to send to the container that overrides the default command from the + /// Docker image or the task definition. You must also specify a container name.

      + #[serde(rename = "command")] + #[serde(default)] + pub command: std::option::Option>, + ///

      The environment variables to send to the container. You can add new environment + /// variables, which are added to the container at launch, or you can override the existing + /// environment variables from the Docker image or the task definition. You must also + /// specify a container name.

      + #[serde(rename = "environment")] + #[serde(default)] + pub environment: std::option::Option>, + ///

      A list of files containing the environment variables to pass to a container, instead + /// of the value from the container definition.

      + #[serde(rename = "environmentFiles")] + #[serde(default)] + pub environment_files: std::option::Option>, + ///

      The number of cpu units reserved for the container, instead of the + /// default value from the task definition. You must also specify a container name.

      + #[serde(rename = "cpu")] + #[serde(default)] + pub cpu: std::option::Option, + ///

      The hard limit (in MiB) of memory to present to the container, instead of the default + /// value from the task definition. If your container attempts to exceed the memory + /// specified here, the container is killed. You must also specify a container name.

      + #[serde(rename = "memory")] + #[serde(default)] + pub memory: std::option::Option, + ///

      The soft limit (in MiB) of memory to reserve for the container, instead of the default + /// value from the task definition. You must also specify a container name.

      + #[serde(rename = "memoryReservation")] + #[serde(default)] + pub memory_reservation: std::option::Option, + ///

      The type and amount of a resource to assign to a container, instead of the default + /// value from the task definition. The only supported resource is a GPU.

      + #[serde(rename = "resourceRequirements")] + #[serde(default)] + pub resource_requirements: + std::option::Option>, +} +impl std::fmt::Debug for ContainerOverride { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ContainerOverride"); + formatter.field("name", &self.name); + formatter.field("command", &self.command); + formatter.field("environment", &self.environment); + formatter.field("environment_files", &self.environment_files); + formatter.field("cpu", &self.cpu); + formatter.field("memory", &self.memory); + formatter.field("memory_reservation", &self.memory_reservation); + formatter.field("resource_requirements", &self.resource_requirements); + formatter.finish() + } +} +/// See [`ContainerOverride`](crate::model::ContainerOverride) +pub mod container_override { + /// A builder for [`ContainerOverride`](crate::model::ContainerOverride) + #[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) command: std::option::Option>, + pub(crate) environment: std::option::Option>, + pub(crate) environment_files: + std::option::Option>, + pub(crate) cpu: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) memory_reservation: std::option::Option, + pub(crate) resource_requirements: + std::option::Option>, + } + impl Builder { + ///

      The name of the container that receives the override. This parameter is required if + /// any override is specified.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + pub fn command(mut self, inp: impl Into) -> Self { + let mut v = self.command.unwrap_or_default(); + v.push(inp.into()); + self.command = Some(v); + self + } + pub fn set_command( + mut self, + inp: std::option::Option>, + ) -> Self { + self.command = inp; + self + } + pub fn environment(mut self, inp: impl Into) -> Self { + let mut v = self.environment.unwrap_or_default(); + v.push(inp.into()); + self.environment = Some(v); + self + } + pub fn set_environment( + mut self, + inp: std::option::Option>, + ) -> Self { + self.environment = inp; + self + } + pub fn environment_files(mut self, inp: impl Into) -> Self { + let mut v = self.environment_files.unwrap_or_default(); + v.push(inp.into()); + self.environment_files = Some(v); + self + } + pub fn set_environment_files( + mut self, + inp: std::option::Option>, + ) -> Self { + self.environment_files = inp; + self + } + ///

      The number of cpu units reserved for the container, instead of the + /// default value from the task definition. You must also specify a container name.

      + pub fn cpu(mut self, inp: i32) -> Self { + self.cpu = Some(inp); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.cpu = inp; + self + } + ///

      The hard limit (in MiB) of memory to present to the container, instead of the default + /// value from the task definition. If your container attempts to exceed the memory + /// specified here, the container is killed. You must also specify a container name.

      + pub fn memory(mut self, inp: i32) -> Self { + self.memory = Some(inp); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + ///

      The soft limit (in MiB) of memory to reserve for the container, instead of the default + /// value from the task definition. You must also specify a container name.

      + pub fn memory_reservation(mut self, inp: i32) -> Self { + self.memory_reservation = Some(inp); + self + } + pub fn set_memory_reservation(mut self, inp: std::option::Option) -> Self { + self.memory_reservation = inp; + self + } + pub fn resource_requirements( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.resource_requirements.unwrap_or_default(); + v.push(inp.into()); + self.resource_requirements = Some(v); + self + } + pub fn set_resource_requirements( + mut self, + inp: std::option::Option>, + ) -> Self { + self.resource_requirements = inp; + self + } + /// Consumes the builder and constructs a [`ContainerOverride`](crate::model::ContainerOverride) + pub fn build(self) -> crate::model::ContainerOverride { + crate::model::ContainerOverride { + name: self.name, + command: self.command, + environment: self.environment, + environment_files: self.environment_files, + cpu: self.cpu, + memory: self.memory, + memory_reservation: self.memory_reservation, + resource_requirements: self.resource_requirements, + } + } + } +} +impl ContainerOverride { + /// Creates a new builder-style object to manufacture [`ContainerOverride`](crate::model::ContainerOverride) + pub fn builder() -> crate::model::container_override::Builder { + crate::model::container_override::Builder::default() + } +} + +///

      The type and amount of a resource to assign to a container. The supported resource +/// types are GPUs and Elastic Inference accelerators. For more information, see Working with +/// GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the +/// Amazon Elastic Container Service Developer Guide +///

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceRequirement { + ///

      The value for the specified resource type.

      + ///

      If the GPU type is used, the value is the number of physical + /// GPUs the Amazon ECS container agent will reserve for the container. The + /// number of GPUs reserved for all containers in a task should not exceed the number of + /// available GPUs on the container instance the task is launched on.

      + ///

      If the InferenceAccelerator type is used, the value should + /// match the deviceName for an InferenceAccelerator + /// specified in a task definition.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, + ///

      The type of resource to assign to a container. The supported values are + /// GPU or InferenceAccelerator.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, +} +impl std::fmt::Debug for ResourceRequirement { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceRequirement"); + formatter.field("value", &self.value); + formatter.field("r#type", &self.r#type); + formatter.finish() + } +} +/// See [`ResourceRequirement`](crate::model::ResourceRequirement) +pub mod resource_requirement { + /// A builder for [`ResourceRequirement`](crate::model::ResourceRequirement) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) value: std::option::Option, + pub(crate) r#type: std::option::Option, + } + impl Builder { + ///

      The value for the specified resource type.

      + ///

      If the GPU type is used, the value is the number of physical + /// GPUs the Amazon ECS container agent will reserve for the container. The + /// number of GPUs reserved for all containers in a task should not exceed the number of + /// available GPUs on the container instance the task is launched on.

      + ///

      If the InferenceAccelerator type is used, the value should + /// match the deviceName for an InferenceAccelerator + /// specified in a task definition.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + ///

      The type of resource to assign to a container. The supported values are + /// GPU or InferenceAccelerator.

      + pub fn r#type(mut self, inp: crate::model::ResourceType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type(mut self, inp: std::option::Option) -> Self { + self.r#type = inp; + self + } + /// Consumes the builder and constructs a [`ResourceRequirement`](crate::model::ResourceRequirement) + pub fn build(self) -> crate::model::ResourceRequirement { + crate::model::ResourceRequirement { + value: self.value, + r#type: self.r#type, + } + } + } +} +impl ResourceRequirement { + /// Creates a new builder-style object to manufacture [`ResourceRequirement`](crate::model::ResourceRequirement) + pub fn builder() -> crate::model::resource_requirement::Builder { + crate::model::resource_requirement::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 ResourceType { + Gpu, + InferenceAccelerator, + Unknown(String), +} +impl std::convert::From<&str> for ResourceType { + fn from(s: &str) -> Self { + match s { + "GPU" => ResourceType::Gpu, + "InferenceAccelerator" => ResourceType::InferenceAccelerator, + other => ResourceType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ResourceType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ResourceType::from(s)) + } +} +impl ResourceType { + pub fn as_str(&self) -> &str { + match self { + ResourceType::Gpu => "GPU", + ResourceType::InferenceAccelerator => "InferenceAccelerator", + ResourceType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ResourceType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ResourceType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      A list of files containing the environment variables to pass to a container. You can +/// specify up to ten environment files. The file must have a .env file +/// extension. Each line in an environment file should contain an environment variable in +/// VARIABLE=VALUE format. Lines beginning with # are treated +/// as comments and are ignored. For more information on the environment variable file +/// syntax, see Declare default +/// environment variables in file.

      +///

      If there are environment variables specified using the environment +/// parameter in a container definition, they take precedence over the variables contained +/// within an environment file. If multiple environment files are specified that contain the +/// same variable, they are processed from the top down. It is recommended to use unique +/// variable names. For more information, see Specifying environment +/// variables in the Amazon Elastic Container Service Developer Guide.

      +///

      This field is only valid for containers in Fargate tasks that use +/// platform version 1.4.0 or later.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct EnvironmentFile { + ///

      The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment + /// variable file.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, + ///

      The file type to use. The only supported value is s3.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, +} +impl std::fmt::Debug for EnvironmentFile { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("EnvironmentFile"); + formatter.field("value", &self.value); + formatter.field("r#type", &self.r#type); + formatter.finish() + } +} +/// See [`EnvironmentFile`](crate::model::EnvironmentFile) +pub mod environment_file { + /// A builder for [`EnvironmentFile`](crate::model::EnvironmentFile) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) value: std::option::Option, + pub(crate) r#type: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment + /// variable file.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + ///

      The file type to use. The only supported value is s3.

      + pub fn r#type(mut self, inp: crate::model::EnvironmentFileType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + /// Consumes the builder and constructs a [`EnvironmentFile`](crate::model::EnvironmentFile) + pub fn build(self) -> crate::model::EnvironmentFile { + crate::model::EnvironmentFile { + value: self.value, + r#type: self.r#type, + } + } + } +} +impl EnvironmentFile { + /// Creates a new builder-style object to manufacture [`EnvironmentFile`](crate::model::EnvironmentFile) + pub fn builder() -> crate::model::environment_file::Builder { + crate::model::environment_file::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 EnvironmentFileType { + S3, + Unknown(String), +} +impl std::convert::From<&str> for EnvironmentFileType { + fn from(s: &str) -> Self { + match s { + "s3" => EnvironmentFileType::S3, + other => EnvironmentFileType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for EnvironmentFileType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(EnvironmentFileType::from(s)) + } +} +impl EnvironmentFileType { + pub fn as_str(&self) -> &str { + match self { + EnvironmentFileType::S3 => "s3", + EnvironmentFileType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for EnvironmentFileType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for EnvironmentFileType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Details on a Elastic Inference accelerator. For more information, see Working with +/// Amazon Elastic Inference on Amazon ECS in the +/// Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct InferenceAccelerator { + ///

      The Elastic Inference accelerator device name. The deviceName must also + /// be referenced in a container definition as a ResourceRequirement.

      + #[serde(rename = "deviceName")] + #[serde(default)] + pub device_name: std::option::Option, + ///

      The Elastic Inference accelerator type to use.

      + #[serde(rename = "deviceType")] + #[serde(default)] + pub device_type: std::option::Option, +} +impl std::fmt::Debug for InferenceAccelerator { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InferenceAccelerator"); + formatter.field("device_name", &self.device_name); + formatter.field("device_type", &self.device_type); + formatter.finish() + } +} +/// See [`InferenceAccelerator`](crate::model::InferenceAccelerator) +pub mod inference_accelerator { + /// A builder for [`InferenceAccelerator`](crate::model::InferenceAccelerator) + #[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) device_type: std::option::Option, + } + impl Builder { + ///

      The Elastic Inference accelerator device name. The deviceName must also + /// be referenced in a container definition as a ResourceRequirement.

      + pub fn device_name(mut self, inp: impl Into) -> Self { + self.device_name = Some(inp.into()); + self + } + pub fn set_device_name(mut self, inp: std::option::Option) -> Self { + self.device_name = inp; + self + } + ///

      The Elastic Inference accelerator type to use.

      + pub fn device_type(mut self, inp: impl Into) -> Self { + self.device_type = Some(inp.into()); + self + } + pub fn set_device_type(mut self, inp: std::option::Option) -> Self { + self.device_type = inp; + self + } + /// Consumes the builder and constructs a [`InferenceAccelerator`](crate::model::InferenceAccelerator) + pub fn build(self) -> crate::model::InferenceAccelerator { + crate::model::InferenceAccelerator { + device_name: self.device_name, + device_type: self.device_type, + } + } + } +} +impl InferenceAccelerator { + /// Creates a new builder-style object to manufacture [`InferenceAccelerator`](crate::model::InferenceAccelerator) + pub fn builder() -> crate::model::inference_accelerator::Builder { + crate::model::inference_accelerator::Builder::default() + } +} + +/// **NOTE:** `HealthStatus::Unknown` has been renamed to `::UnknownValue`. `HealthStatus::Unknown` refers to additional values that may have been added since this enum was generated. +#[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 HealthStatus { + Healthy, + Unhealthy, + /// **NOTE:** `::Unknown` has been renamed to `::UnknownValue`. `::Unknown` refers to additional values that may have been added since this enum was generated. + UnknownValue, + Unknown(String), +} +impl std::convert::From<&str> for HealthStatus { + fn from(s: &str) -> Self { + match s { + "HEALTHY" => HealthStatus::Healthy, + "UNHEALTHY" => HealthStatus::Unhealthy, + "UNKNOWN" => HealthStatus::UnknownValue, + other => HealthStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for HealthStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(HealthStatus::from(s)) + } +} +impl HealthStatus { + pub fn as_str(&self) -> &str { + match self { + HealthStatus::Healthy => "HEALTHY", + HealthStatus::Unhealthy => "UNHEALTHY", + HealthStatus::UnknownValue => "UNKNOWN", + HealthStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for HealthStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for HealthStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      A Docker container that is part of a task.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Container { + ///

      The Amazon Resource Name (ARN) of the container.

      + #[serde(rename = "containerArn")] + #[serde(default)] + pub container_arn: std::option::Option, + ///

      The ARN of the task.

      + #[serde(rename = "taskArn")] + #[serde(default)] + pub task_arn: std::option::Option, + ///

      The name of the container.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The image used for the container.

      + #[serde(rename = "image")] + #[serde(default)] + pub image: std::option::Option, + ///

      The container image manifest digest.

      + /// + ///

      The imageDigest is only returned if the container is using an image + /// hosted in Amazon ECR, otherwise it is omitted.

      + ///
      + #[serde(rename = "imageDigest")] + #[serde(default)] + pub image_digest: std::option::Option, + ///

      The ID of the Docker container.

      + #[serde(rename = "runtimeId")] + #[serde(default)] + pub runtime_id: std::option::Option, + ///

      The last known status of the container.

      + #[serde(rename = "lastStatus")] + #[serde(default)] + pub last_status: std::option::Option, + ///

      The exit code returned from the container.

      + #[serde(rename = "exitCode")] + #[serde(default)] + pub exit_code: std::option::Option, + ///

      A short (255 max characters) human-readable string to provide additional details about + /// a running or stopped container.

      + #[serde(rename = "reason")] + #[serde(default)] + pub reason: std::option::Option, + ///

      The network bindings associated with the container.

      + #[serde(rename = "networkBindings")] + #[serde(default)] + pub network_bindings: std::option::Option>, + ///

      The network interfaces associated with the container.

      + #[serde(rename = "networkInterfaces")] + #[serde(default)] + pub network_interfaces: std::option::Option>, + ///

      The health status of the container. If health checks are not configured for this + /// container in its task definition, then it reports the health status as + /// UNKNOWN.

      + #[serde(rename = "healthStatus")] + #[serde(default)] + pub health_status: std::option::Option, + ///

      The details of any Amazon ECS managed agents associated with the container.

      + #[serde(rename = "managedAgents")] + #[serde(default)] + pub managed_agents: std::option::Option>, + ///

      The number of CPU units set for the container. The value will be 0 if no + /// value was specified in the container definition when the task definition was + /// registered.

      + #[serde(rename = "cpu")] + #[serde(default)] + pub cpu: std::option::Option, + ///

      The hard limit (in MiB) of memory set for the container.

      + #[serde(rename = "memory")] + #[serde(default)] + pub memory: std::option::Option, + ///

      The soft limit (in MiB) of memory set for the container.

      + #[serde(rename = "memoryReservation")] + #[serde(default)] + pub memory_reservation: std::option::Option, + ///

      The IDs of each GPU assigned to the container.

      + #[serde(rename = "gpuIds")] + #[serde(default)] + pub gpu_ids: std::option::Option>, +} +impl std::fmt::Debug for Container { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Container"); + formatter.field("container_arn", &self.container_arn); + formatter.field("task_arn", &self.task_arn); + formatter.field("name", &self.name); + formatter.field("image", &self.image); + formatter.field("image_digest", &self.image_digest); + formatter.field("runtime_id", &self.runtime_id); + formatter.field("last_status", &self.last_status); + formatter.field("exit_code", &self.exit_code); + formatter.field("reason", &self.reason); + formatter.field("network_bindings", &self.network_bindings); + formatter.field("network_interfaces", &self.network_interfaces); + formatter.field("health_status", &self.health_status); + formatter.field("managed_agents", &self.managed_agents); + formatter.field("cpu", &self.cpu); + formatter.field("memory", &self.memory); + formatter.field("memory_reservation", &self.memory_reservation); + formatter.field("gpu_ids", &self.gpu_ids); + formatter.finish() + } +} +/// See [`Container`](crate::model::Container) +pub mod container { + /// A builder for [`Container`](crate::model::Container) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_arn: std::option::Option, + pub(crate) task_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) image: std::option::Option, + pub(crate) image_digest: std::option::Option, + pub(crate) runtime_id: std::option::Option, + pub(crate) last_status: std::option::Option, + pub(crate) exit_code: std::option::Option, + pub(crate) reason: std::option::Option, + pub(crate) network_bindings: + std::option::Option>, + pub(crate) network_interfaces: + std::option::Option>, + pub(crate) health_status: std::option::Option, + pub(crate) managed_agents: std::option::Option>, + pub(crate) cpu: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) memory_reservation: std::option::Option, + pub(crate) gpu_ids: std::option::Option>, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the container.

      + pub fn container_arn(mut self, inp: impl Into) -> Self { + self.container_arn = Some(inp.into()); + self + } + pub fn set_container_arn(mut self, inp: std::option::Option) -> Self { + self.container_arn = inp; + self + } + ///

      The ARN of the task.

      + pub fn task_arn(mut self, inp: impl Into) -> Self { + self.task_arn = Some(inp.into()); + self + } + pub fn set_task_arn(mut self, inp: std::option::Option) -> Self { + self.task_arn = inp; + self + } + ///

      The name of the container.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The image used for the container.

      + pub fn image(mut self, inp: impl Into) -> Self { + self.image = Some(inp.into()); + self + } + pub fn set_image(mut self, inp: std::option::Option) -> Self { + self.image = inp; + self + } + ///

      The container image manifest digest.

      + /// + ///

      The imageDigest is only returned if the container is using an image + /// hosted in Amazon ECR, otherwise it is omitted.

      + ///
      + pub fn image_digest(mut self, inp: impl Into) -> Self { + self.image_digest = Some(inp.into()); + self + } + pub fn set_image_digest(mut self, inp: std::option::Option) -> Self { + self.image_digest = inp; + self + } + ///

      The ID of the Docker container.

      + pub fn runtime_id(mut self, inp: impl Into) -> Self { + self.runtime_id = Some(inp.into()); + self + } + pub fn set_runtime_id(mut self, inp: std::option::Option) -> Self { + self.runtime_id = inp; + self + } + ///

      The last known status of the container.

      + pub fn last_status(mut self, inp: impl Into) -> Self { + self.last_status = Some(inp.into()); + self + } + pub fn set_last_status(mut self, inp: std::option::Option) -> Self { + self.last_status = inp; + self + } + ///

      The exit code returned from the container.

      + pub fn exit_code(mut self, inp: i32) -> Self { + self.exit_code = Some(inp); + self + } + pub fn set_exit_code(mut self, inp: std::option::Option) -> Self { + self.exit_code = inp; + self + } + ///

      A short (255 max characters) human-readable string to provide additional details about + /// a running or stopped container.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + pub fn network_bindings(mut self, inp: impl Into) -> Self { + let mut v = self.network_bindings.unwrap_or_default(); + v.push(inp.into()); + self.network_bindings = Some(v); + self + } + pub fn set_network_bindings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.network_bindings = inp; + self + } + pub fn network_interfaces( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.network_interfaces.unwrap_or_default(); + v.push(inp.into()); + self.network_interfaces = Some(v); + self + } + pub fn set_network_interfaces( + mut self, + inp: std::option::Option>, + ) -> Self { + self.network_interfaces = inp; + self + } + ///

      The health status of the container. If health checks are not configured for this + /// container in its task definition, then it reports the health status as + /// UNKNOWN.

      + pub fn health_status(mut self, inp: crate::model::HealthStatus) -> Self { + self.health_status = Some(inp); + self + } + pub fn set_health_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.health_status = inp; + self + } + pub fn managed_agents(mut self, inp: impl Into) -> Self { + let mut v = self.managed_agents.unwrap_or_default(); + v.push(inp.into()); + self.managed_agents = Some(v); + self + } + pub fn set_managed_agents( + mut self, + inp: std::option::Option>, + ) -> Self { + self.managed_agents = inp; + self + } + ///

      The number of CPU units set for the container. The value will be 0 if no + /// value was specified in the container definition when the task definition was + /// registered.

      + pub fn cpu(mut self, inp: impl Into) -> Self { + self.cpu = Some(inp.into()); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.cpu = inp; + self + } + ///

      The hard limit (in MiB) of memory set for the container.

      + pub fn memory(mut self, inp: impl Into) -> Self { + self.memory = Some(inp.into()); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + ///

      The soft limit (in MiB) of memory set for the container.

      + pub fn memory_reservation(mut self, inp: impl Into) -> Self { + self.memory_reservation = Some(inp.into()); + self + } + pub fn set_memory_reservation( + mut self, + inp: std::option::Option, + ) -> Self { + self.memory_reservation = inp; + self + } + pub fn gpu_ids(mut self, inp: impl Into) -> Self { + let mut v = self.gpu_ids.unwrap_or_default(); + v.push(inp.into()); + self.gpu_ids = Some(v); + self + } + pub fn set_gpu_ids( + mut self, + inp: std::option::Option>, + ) -> Self { + self.gpu_ids = inp; + self + } + /// Consumes the builder and constructs a [`Container`](crate::model::Container) + pub fn build(self) -> crate::model::Container { + crate::model::Container { + container_arn: self.container_arn, + task_arn: self.task_arn, + name: self.name, + image: self.image, + image_digest: self.image_digest, + runtime_id: self.runtime_id, + last_status: self.last_status, + exit_code: self.exit_code, + reason: self.reason, + network_bindings: self.network_bindings, + network_interfaces: self.network_interfaces, + health_status: self.health_status, + managed_agents: self.managed_agents, + cpu: self.cpu, + memory: self.memory, + memory_reservation: self.memory_reservation, + gpu_ids: self.gpu_ids, + } + } + } +} +impl Container { + /// Creates a new builder-style object to manufacture [`Container`](crate::model::Container) + pub fn builder() -> crate::model::container::Builder { + crate::model::container::Builder::default() + } +} + +///

      Details about the managed agent status for the container.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ManagedAgent { + ///

      The Unix timestamp for when the managed agent was last started.

      + #[serde(rename = "lastStartedAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub last_started_at: std::option::Option, + ///

      The name of the managed agent. When the execute command feature is enabled, the + /// managed agent name is ExecuteCommandAgent.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The reason for why the managed agent is in the state it is in.

      + #[serde(rename = "reason")] + #[serde(default)] + pub reason: std::option::Option, + ///

      The last known status of the managed agent.

      + #[serde(rename = "lastStatus")] + #[serde(default)] + pub last_status: std::option::Option, +} +impl std::fmt::Debug for ManagedAgent { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ManagedAgent"); + formatter.field("last_started_at", &self.last_started_at); + formatter.field("name", &self.name); + formatter.field("reason", &self.reason); + formatter.field("last_status", &self.last_status); + formatter.finish() + } +} +/// See [`ManagedAgent`](crate::model::ManagedAgent) +pub mod managed_agent { + /// A builder for [`ManagedAgent`](crate::model::ManagedAgent) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) last_started_at: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) reason: std::option::Option, + pub(crate) last_status: std::option::Option, + } + impl Builder { + ///

      The Unix timestamp for when the managed agent was last started.

      + pub fn last_started_at(mut self, inp: smithy_types::Instant) -> Self { + self.last_started_at = Some(inp); + self + } + pub fn set_last_started_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.last_started_at = inp; + self + } + ///

      The name of the managed agent. When the execute command feature is enabled, the + /// managed agent name is ExecuteCommandAgent.

      + pub fn name(mut self, inp: crate::model::ManagedAgentName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name( + mut self, + inp: std::option::Option, + ) -> Self { + self.name = inp; + self + } + ///

      The reason for why the managed agent is in the state it is in.

      + pub fn reason(mut self, inp: impl Into) -> Self { + self.reason = Some(inp.into()); + self + } + pub fn set_reason(mut self, inp: std::option::Option) -> Self { + self.reason = inp; + self + } + ///

      The last known status of the managed agent.

      + pub fn last_status(mut self, inp: impl Into) -> Self { + self.last_status = Some(inp.into()); + self + } + pub fn set_last_status(mut self, inp: std::option::Option) -> Self { + self.last_status = inp; + self + } + /// Consumes the builder and constructs a [`ManagedAgent`](crate::model::ManagedAgent) + pub fn build(self) -> crate::model::ManagedAgent { + crate::model::ManagedAgent { + last_started_at: self.last_started_at, + name: self.name, + reason: self.reason, + last_status: self.last_status, + } + } + } +} +impl ManagedAgent { + /// Creates a new builder-style object to manufacture [`ManagedAgent`](crate::model::ManagedAgent) + pub fn builder() -> crate::model::managed_agent::Builder { + crate::model::managed_agent::Builder::default() + } +} + +///

      An object representing the elastic network interface for tasks that use the +/// awsvpc network mode.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct NetworkInterface { + ///

      The attachment ID for the network interface.

      + #[serde(rename = "attachmentId")] + #[serde(default)] + pub attachment_id: std::option::Option, + ///

      The private IPv4 address for the network interface.

      + #[serde(rename = "privateIpv4Address")] + #[serde(default)] + pub private_ipv4_address: std::option::Option, + ///

      The private IPv6 address for the network interface.

      + #[serde(rename = "ipv6Address")] + #[serde(default)] + pub ipv6_address: std::option::Option, +} +impl std::fmt::Debug for NetworkInterface { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("NetworkInterface"); + formatter.field("attachment_id", &self.attachment_id); + formatter.field("private_ipv4_address", &self.private_ipv4_address); + formatter.field("ipv6_address", &self.ipv6_address); + formatter.finish() + } +} +/// See [`NetworkInterface`](crate::model::NetworkInterface) +pub mod network_interface { + /// A builder for [`NetworkInterface`](crate::model::NetworkInterface) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attachment_id: std::option::Option, + pub(crate) private_ipv4_address: std::option::Option, + pub(crate) ipv6_address: std::option::Option, + } + impl Builder { + ///

      The attachment ID for the network interface.

      + pub fn attachment_id(mut self, inp: impl Into) -> Self { + self.attachment_id = Some(inp.into()); + self + } + pub fn set_attachment_id(mut self, inp: std::option::Option) -> Self { + self.attachment_id = inp; + self + } + ///

      The private IPv4 address for the network interface.

      + pub fn private_ipv4_address(mut self, inp: impl Into) -> Self { + self.private_ipv4_address = Some(inp.into()); + self + } + pub fn set_private_ipv4_address( + mut self, + inp: std::option::Option, + ) -> Self { + self.private_ipv4_address = inp; + self + } + ///

      The private IPv6 address for the network interface.

      + pub fn ipv6_address(mut self, inp: impl Into) -> Self { + self.ipv6_address = Some(inp.into()); + self + } + pub fn set_ipv6_address(mut self, inp: std::option::Option) -> Self { + self.ipv6_address = inp; + self + } + /// Consumes the builder and constructs a [`NetworkInterface`](crate::model::NetworkInterface) + pub fn build(self) -> crate::model::NetworkInterface { + crate::model::NetworkInterface { + attachment_id: self.attachment_id, + private_ipv4_address: self.private_ipv4_address, + ipv6_address: self.ipv6_address, + } + } + } +} +impl NetworkInterface { + /// Creates a new builder-style object to manufacture [`NetworkInterface`](crate::model::NetworkInterface) + pub fn builder() -> crate::model::network_interface::Builder { + crate::model::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 Connectivity { + Connected, + Disconnected, + Unknown(String), +} +impl std::convert::From<&str> for Connectivity { + fn from(s: &str) -> Self { + match s { + "CONNECTED" => Connectivity::Connected, + "DISCONNECTED" => Connectivity::Disconnected, + other => Connectivity::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for Connectivity { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(Connectivity::from(s)) + } +} +impl Connectivity { + pub fn as_str(&self) -> &str { + match self { + Connectivity::Connected => "CONNECTED", + Connectivity::Disconnected => "DISCONNECTED", + Connectivity::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for Connectivity { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for Connectivity { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The details of a task definition which describes the container and volume definitions +/// of an Amazon Elastic Container Service task. You can specify which Docker images to use, the required +/// resources, and other configurations related to launching the task definition through an +/// Amazon ECS service or task.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TaskDefinition { + ///

      The full Amazon Resource Name (ARN) of the task definition.

      + #[serde(rename = "taskDefinitionArn")] + #[serde(default)] + pub task_definition_arn: std::option::Option, + ///

      A list of container definitions in JSON format that describe the different containers + /// that make up your task. For more information about container definition parameters and + /// defaults, see Amazon ECS Task + /// Definitions in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "containerDefinitions")] + #[serde(default)] + pub container_definitions: + std::option::Option>, + ///

      The name of a family that this task definition is registered to. Up to 255 letters + /// (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

      + ///

      A family groups multiple versions of a task definition. Amazon ECS gives the first task + /// definition that you registered to a family a revision number of 1. Amazon ECS gives + /// sequential revision numbers to each task definition that you add.

      + #[serde(rename = "family")] + #[serde(default)] + pub family: std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the + /// task permission to call AWS APIs on your behalf. For more information, see Amazon ECS + /// Task Role in the Amazon Elastic Container Service Developer Guide.

      + ///

      IAM roles for tasks on Windows require that the -EnableTaskIAMRole option + /// is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some + /// configuration code in order to take advantage of the feature. For more information, see + /// Windows IAM roles + /// for tasks in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "taskRoleArn")] + #[serde(default)] + pub task_role_arn: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + /// permission to make AWS API calls on your behalf. The task execution IAM role is required + /// depending on the requirements of your task. For more information, see Amazon ECS task + /// execution IAM role in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "executionRoleArn")] + #[serde(default)] + pub execution_role_arn: std::option::Option, + ///

      The Docker networking mode to use for the containers in the task. The valid values are + /// none, bridge, awsvpc, and host. + /// If no network mode is specified, the default is bridge.

      + ///

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + /// For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + /// mode is set to none, you cannot specify port mappings in your container + /// definitions, and the tasks containers do not have external connectivity. The + /// host and awsvpc network modes offer the highest networking + /// performance for containers because they use the EC2 network stack instead of the + /// virtualized network stack provided by the bridge mode.

      + ///

      With the host and awsvpc network modes, exposed container + /// ports are mapped directly to the corresponding host port (for the host + /// network mode) or the attached elastic network interface port (for the + /// awsvpc network mode), so you cannot take advantage of dynamic host port + /// mappings.

      + /// + ///

      When using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice + /// to use a non-root user.

      + ///
      + ///

      If the network mode is awsvpc, the task is allocated an elastic network + /// interface, and you must specify a NetworkConfiguration value when you create + /// a service or run a task with the task definition. For more information, see Task Networking in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + /// ecs-init package, or AWS Fargate infrastructure support the + /// awsvpc network mode.

      + ///
      + ///

      If the network mode is host, you cannot run multiple instantiations of the + /// same task on a single container instance when port mappings are used.

      + ///

      Docker for Windows uses different network modes than Docker for Linux. When you + /// register a task definition with Windows containers, you must not specify a network mode. + /// If you use the console to register a task definition with Windows containers, you must + /// choose the network mode object.

      + ///

      For more information, see Network + /// settings in the Docker run reference.

      + #[serde(rename = "networkMode")] + #[serde(default)] + pub network_mode: std::option::Option, + ///

      The revision of the task in a particular family. The revision is a version number of a + /// task definition in a family. When you register a task definition for the first time, the + /// revision is 1. Each time that you register a new revision of a task + /// definition in the same family, the revision value always increases by one, even if you + /// have deregistered previous revisions in this family.

      + #[serde(rename = "revision")] + pub revision: i32, + ///

      The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      The host and sourcePath parameters are not supported for + /// tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "volumes")] + #[serde(default)] + pub volumes: std::option::Option>, + ///

      The status of the task definition.

      + #[serde(rename = "status")] + #[serde(default)] + pub status: std::option::Option, + ///

      The container instance attributes required by your task. When an Amazon EC2 instance is + /// registered to your cluster, the Amazon ECS container agent assigns some standard attributes + /// to the instance. You can apply custom attributes, specified as key-value pairs using the + /// Amazon ECS console or the PutAttributes API. These attributes are used when + /// considering task placement for tasks hosted on Amazon EC2 instances. For more information, + /// see Attributes in the Amazon Elastic Container Service Developer Guide.

      + /// + ///

      This parameter is not supported for tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "requiresAttributes")] + #[serde(default)] + pub requires_attributes: std::option::Option>, + ///

      An array of placement constraint objects to use for tasks.

      + /// + ///

      This parameter is not supported for tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "placementConstraints")] + #[serde(default)] + pub placement_constraints: + std::option::Option>, + ///

      The task launch types the task definition validated against during task definition + /// registration. For more information, see Amazon ECS launch types + /// in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "compatibilities")] + #[serde(default)] + pub compatibilities: std::option::Option>, + ///

      The task launch types the task definition was validated against. To determine which + /// task launch types the task definition is validated for, see the TaskDefinition$compatibilities parameter.

      + #[serde(rename = "requiresCompatibilities")] + #[serde(default)] + pub requires_compatibilities: std::option::Option>, + ///

      The number of cpu units used by the task. If you are using the EC2 launch + /// type, this field is optional and any value can be used. If you are using the Fargate + /// launch type, this field is required and you must use one of the following values, which + /// determines your range of valid values for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + #[serde(rename = "cpu")] + #[serde(default)] + pub cpu: std::option::Option, + ///

      The amount (in MiB) of memory used by the task.

      + ///

      If your tasks will be run on Amazon EC2 instances, you must specify either a task-level + /// memory value or a container-level memory value. This field is optional and any value can + /// be used. If a task-level memory value is specified then the container-level memory value + /// is optional. For more information regarding container-level memory and memory + /// reservation, see ContainerDefinition.

      + ///

      If your tasks will be run on AWS Fargate, this field is required and you must use one of + /// the following values, which determines your range of valid values for the + /// cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + #[serde(rename = "memory")] + #[serde(default)] + pub memory: std::option::Option, + ///

      The Elastic Inference accelerator associated with the task.

      + #[serde(rename = "inferenceAccelerators")] + #[serde(default)] + pub inference_accelerators: + std::option::Option>, + ///

      The process namespace to use for the containers in the task. The valid + /// values are host or task. If host + /// is specified, then all containers within the tasks that specified the + /// host PID mode on the same container instance share the + /// same process namespace with the host Amazon EC2 instance. If task is + /// specified, all containers within the specified task share the same + /// process namespace. If no value is specified, the default is a private + /// namespace. For more information, see PID settings in the Docker run + /// reference.

      + ///

      If the host PID mode is used, be aware that there is a + /// heightened risk of undesired process namespace expose. For more + /// information, see Docker + /// security.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "pidMode")] + #[serde(default)] + pub pid_mode: std::option::Option, + ///

      The IPC resource namespace to use for the containers in the task. The valid values are + /// host, task, or none. If host is + /// specified, then all containers within the tasks that specified the host IPC + /// mode on the same container instance share the same IPC resources with the host Amazon EC2 + /// instance. If task is specified, all containers within the specified task + /// share the same IPC resources. If none is specified, then IPC resources + /// within the containers of a task are private and not shared with other containers in a + /// task or on the container instance. If no value is specified, then the IPC resource + /// namespace sharing depends on the Docker daemon setting on the container instance. For + /// more information, see IPC + /// settings in the Docker run reference.

      + ///

      If the host IPC mode is used, be aware that there is a heightened risk of + /// undesired IPC namespace expose. For more information, see Docker + /// security.

      + ///

      If you are setting namespaced kernel parameters using systemControls for + /// the containers in the task, the following will apply to your IPC resource namespace. For + /// more information, see System + /// Controls in the Amazon Elastic Container Service Developer Guide.

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

        For tasks that use the host IPC mode, IPC namespace related + /// systemControls are not supported.

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

        For tasks that use the task IPC mode, IPC namespace related + /// systemControls will apply to all containers within a + /// task.

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

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "ipcMode")] + #[serde(default)] + pub ipc_mode: std::option::Option, + ///

      The configuration details for the App Mesh proxy.

      + ///

      Your Amazon ECS container instances require at least version 1.26.0 of the container agent + /// and at least version 1.26.0-1 of the ecs-init package to enable a proxy + /// configuration. If your container instances are launched from the Amazon ECS-optimized AMI + /// version 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "proxyConfiguration")] + #[serde(default)] + pub proxy_configuration: std::option::Option, + ///

      The Unix timestamp for when the task definition was registered.

      + #[serde(rename = "registeredAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub registered_at: std::option::Option, + ///

      The Unix timestamp for when the task definition was deregistered.

      + #[serde(rename = "deregisteredAt")] + #[serde( + deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" + )] + #[serde(default)] + pub deregistered_at: std::option::Option, + ///

      The principal that registered the task definition.

      + #[serde(rename = "registeredBy")] + #[serde(default)] + pub registered_by: std::option::Option, + ///

      The ephemeral storage settings to use for tasks run with the task definition.

      + #[serde(rename = "ephemeralStorage")] + #[serde(default)] + pub ephemeral_storage: std::option::Option, +} +impl std::fmt::Debug for TaskDefinition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TaskDefinition"); + formatter.field("task_definition_arn", &self.task_definition_arn); + formatter.field("container_definitions", &self.container_definitions); + formatter.field("family", &self.family); + formatter.field("task_role_arn", &self.task_role_arn); + formatter.field("execution_role_arn", &self.execution_role_arn); + formatter.field("network_mode", &self.network_mode); + formatter.field("revision", &self.revision); + formatter.field("volumes", &self.volumes); + formatter.field("status", &self.status); + formatter.field("requires_attributes", &self.requires_attributes); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("compatibilities", &self.compatibilities); + formatter.field("requires_compatibilities", &self.requires_compatibilities); + formatter.field("cpu", &self.cpu); + formatter.field("memory", &self.memory); + formatter.field("inference_accelerators", &self.inference_accelerators); + formatter.field("pid_mode", &self.pid_mode); + formatter.field("ipc_mode", &self.ipc_mode); + formatter.field("proxy_configuration", &self.proxy_configuration); + formatter.field("registered_at", &self.registered_at); + formatter.field("deregistered_at", &self.deregistered_at); + formatter.field("registered_by", &self.registered_by); + formatter.field("ephemeral_storage", &self.ephemeral_storage); + formatter.finish() + } +} +/// See [`TaskDefinition`](crate::model::TaskDefinition) +pub mod task_definition { + /// A builder for [`TaskDefinition`](crate::model::TaskDefinition) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition_arn: std::option::Option, + pub(crate) container_definitions: + std::option::Option>, + pub(crate) family: std::option::Option, + pub(crate) task_role_arn: std::option::Option, + pub(crate) execution_role_arn: std::option::Option, + pub(crate) network_mode: std::option::Option, + pub(crate) revision: std::option::Option, + pub(crate) volumes: std::option::Option>, + pub(crate) status: std::option::Option, + pub(crate) requires_attributes: std::option::Option>, + pub(crate) placement_constraints: + std::option::Option>, + pub(crate) compatibilities: std::option::Option>, + pub(crate) requires_compatibilities: + std::option::Option>, + pub(crate) cpu: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) inference_accelerators: + std::option::Option>, + pub(crate) pid_mode: std::option::Option, + pub(crate) ipc_mode: std::option::Option, + pub(crate) proxy_configuration: std::option::Option, + pub(crate) registered_at: std::option::Option, + pub(crate) deregistered_at: std::option::Option, + pub(crate) registered_by: std::option::Option, + pub(crate) ephemeral_storage: std::option::Option, + } + impl Builder { + ///

      The full Amazon Resource Name (ARN) of the task definition.

      + pub fn task_definition_arn(mut self, inp: impl Into) -> Self { + self.task_definition_arn = Some(inp.into()); + self + } + pub fn set_task_definition_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition_arn = inp; + self + } + pub fn container_definitions( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.container_definitions.unwrap_or_default(); + v.push(inp.into()); + self.container_definitions = Some(v); + self + } + pub fn set_container_definitions( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_definitions = inp; + self + } + ///

      The name of a family that this task definition is registered to. Up to 255 letters + /// (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

      + ///

      A family groups multiple versions of a task definition. Amazon ECS gives the first task + /// definition that you registered to a family a revision number of 1. Amazon ECS gives + /// sequential revision numbers to each task definition that you add.

      + pub fn family(mut self, inp: impl Into) -> Self { + self.family = Some(inp.into()); + self + } + pub fn set_family(mut self, inp: std::option::Option) -> Self { + self.family = inp; + self + } + ///

      The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the + /// task permission to call AWS APIs on your behalf. For more information, see Amazon ECS + /// Task Role in the Amazon Elastic Container Service Developer Guide.

      + ///

      IAM roles for tasks on Windows require that the -EnableTaskIAMRole option + /// is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some + /// configuration code in order to take advantage of the feature. For more information, see + /// Windows IAM roles + /// for tasks in the Amazon Elastic Container Service Developer Guide.

      + pub fn task_role_arn(mut self, inp: impl Into) -> Self { + self.task_role_arn = Some(inp.into()); + self + } + pub fn set_task_role_arn(mut self, inp: std::option::Option) -> Self { + self.task_role_arn = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + /// permission to make AWS API calls on your behalf. The task execution IAM role is required + /// depending on the requirements of your task. For more information, see Amazon ECS task + /// execution IAM role in the Amazon Elastic Container Service Developer Guide.

      + pub fn execution_role_arn(mut self, inp: impl Into) -> Self { + self.execution_role_arn = Some(inp.into()); + self + } + pub fn set_execution_role_arn( + mut self, + inp: std::option::Option, + ) -> Self { + self.execution_role_arn = inp; + self + } + ///

      The Docker networking mode to use for the containers in the task. The valid values are + /// none, bridge, awsvpc, and host. + /// If no network mode is specified, the default is bridge.

      + ///

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + /// For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + /// mode is set to none, you cannot specify port mappings in your container + /// definitions, and the tasks containers do not have external connectivity. The + /// host and awsvpc network modes offer the highest networking + /// performance for containers because they use the EC2 network stack instead of the + /// virtualized network stack provided by the bridge mode.

      + ///

      With the host and awsvpc network modes, exposed container + /// ports are mapped directly to the corresponding host port (for the host + /// network mode) or the attached elastic network interface port (for the + /// awsvpc network mode), so you cannot take advantage of dynamic host port + /// mappings.

      + /// + ///

      When using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice + /// to use a non-root user.

      + ///
      + ///

      If the network mode is awsvpc, the task is allocated an elastic network + /// interface, and you must specify a NetworkConfiguration value when you create + /// a service or run a task with the task definition. For more information, see Task Networking in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + /// ecs-init package, or AWS Fargate infrastructure support the + /// awsvpc network mode.

      + ///
      + ///

      If the network mode is host, you cannot run multiple instantiations of the + /// same task on a single container instance when port mappings are used.

      + ///

      Docker for Windows uses different network modes than Docker for Linux. When you + /// register a task definition with Windows containers, you must not specify a network mode. + /// If you use the console to register a task definition with Windows containers, you must + /// choose the network mode object.

      + ///

      For more information, see Network + /// settings in the Docker run reference.

      + pub fn network_mode(mut self, inp: crate::model::NetworkMode) -> Self { + self.network_mode = Some(inp); + self + } + pub fn set_network_mode( + mut self, + inp: std::option::Option, + ) -> Self { + self.network_mode = inp; + self + } + ///

      The revision of the task in a particular family. The revision is a version number of a + /// task definition in a family. When you register a task definition for the first time, the + /// revision is 1. Each time that you register a new revision of a task + /// definition in the same family, the revision value always increases by one, even if you + /// have deregistered previous revisions in this family.

      + pub fn revision(mut self, inp: i32) -> Self { + self.revision = Some(inp); + self + } + pub fn set_revision(mut self, inp: i32) -> Self { + self.revision = Some(inp); + self + } + pub fn volumes(mut self, inp: impl Into) -> Self { + let mut v = self.volumes.unwrap_or_default(); + v.push(inp.into()); + self.volumes = Some(v); + self + } + pub fn set_volumes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.volumes = inp; + self + } + ///

      The status of the task definition.

      + pub fn status(mut self, inp: crate::model::TaskDefinitionStatus) -> Self { + self.status = Some(inp); + self + } + pub fn set_status( + mut self, + inp: std::option::Option, + ) -> Self { + self.status = inp; + self + } + pub fn requires_attributes(mut self, inp: impl Into) -> Self { + let mut v = self.requires_attributes.unwrap_or_default(); + v.push(inp.into()); + self.requires_attributes = Some(v); + self + } + pub fn set_requires_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.requires_attributes = inp; + self + } + pub fn placement_constraints( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.placement_constraints.unwrap_or_default(); + v.push(inp.into()); + self.placement_constraints = Some(v); + self + } + pub fn set_placement_constraints( + mut self, + inp: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.placement_constraints = inp; + self + } + pub fn compatibilities(mut self, inp: impl Into) -> Self { + let mut v = self.compatibilities.unwrap_or_default(); + v.push(inp.into()); + self.compatibilities = Some(v); + self + } + pub fn set_compatibilities( + mut self, + inp: std::option::Option>, + ) -> Self { + self.compatibilities = inp; + self + } + pub fn requires_compatibilities( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.requires_compatibilities.unwrap_or_default(); + v.push(inp.into()); + self.requires_compatibilities = Some(v); + self + } + pub fn set_requires_compatibilities( + mut self, + inp: std::option::Option>, + ) -> Self { + self.requires_compatibilities = inp; + self + } + ///

      The number of cpu units used by the task. If you are using the EC2 launch + /// type, this field is optional and any value can be used. If you are using the Fargate + /// launch type, this field is required and you must use one of the following values, which + /// determines your range of valid values for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + pub fn cpu(mut self, inp: impl Into) -> Self { + self.cpu = Some(inp.into()); + self + } + pub fn set_cpu(mut self, inp: std::option::Option) -> Self { + self.cpu = inp; + self + } + ///

      The amount (in MiB) of memory used by the task.

      + ///

      If your tasks will be run on Amazon EC2 instances, you must specify either a task-level + /// memory value or a container-level memory value. This field is optional and any value can + /// be used. If a task-level memory value is specified then the container-level memory value + /// is optional. For more information regarding container-level memory and memory + /// reservation, see ContainerDefinition.

      + ///

      If your tasks will be run on AWS Fargate, this field is required and you must use one of + /// the following values, which determines your range of valid values for the + /// cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + pub fn memory(mut self, inp: impl Into) -> Self { + self.memory = Some(inp.into()); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + pub fn inference_accelerators( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.inference_accelerators.unwrap_or_default(); + v.push(inp.into()); + self.inference_accelerators = Some(v); + self + } + pub fn set_inference_accelerators( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inference_accelerators = inp; + self + } + ///

      The process namespace to use for the containers in the task. The valid + /// values are host or task. If host + /// is specified, then all containers within the tasks that specified the + /// host PID mode on the same container instance share the + /// same process namespace with the host Amazon EC2 instance. If task is + /// specified, all containers within the specified task share the same + /// process namespace. If no value is specified, the default is a private + /// namespace. For more information, see PID settings in the Docker run + /// reference.

      + ///

      If the host PID mode is used, be aware that there is a + /// heightened risk of undesired process namespace expose. For more + /// information, see Docker + /// security.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn pid_mode(mut self, inp: crate::model::PidMode) -> Self { + self.pid_mode = Some(inp); + self + } + pub fn set_pid_mode(mut self, inp: std::option::Option) -> Self { + self.pid_mode = inp; + self + } + ///

      The IPC resource namespace to use for the containers in the task. The valid values are + /// host, task, or none. If host is + /// specified, then all containers within the tasks that specified the host IPC + /// mode on the same container instance share the same IPC resources with the host Amazon EC2 + /// instance. If task is specified, all containers within the specified task + /// share the same IPC resources. If none is specified, then IPC resources + /// within the containers of a task are private and not shared with other containers in a + /// task or on the container instance. If no value is specified, then the IPC resource + /// namespace sharing depends on the Docker daemon setting on the container instance. For + /// more information, see IPC + /// settings in the Docker run reference.

      + ///

      If the host IPC mode is used, be aware that there is a heightened risk of + /// undesired IPC namespace expose. For more information, see Docker + /// security.

      + ///

      If you are setting namespaced kernel parameters using systemControls for + /// the containers in the task, the following will apply to your IPC resource namespace. For + /// more information, see System + /// Controls in the Amazon Elastic Container Service Developer Guide.

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

        For tasks that use the host IPC mode, IPC namespace related + /// systemControls are not supported.

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

        For tasks that use the task IPC mode, IPC namespace related + /// systemControls will apply to all containers within a + /// task.

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

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn ipc_mode(mut self, inp: crate::model::IpcMode) -> Self { + self.ipc_mode = Some(inp); + self + } + pub fn set_ipc_mode(mut self, inp: std::option::Option) -> Self { + self.ipc_mode = inp; + self + } + ///

      The configuration details for the App Mesh proxy.

      + ///

      Your Amazon ECS container instances require at least version 1.26.0 of the container agent + /// and at least version 1.26.0-1 of the ecs-init package to enable a proxy + /// configuration. If your container instances are launched from the Amazon ECS-optimized AMI + /// version 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + pub fn proxy_configuration(mut self, inp: crate::model::ProxyConfiguration) -> Self { + self.proxy_configuration = Some(inp); + self + } + pub fn set_proxy_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.proxy_configuration = inp; + self + } + ///

      The Unix timestamp for when the task definition was registered.

      + pub fn registered_at(mut self, inp: smithy_types::Instant) -> Self { + self.registered_at = Some(inp); + self + } + pub fn set_registered_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.registered_at = inp; + self + } + ///

      The Unix timestamp for when the task definition was deregistered.

      + pub fn deregistered_at(mut self, inp: smithy_types::Instant) -> Self { + self.deregistered_at = Some(inp); + self + } + pub fn set_deregistered_at( + mut self, + inp: std::option::Option, + ) -> Self { + self.deregistered_at = inp; + self + } + ///

      The principal that registered the task definition.

      + pub fn registered_by(mut self, inp: impl Into) -> Self { + self.registered_by = Some(inp.into()); + self + } + pub fn set_registered_by(mut self, inp: std::option::Option) -> Self { + self.registered_by = inp; + self + } + ///

      The ephemeral storage settings to use for tasks run with the task definition.

      + pub fn ephemeral_storage(mut self, inp: crate::model::EphemeralStorage) -> Self { + self.ephemeral_storage = Some(inp); + self + } + pub fn set_ephemeral_storage( + mut self, + inp: std::option::Option, + ) -> Self { + self.ephemeral_storage = inp; + self + } + /// Consumes the builder and constructs a [`TaskDefinition`](crate::model::TaskDefinition) + pub fn build(self) -> crate::model::TaskDefinition { + crate::model::TaskDefinition { + task_definition_arn: self.task_definition_arn, + container_definitions: self.container_definitions, + family: self.family, + task_role_arn: self.task_role_arn, + execution_role_arn: self.execution_role_arn, + network_mode: self.network_mode, + revision: self.revision.unwrap_or_default(), + volumes: self.volumes, + status: self.status, + requires_attributes: self.requires_attributes, + placement_constraints: self.placement_constraints, + compatibilities: self.compatibilities, + requires_compatibilities: self.requires_compatibilities, + cpu: self.cpu, + memory: self.memory, + inference_accelerators: self.inference_accelerators, + pid_mode: self.pid_mode, + ipc_mode: self.ipc_mode, + proxy_configuration: self.proxy_configuration, + registered_at: self.registered_at, + deregistered_at: self.deregistered_at, + registered_by: self.registered_by, + ephemeral_storage: self.ephemeral_storage, + } + } + } +} +impl TaskDefinition { + /// Creates a new builder-style object to manufacture [`TaskDefinition`](crate::model::TaskDefinition) + pub fn builder() -> crate::model::task_definition::Builder { + crate::model::task_definition::Builder::default() + } +} + +///

      The configuration details for the App Mesh proxy.

      +///

      For tasks using the EC2 launch type, the container instances require at +/// least version 1.26.0 of the container agent and at least version 1.26.0-1 of the +/// ecs-init package to enable a proxy configuration. If your container +/// instances are launched from the Amazon ECS-optimized AMI version 20190301 or +/// later, then they contain the required versions of the container agent and +/// ecs-init. For more information, see Amazon ECS-optimized Linux AMI +///

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ProxyConfiguration { + ///

      The proxy type. The only supported value is APPMESH.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, + ///

      The name of the container that will serve as the App Mesh proxy.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      The set of network configuration parameters to provide the Container Network Interface + /// (CNI) plugin, specified as key-value pairs.

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

        + /// IgnoredUID - (Required) The user ID (UID) of the proxy + /// container as defined by the user parameter in a container + /// definition. This is used to ensure the proxy ignores its own traffic. If + /// IgnoredGID is specified, this field can be empty.

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

        + /// IgnoredGID - (Required) The group ID (GID) of the proxy + /// container as defined by the user parameter in a container + /// definition. This is used to ensure the proxy ignores its own traffic. If + /// IgnoredUID is specified, this field can be empty.

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

        + /// AppPorts - (Required) The list of ports that the + /// application uses. Network traffic to these ports is forwarded to the + /// ProxyIngressPort and ProxyEgressPort.

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

        + /// ProxyIngressPort - (Required) Specifies the port that + /// incoming traffic to the AppPorts is directed to.

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

        + /// ProxyEgressPort - (Required) Specifies the port that + /// outgoing traffic from the AppPorts is directed to.

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

        + /// EgressIgnoredPorts - (Required) The egress traffic going to + /// the specified ports is ignored and not redirected to the + /// ProxyEgressPort. It can be an empty list.

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

        + /// EgressIgnoredIPs - (Required) The egress traffic going to + /// the specified IP addresses is ignored and not redirected to the + /// ProxyEgressPort. It can be an empty list.

        + ///
      • + ///
      + #[serde(rename = "properties")] + #[serde(default)] + pub properties: std::option::Option>, +} +impl std::fmt::Debug for ProxyConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ProxyConfiguration"); + formatter.field("r#type", &self.r#type); + formatter.field("container_name", &self.container_name); + formatter.field("properties", &self.properties); + formatter.finish() + } +} +/// See [`ProxyConfiguration`](crate::model::ProxyConfiguration) +pub mod proxy_configuration { + /// A builder for [`ProxyConfiguration`](crate::model::ProxyConfiguration) + #[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) container_name: std::option::Option, + pub(crate) properties: std::option::Option>, + } + impl Builder { + ///

      The proxy type. The only supported value is APPMESH.

      + pub fn r#type(mut self, inp: crate::model::ProxyConfigurationType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + ///

      The name of the container that will serve as the App Mesh proxy.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + pub fn properties(mut self, inp: impl Into) -> Self { + let mut v = self.properties.unwrap_or_default(); + v.push(inp.into()); + self.properties = Some(v); + self + } + pub fn set_properties( + mut self, + inp: std::option::Option>, + ) -> Self { + self.properties = inp; + self + } + /// Consumes the builder and constructs a [`ProxyConfiguration`](crate::model::ProxyConfiguration) + pub fn build(self) -> crate::model::ProxyConfiguration { + crate::model::ProxyConfiguration { + r#type: self.r#type, + container_name: self.container_name, + properties: self.properties, + } + } + } +} +impl ProxyConfiguration { + /// Creates a new builder-style object to manufacture [`ProxyConfiguration`](crate::model::ProxyConfiguration) + pub fn builder() -> crate::model::proxy_configuration::Builder { + crate::model::proxy_configuration::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 ProxyConfigurationType { + Appmesh, + Unknown(String), +} +impl std::convert::From<&str> for ProxyConfigurationType { + fn from(s: &str) -> Self { + match s { + "APPMESH" => ProxyConfigurationType::Appmesh, + other => ProxyConfigurationType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ProxyConfigurationType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ProxyConfigurationType::from(s)) + } +} +impl ProxyConfigurationType { + pub fn as_str(&self) -> &str { + match self { + ProxyConfigurationType::Appmesh => "APPMESH", + ProxyConfigurationType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ProxyConfigurationType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ProxyConfigurationType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 IpcMode { + Host, + None, + Task, + Unknown(String), +} +impl std::convert::From<&str> for IpcMode { + fn from(s: &str) -> Self { + match s { + "host" => IpcMode::Host, + "none" => IpcMode::None, + "task" => IpcMode::Task, + other => IpcMode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for IpcMode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(IpcMode::from(s)) + } +} +impl IpcMode { + pub fn as_str(&self) -> &str { + match self { + IpcMode::Host => "host", + IpcMode::None => "none", + IpcMode::Task => "task", + IpcMode::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for IpcMode { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for IpcMode { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 PidMode { + Host, + Task, + Unknown(String), +} +impl std::convert::From<&str> for PidMode { + fn from(s: &str) -> Self { + match s { + "host" => PidMode::Host, + "task" => PidMode::Task, + other => PidMode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for PidMode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(PidMode::from(s)) + } +} +impl PidMode { + pub fn as_str(&self) -> &str { + match self { + PidMode::Host => "host", + PidMode::Task => "task", + PidMode::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for PidMode { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for PidMode { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 Compatibility { + Ec2, + External, + Fargate, + Unknown(String), +} +impl std::convert::From<&str> for Compatibility { + fn from(s: &str) -> Self { + match s { + "EC2" => Compatibility::Ec2, + "EXTERNAL" => Compatibility::External, + "FARGATE" => Compatibility::Fargate, + other => Compatibility::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for Compatibility { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(Compatibility::from(s)) + } +} +impl Compatibility { + pub fn as_str(&self) -> &str { + match self { + Compatibility::Ec2 => "EC2", + Compatibility::External => "EXTERNAL", + Compatibility::Fargate => "FARGATE", + Compatibility::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for Compatibility { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for Compatibility { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      An object representing a constraint on task placement in the task definition. For more +/// information, see Task placement constraints in the +/// Amazon Elastic Container Service Developer Guide.

      +/// +///

      Task placement constraints are not supported for tasks run on AWS Fargate.

      +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct TaskDefinitionPlacementConstraint { + ///

      The type of constraint. The MemberOf constraint restricts selection to be + /// from a group of valid candidates.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, + ///

      A cluster query language expression to apply to the constraint. For more information, + /// see Cluster query language in the + /// Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "expression")] + #[serde(default)] + pub expression: std::option::Option, +} +impl std::fmt::Debug for TaskDefinitionPlacementConstraint { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TaskDefinitionPlacementConstraint"); + formatter.field("r#type", &self.r#type); + formatter.field("expression", &self.expression); + formatter.finish() + } +} +/// See [`TaskDefinitionPlacementConstraint`](crate::model::TaskDefinitionPlacementConstraint) +pub mod task_definition_placement_constraint { + /// A builder for [`TaskDefinitionPlacementConstraint`](crate::model::TaskDefinitionPlacementConstraint) + #[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) expression: std::option::Option, + } + impl Builder { + ///

      The type of constraint. The MemberOf constraint restricts selection to be + /// from a group of valid candidates.

      + pub fn r#type(mut self, inp: crate::model::TaskDefinitionPlacementConstraintType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + ///

      A cluster query language expression to apply to the constraint. For more information, + /// see Cluster query language in the + /// Amazon Elastic Container Service Developer Guide.

      + pub fn expression(mut self, inp: impl Into) -> Self { + self.expression = Some(inp.into()); + self + } + pub fn set_expression(mut self, inp: std::option::Option) -> Self { + self.expression = inp; + self + } + /// Consumes the builder and constructs a [`TaskDefinitionPlacementConstraint`](crate::model::TaskDefinitionPlacementConstraint) + pub fn build(self) -> crate::model::TaskDefinitionPlacementConstraint { + crate::model::TaskDefinitionPlacementConstraint { + r#type: self.r#type, + expression: self.expression, + } + } + } +} +impl TaskDefinitionPlacementConstraint { + /// Creates a new builder-style object to manufacture [`TaskDefinitionPlacementConstraint`](crate::model::TaskDefinitionPlacementConstraint) + pub fn builder() -> crate::model::task_definition_placement_constraint::Builder { + crate::model::task_definition_placement_constraint::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 TaskDefinitionPlacementConstraintType { + MemberOf, + Unknown(String), +} +impl std::convert::From<&str> for TaskDefinitionPlacementConstraintType { + fn from(s: &str) -> Self { + match s { + "memberOf" => TaskDefinitionPlacementConstraintType::MemberOf, + other => TaskDefinitionPlacementConstraintType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskDefinitionPlacementConstraintType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskDefinitionPlacementConstraintType::from(s)) + } +} +impl TaskDefinitionPlacementConstraintType { + pub fn as_str(&self) -> &str { + match self { + TaskDefinitionPlacementConstraintType::MemberOf => "memberOf", + TaskDefinitionPlacementConstraintType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskDefinitionPlacementConstraintType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskDefinitionPlacementConstraintType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 TaskDefinitionStatus { + Active, + Inactive, + Unknown(String), +} +impl std::convert::From<&str> for TaskDefinitionStatus { + fn from(s: &str) -> Self { + match s { + "ACTIVE" => TaskDefinitionStatus::Active, + "INACTIVE" => TaskDefinitionStatus::Inactive, + other => TaskDefinitionStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskDefinitionStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskDefinitionStatus::from(s)) + } +} +impl TaskDefinitionStatus { + pub fn as_str(&self) -> &str { + match self { + TaskDefinitionStatus::Active => "ACTIVE", + TaskDefinitionStatus::Inactive => "INACTIVE", + TaskDefinitionStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskDefinitionStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskDefinitionStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      A data volume used in a task definition. For tasks that use the Amazon Elastic File +/// System (Amazon EFS), specify an efsVolumeConfiguration. For Windows tasks +/// that use Amazon FSx for Windows File Server file system, specify a +/// fsxWindowsFileServerVolumeConfiguration. For tasks that use a Docker +/// volume, specify a DockerVolumeConfiguration. For tasks that use a bind +/// mount host volume, specify a host and optional sourcePath. For +/// more information, see Using Data Volumes in +/// Tasks.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Volume { + ///

      The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This name is referenced in the + /// sourceVolume parameter of container definition + /// mountPoints.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      This parameter is specified when you are using bind mount host volumes. The contents + /// of the host parameter determine whether your bind mount host volume + /// persists on the host container instance and where it is stored. If the host + /// parameter is empty, then the Docker daemon assigns a host path for your data volume. + /// However, the data is not guaranteed to persist after the containers associated with it + /// stop running.

      + ///

      Windows containers can mount whole directories on the same drive as + /// $env:ProgramData. Windows containers cannot mount directories on a + /// different drive, and mount point cannot be across drives. For example, you can mount + /// C:\my\path:C:\my\path and D:\:D:\, but not + /// D:\my\path:C:\my\path or D:\:C:\my\path.

      + #[serde(rename = "host")] + #[serde(default)] + pub host: std::option::Option, + ///

      This parameter is specified when you are using Docker volumes.

      + ///

      Windows containers only support the use of the local driver. To use bind + /// mounts, specify the host parameter instead.

      + /// + ///

      Docker volumes are not supported by tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "dockerVolumeConfiguration")] + #[serde(default)] + pub docker_volume_configuration: std::option::Option, + ///

      This parameter is specified when you are using an Amazon Elastic File System file system for task + /// storage.

      + #[serde(rename = "efsVolumeConfiguration")] + #[serde(default)] + pub efs_volume_configuration: std::option::Option, + ///

      This parameter is specified when you are using Amazon FSx for Windows File Server file system for task + /// storage.

      + #[serde(rename = "fsxWindowsFileServerVolumeConfiguration")] + #[serde(default)] + pub fsx_windows_file_server_volume_configuration: + std::option::Option, +} +impl std::fmt::Debug for Volume { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Volume"); + formatter.field("name", &self.name); + formatter.field("host", &self.host); + formatter.field( + "docker_volume_configuration", + &self.docker_volume_configuration, + ); + formatter.field("efs_volume_configuration", &self.efs_volume_configuration); + formatter.field( + "fsx_windows_file_server_volume_configuration", + &self.fsx_windows_file_server_volume_configuration, + ); + formatter.finish() + } +} +/// See [`Volume`](crate::model::Volume) +pub mod volume { + /// A builder for [`Volume`](crate::model::Volume) + #[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) host: std::option::Option, + pub(crate) docker_volume_configuration: + std::option::Option, + pub(crate) efs_volume_configuration: + std::option::Option, + pub(crate) fsx_windows_file_server_volume_configuration: + std::option::Option, + } + impl Builder { + ///

      The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This name is referenced in the + /// sourceVolume parameter of container definition + /// mountPoints.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      This parameter is specified when you are using bind mount host volumes. The contents + /// of the host parameter determine whether your bind mount host volume + /// persists on the host container instance and where it is stored. If the host + /// parameter is empty, then the Docker daemon assigns a host path for your data volume. + /// However, the data is not guaranteed to persist after the containers associated with it + /// stop running.

      + ///

      Windows containers can mount whole directories on the same drive as + /// $env:ProgramData. Windows containers cannot mount directories on a + /// different drive, and mount point cannot be across drives. For example, you can mount + /// C:\my\path:C:\my\path and D:\:D:\, but not + /// D:\my\path:C:\my\path or D:\:C:\my\path.

      + pub fn host(mut self, inp: crate::model::HostVolumeProperties) -> Self { + self.host = Some(inp); + self + } + pub fn set_host( + mut self, + inp: std::option::Option, + ) -> Self { + self.host = inp; + self + } + ///

      This parameter is specified when you are using Docker volumes.

      + ///

      Windows containers only support the use of the local driver. To use bind + /// mounts, specify the host parameter instead.

      + /// + ///

      Docker volumes are not supported by tasks run on AWS Fargate.

      + ///
      + pub fn docker_volume_configuration( + mut self, + inp: crate::model::DockerVolumeConfiguration, + ) -> Self { + self.docker_volume_configuration = Some(inp); + self + } + pub fn set_docker_volume_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.docker_volume_configuration = inp; + self + } + ///

      This parameter is specified when you are using an Amazon Elastic File System file system for task + /// storage.

      + pub fn efs_volume_configuration( + mut self, + inp: crate::model::EFSVolumeConfiguration, + ) -> Self { + self.efs_volume_configuration = Some(inp); + self + } + pub fn set_efs_volume_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.efs_volume_configuration = inp; + self + } + ///

      This parameter is specified when you are using Amazon FSx for Windows File Server file system for task + /// storage.

      + pub fn fsx_windows_file_server_volume_configuration( + mut self, + inp: crate::model::FSxWindowsFileServerVolumeConfiguration, + ) -> Self { + self.fsx_windows_file_server_volume_configuration = Some(inp); + self + } + pub fn set_fsx_windows_file_server_volume_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.fsx_windows_file_server_volume_configuration = inp; + self + } + /// Consumes the builder and constructs a [`Volume`](crate::model::Volume) + pub fn build(self) -> crate::model::Volume { + crate::model::Volume { + name: self.name, + host: self.host, + docker_volume_configuration: self.docker_volume_configuration, + efs_volume_configuration: self.efs_volume_configuration, + fsx_windows_file_server_volume_configuration: self + .fsx_windows_file_server_volume_configuration, + } + } + } +} +impl Volume { + /// Creates a new builder-style object to manufacture [`Volume`](crate::model::Volume) + pub fn builder() -> crate::model::volume::Builder { + crate::model::volume::Builder::default() + } +} + +///

      This parameter is specified when you are using Amazon FSx for Windows File Server file system for task +/// storage.

      +///

      For more information and the input format, see Amazon FSx for Windows File Server Volumes +/// in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct FSxWindowsFileServerVolumeConfiguration { + ///

      The Amazon FSx for Windows File Server file system ID to use.

      + #[serde(rename = "fileSystemId")] + #[serde(default)] + pub file_system_id: std::option::Option, + ///

      The directory within the Amazon FSx for Windows File Server file system to mount as the root directory + /// inside the host.

      + #[serde(rename = "rootDirectory")] + #[serde(default)] + pub root_directory: std::option::Option, + ///

      The authorization configuration details for the Amazon FSx for Windows File Server file system.

      + #[serde(rename = "authorizationConfig")] + #[serde(default)] + pub authorization_config: + std::option::Option, +} +impl std::fmt::Debug for FSxWindowsFileServerVolumeConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("FSxWindowsFileServerVolumeConfiguration"); + formatter.field("file_system_id", &self.file_system_id); + formatter.field("root_directory", &self.root_directory); + formatter.field("authorization_config", &self.authorization_config); + formatter.finish() + } +} +/// See [`FSxWindowsFileServerVolumeConfiguration`](crate::model::FSxWindowsFileServerVolumeConfiguration) +pub mod f_sx_windows_file_server_volume_configuration { + /// A builder for [`FSxWindowsFileServerVolumeConfiguration`](crate::model::FSxWindowsFileServerVolumeConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) file_system_id: std::option::Option, + pub(crate) root_directory: std::option::Option, + pub(crate) authorization_config: + std::option::Option, + } + impl Builder { + ///

      The Amazon FSx for Windows File Server file system ID to use.

      + pub fn file_system_id(mut self, inp: impl Into) -> Self { + self.file_system_id = Some(inp.into()); + self + } + pub fn set_file_system_id(mut self, inp: std::option::Option) -> Self { + self.file_system_id = inp; + self + } + ///

      The directory within the Amazon FSx for Windows File Server file system to mount as the root directory + /// inside the host.

      + pub fn root_directory(mut self, inp: impl Into) -> Self { + self.root_directory = Some(inp.into()); + self + } + pub fn set_root_directory(mut self, inp: std::option::Option) -> Self { + self.root_directory = inp; + self + } + ///

      The authorization configuration details for the Amazon FSx for Windows File Server file system.

      + pub fn authorization_config( + mut self, + inp: crate::model::FSxWindowsFileServerAuthorizationConfig, + ) -> Self { + self.authorization_config = Some(inp); + self + } + pub fn set_authorization_config( + mut self, + inp: std::option::Option, + ) -> Self { + self.authorization_config = inp; + self + } + /// Consumes the builder and constructs a [`FSxWindowsFileServerVolumeConfiguration`](crate::model::FSxWindowsFileServerVolumeConfiguration) + pub fn build(self) -> crate::model::FSxWindowsFileServerVolumeConfiguration { + crate::model::FSxWindowsFileServerVolumeConfiguration { + file_system_id: self.file_system_id, + root_directory: self.root_directory, + authorization_config: self.authorization_config, + } + } + } +} +impl FSxWindowsFileServerVolumeConfiguration { + /// Creates a new builder-style object to manufacture [`FSxWindowsFileServerVolumeConfiguration`](crate::model::FSxWindowsFileServerVolumeConfiguration) + pub fn builder() -> crate::model::f_sx_windows_file_server_volume_configuration::Builder { + crate::model::f_sx_windows_file_server_volume_configuration::Builder::default() + } +} + +///

      The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon Elastic +/// Container Service API Reference.

      +///

      For more information and the input format, see Amazon FSx for Windows File Server Volumes +/// in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct FSxWindowsFileServerAuthorizationConfig { + ///

      The authorization credential option to use. The authorization credential options can + /// be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager + /// Parameter Store parameter. The ARNs refer to the stored credentials.

      + #[serde(rename = "credentialsParameter")] + #[serde(default)] + pub credentials_parameter: std::option::Option, + ///

      A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on + /// Amazon EC2.

      + #[serde(rename = "domain")] + #[serde(default)] + pub domain: std::option::Option, +} +impl std::fmt::Debug for FSxWindowsFileServerAuthorizationConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("FSxWindowsFileServerAuthorizationConfig"); + formatter.field("credentials_parameter", &self.credentials_parameter); + formatter.field("domain", &self.domain); + formatter.finish() + } +} +/// See [`FSxWindowsFileServerAuthorizationConfig`](crate::model::FSxWindowsFileServerAuthorizationConfig) +pub mod f_sx_windows_file_server_authorization_config { + /// A builder for [`FSxWindowsFileServerAuthorizationConfig`](crate::model::FSxWindowsFileServerAuthorizationConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) credentials_parameter: std::option::Option, + pub(crate) domain: std::option::Option, + } + impl Builder { + ///

      The authorization credential option to use. The authorization credential options can + /// be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager + /// Parameter Store parameter. The ARNs refer to the stored credentials.

      + pub fn credentials_parameter(mut self, inp: impl Into) -> Self { + self.credentials_parameter = Some(inp.into()); + self + } + pub fn set_credentials_parameter( + mut self, + inp: std::option::Option, + ) -> Self { + self.credentials_parameter = inp; + self + } + ///

      A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on + /// Amazon EC2.

      + pub fn domain(mut self, inp: impl Into) -> Self { + self.domain = Some(inp.into()); + self + } + pub fn set_domain(mut self, inp: std::option::Option) -> Self { + self.domain = inp; + self + } + /// Consumes the builder and constructs a [`FSxWindowsFileServerAuthorizationConfig`](crate::model::FSxWindowsFileServerAuthorizationConfig) + pub fn build(self) -> crate::model::FSxWindowsFileServerAuthorizationConfig { + crate::model::FSxWindowsFileServerAuthorizationConfig { + credentials_parameter: self.credentials_parameter, + domain: self.domain, + } + } + } +} +impl FSxWindowsFileServerAuthorizationConfig { + /// Creates a new builder-style object to manufacture [`FSxWindowsFileServerAuthorizationConfig`](crate::model::FSxWindowsFileServerAuthorizationConfig) + pub fn builder() -> crate::model::f_sx_windows_file_server_authorization_config::Builder { + crate::model::f_sx_windows_file_server_authorization_config::Builder::default() + } +} + +///

      This parameter is specified when you are using an Amazon Elastic File System file system for task +/// storage. For more information, see Amazon EFS Volumes in the +/// Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct EFSVolumeConfiguration { + ///

      The Amazon EFS file system ID to use.

      + #[serde(rename = "fileSystemId")] + #[serde(default)] + pub file_system_id: std::option::Option, + ///

      The directory within the Amazon EFS file system to mount as the root directory inside the + /// host. If this parameter is omitted, the root of the Amazon EFS volume will be used. + /// Specifying / will have the same effect as omitting this parameter.

      + /// + ///

      If an EFS access point is specified in the authorizationConfig, the + /// root directory parameter must either be omitted or set to / which will + /// enforce the path set on the EFS access point.

      + ///
      + #[serde(rename = "rootDirectory")] + #[serde(default)] + pub root_directory: std::option::Option, + ///

      Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host + /// and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is + /// used. If this parameter is omitted, the default value of DISABLED is used. + /// For more information, see Encrypting Data in Transit in + /// the Amazon Elastic File System User Guide.

      + #[serde(rename = "transitEncryption")] + #[serde(default)] + pub transit_encryption: std::option::Option, + ///

      The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS + /// server. If you do not specify a transit encryption port, it will use the port selection + /// strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount + /// Helper in the Amazon Elastic File System User Guide.

      + #[serde(rename = "transitEncryptionPort")] + #[serde(default)] + pub transit_encryption_port: std::option::Option, + ///

      The authorization configuration details for the Amazon EFS file system.

      + #[serde(rename = "authorizationConfig")] + #[serde(default)] + pub authorization_config: std::option::Option, +} +impl std::fmt::Debug for EFSVolumeConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("EFSVolumeConfiguration"); + formatter.field("file_system_id", &self.file_system_id); + formatter.field("root_directory", &self.root_directory); + formatter.field("transit_encryption", &self.transit_encryption); + formatter.field("transit_encryption_port", &self.transit_encryption_port); + formatter.field("authorization_config", &self.authorization_config); + formatter.finish() + } +} +/// See [`EFSVolumeConfiguration`](crate::model::EFSVolumeConfiguration) +pub mod efs_volume_configuration { + /// A builder for [`EFSVolumeConfiguration`](crate::model::EFSVolumeConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) file_system_id: std::option::Option, + pub(crate) root_directory: std::option::Option, + pub(crate) transit_encryption: std::option::Option, + pub(crate) transit_encryption_port: std::option::Option, + pub(crate) authorization_config: std::option::Option, + } + impl Builder { + ///

      The Amazon EFS file system ID to use.

      + pub fn file_system_id(mut self, inp: impl Into) -> Self { + self.file_system_id = Some(inp.into()); + self + } + pub fn set_file_system_id(mut self, inp: std::option::Option) -> Self { + self.file_system_id = inp; + self + } + ///

      The directory within the Amazon EFS file system to mount as the root directory inside the + /// host. If this parameter is omitted, the root of the Amazon EFS volume will be used. + /// Specifying / will have the same effect as omitting this parameter.

      + /// + ///

      If an EFS access point is specified in the authorizationConfig, the + /// root directory parameter must either be omitted or set to / which will + /// enforce the path set on the EFS access point.

      + ///
      + pub fn root_directory(mut self, inp: impl Into) -> Self { + self.root_directory = Some(inp.into()); + self + } + pub fn set_root_directory(mut self, inp: std::option::Option) -> Self { + self.root_directory = inp; + self + } + ///

      Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host + /// and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is + /// used. If this parameter is omitted, the default value of DISABLED is used. + /// For more information, see Encrypting Data in Transit in + /// the Amazon Elastic File System User Guide.

      + pub fn transit_encryption(mut self, inp: crate::model::EFSTransitEncryption) -> Self { + self.transit_encryption = Some(inp); + self + } + pub fn set_transit_encryption( + mut self, + inp: std::option::Option, + ) -> Self { + self.transit_encryption = inp; + self + } + ///

      The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS + /// server. If you do not specify a transit encryption port, it will use the port selection + /// strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount + /// Helper in the Amazon Elastic File System User Guide.

      + pub fn transit_encryption_port(mut self, inp: i32) -> Self { + self.transit_encryption_port = Some(inp); + self + } + pub fn set_transit_encryption_port(mut self, inp: std::option::Option) -> Self { + self.transit_encryption_port = inp; + self + } + ///

      The authorization configuration details for the Amazon EFS file system.

      + pub fn authorization_config(mut self, inp: crate::model::EFSAuthorizationConfig) -> Self { + self.authorization_config = Some(inp); + self + } + pub fn set_authorization_config( + mut self, + inp: std::option::Option, + ) -> Self { + self.authorization_config = inp; + self + } + /// Consumes the builder and constructs a [`EFSVolumeConfiguration`](crate::model::EFSVolumeConfiguration) + pub fn build(self) -> crate::model::EFSVolumeConfiguration { + crate::model::EFSVolumeConfiguration { + file_system_id: self.file_system_id, + root_directory: self.root_directory, + transit_encryption: self.transit_encryption, + transit_encryption_port: self.transit_encryption_port, + authorization_config: self.authorization_config, + } + } + } +} +impl EFSVolumeConfiguration { + /// Creates a new builder-style object to manufacture [`EFSVolumeConfiguration`](crate::model::EFSVolumeConfiguration) + pub fn builder() -> crate::model::efs_volume_configuration::Builder { + crate::model::efs_volume_configuration::Builder::default() + } +} + +///

      The authorization configuration details for the Amazon EFS file system.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct EFSAuthorizationConfig { + ///

      The Amazon EFS access point ID to use. If an access point is specified, the root directory + /// value specified in the EFSVolumeConfiguration must either be omitted or set + /// to / which will enforce the path set on the EFS access point. If an access + /// point is used, transit encryption must be enabled in the + /// EFSVolumeConfiguration. For more information, see Working with Amazon + /// EFS Access Points in the Amazon Elastic File System User Guide.

      + #[serde(rename = "accessPointId")] + #[serde(default)] + pub access_point_id: std::option::Option, + ///

      Whether or not to use the Amazon ECS task IAM role defined in a task definition when + /// mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the + /// EFSVolumeConfiguration. If this parameter is omitted, the default value + /// of DISABLED is used. For more information, see Using + /// Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "iam")] + #[serde(default)] + pub iam: std::option::Option, +} +impl std::fmt::Debug for EFSAuthorizationConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("EFSAuthorizationConfig"); + formatter.field("access_point_id", &self.access_point_id); + formatter.field("iam", &self.iam); + formatter.finish() + } +} +/// See [`EFSAuthorizationConfig`](crate::model::EFSAuthorizationConfig) +pub mod efs_authorization_config { + /// A builder for [`EFSAuthorizationConfig`](crate::model::EFSAuthorizationConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) access_point_id: std::option::Option, + pub(crate) iam: std::option::Option, + } + impl Builder { + ///

      The Amazon EFS access point ID to use. If an access point is specified, the root directory + /// value specified in the EFSVolumeConfiguration must either be omitted or set + /// to / which will enforce the path set on the EFS access point. If an access + /// point is used, transit encryption must be enabled in the + /// EFSVolumeConfiguration. For more information, see Working with Amazon + /// EFS Access Points in the Amazon Elastic File System User Guide.

      + pub fn access_point_id(mut self, inp: impl Into) -> Self { + self.access_point_id = Some(inp.into()); + self + } + pub fn set_access_point_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.access_point_id = inp; + self + } + ///

      Whether or not to use the Amazon ECS task IAM role defined in a task definition when + /// mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the + /// EFSVolumeConfiguration. If this parameter is omitted, the default value + /// of DISABLED is used. For more information, see Using + /// Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

      + pub fn iam(mut self, inp: crate::model::EFSAuthorizationConfigIAM) -> Self { + self.iam = Some(inp); + self + } + pub fn set_iam( + mut self, + inp: std::option::Option, + ) -> Self { + self.iam = inp; + self + } + /// Consumes the builder and constructs a [`EFSAuthorizationConfig`](crate::model::EFSAuthorizationConfig) + pub fn build(self) -> crate::model::EFSAuthorizationConfig { + crate::model::EFSAuthorizationConfig { + access_point_id: self.access_point_id, + iam: self.iam, + } + } + } +} +impl EFSAuthorizationConfig { + /// Creates a new builder-style object to manufacture [`EFSAuthorizationConfig`](crate::model::EFSAuthorizationConfig) + pub fn builder() -> crate::model::efs_authorization_config::Builder { + crate::model::efs_authorization_config::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 EFSAuthorizationConfigIAM { + Disabled, + Enabled, + Unknown(String), +} +impl std::convert::From<&str> for EFSAuthorizationConfigIAM { + fn from(s: &str) -> Self { + match s { + "DISABLED" => EFSAuthorizationConfigIAM::Disabled, + "ENABLED" => EFSAuthorizationConfigIAM::Enabled, + other => EFSAuthorizationConfigIAM::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for EFSAuthorizationConfigIAM { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(EFSAuthorizationConfigIAM::from(s)) + } +} +impl EFSAuthorizationConfigIAM { + pub fn as_str(&self) -> &str { + match self { + EFSAuthorizationConfigIAM::Disabled => "DISABLED", + EFSAuthorizationConfigIAM::Enabled => "ENABLED", + EFSAuthorizationConfigIAM::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for EFSAuthorizationConfigIAM { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for EFSAuthorizationConfigIAM { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 EFSTransitEncryption { + Disabled, + Enabled, + Unknown(String), +} +impl std::convert::From<&str> for EFSTransitEncryption { + fn from(s: &str) -> Self { + match s { + "DISABLED" => EFSTransitEncryption::Disabled, + "ENABLED" => EFSTransitEncryption::Enabled, + other => EFSTransitEncryption::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for EFSTransitEncryption { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(EFSTransitEncryption::from(s)) + } +} +impl EFSTransitEncryption { + pub fn as_str(&self) -> &str { + match self { + EFSTransitEncryption::Disabled => "DISABLED", + EFSTransitEncryption::Enabled => "ENABLED", + EFSTransitEncryption::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for EFSTransitEncryption { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for EFSTransitEncryption { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      This parameter is specified when you are using Docker volumes. Docker volumes are only +/// supported when you are using the EC2 launch type. Windows containers only +/// support the use of the local driver. To use bind mounts, specify a +/// host instead.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DockerVolumeConfiguration { + ///

      The scope for the Docker volume that determines its lifecycle. Docker volumes that are + /// scoped to a task are automatically provisioned when the task starts and + /// destroyed when the task stops. Docker volumes that are scoped as shared + /// persist after the task stops.

      + #[serde(rename = "scope")] + #[serde(default)] + pub scope: std::option::Option, + ///

      If this value is true, the Docker volume is created if it does not + /// already exist.

      + /// + ///

      This field is only used if the scope is shared.

      + ///
      + #[serde(rename = "autoprovision")] + #[serde(default)] + pub autoprovision: std::option::Option, + ///

      The Docker volume driver to use. The driver value must match the driver name provided + /// by Docker because it is used for task placement. If the driver was installed using the + /// Docker plugin CLI, use docker plugin ls to retrieve the driver name from + /// your container instance. If the driver was installed using another method, use Docker + /// plugin discovery to retrieve the driver name. For more information, see Docker + /// plugin discovery. This parameter maps to Driver in the + /// Create a volume section of the Docker Remote API and the + /// xxdriver option to docker + /// volume create.

      + #[serde(rename = "driver")] + #[serde(default)] + pub driver: std::option::Option, + ///

      A map of Docker driver-specific options passed through. This parameter maps to + /// DriverOpts in the Create a volume section of the + /// Docker Remote API and the xxopt option to docker + /// volume create.

      + #[serde(rename = "driverOpts")] + #[serde(default)] + pub driver_opts: + std::option::Option>, + ///

      Custom metadata to add to your Docker volume. This parameter maps to + /// Labels in the Create a volume section of the + /// Docker Remote API and the xxlabel option to docker + /// volume create.

      + #[serde(rename = "labels")] + #[serde(default)] + pub labels: + std::option::Option>, +} +impl std::fmt::Debug for DockerVolumeConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DockerVolumeConfiguration"); + formatter.field("scope", &self.scope); + formatter.field("autoprovision", &self.autoprovision); + formatter.field("driver", &self.driver); + formatter.field("driver_opts", &self.driver_opts); + formatter.field("labels", &self.labels); + formatter.finish() + } +} +/// See [`DockerVolumeConfiguration`](crate::model::DockerVolumeConfiguration) +pub mod docker_volume_configuration { + /// A builder for [`DockerVolumeConfiguration`](crate::model::DockerVolumeConfiguration) + #[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) autoprovision: std::option::Option, + pub(crate) driver: std::option::Option, + pub(crate) driver_opts: std::option::Option< + std::collections::HashMap, + >, + pub(crate) labels: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

      The scope for the Docker volume that determines its lifecycle. Docker volumes that are + /// scoped to a task are automatically provisioned when the task starts and + /// destroyed when the task stops. Docker volumes that are scoped as shared + /// persist after the task stops.

      + pub fn scope(mut self, inp: crate::model::Scope) -> Self { + self.scope = Some(inp); + self + } + pub fn set_scope(mut self, inp: std::option::Option) -> Self { + self.scope = inp; + self + } + ///

      If this value is true, the Docker volume is created if it does not + /// already exist.

      + /// + ///

      This field is only used if the scope is shared.

      + ///
      + pub fn autoprovision(mut self, inp: bool) -> Self { + self.autoprovision = Some(inp); + self + } + pub fn set_autoprovision(mut self, inp: std::option::Option) -> Self { + self.autoprovision = inp; + self + } + ///

      The Docker volume driver to use. The driver value must match the driver name provided + /// by Docker because it is used for task placement. If the driver was installed using the + /// Docker plugin CLI, use docker plugin ls to retrieve the driver name from + /// your container instance. If the driver was installed using another method, use Docker + /// plugin discovery to retrieve the driver name. For more information, see Docker + /// plugin discovery. This parameter maps to Driver in the + /// Create a volume section of the Docker Remote API and the + /// xxdriver option to docker + /// volume create.

      + pub fn driver(mut self, inp: impl Into) -> Self { + self.driver = Some(inp.into()); + self + } + pub fn set_driver(mut self, inp: std::option::Option) -> Self { + self.driver = inp; + self + } + pub fn driver_opts( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.driver_opts.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.driver_opts = Some(hash_map); + self + } + pub fn set_driver_opts( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.driver_opts = inp; + self + } + pub fn labels( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.labels.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.labels = Some(hash_map); + self + } + pub fn set_labels( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.labels = inp; + self + } + /// Consumes the builder and constructs a [`DockerVolumeConfiguration`](crate::model::DockerVolumeConfiguration) + pub fn build(self) -> crate::model::DockerVolumeConfiguration { + crate::model::DockerVolumeConfiguration { + scope: self.scope, + autoprovision: self.autoprovision, + driver: self.driver, + driver_opts: self.driver_opts, + labels: self.labels, + } + } + } +} +impl DockerVolumeConfiguration { + /// Creates a new builder-style object to manufacture [`DockerVolumeConfiguration`](crate::model::DockerVolumeConfiguration) + pub fn builder() -> crate::model::docker_volume_configuration::Builder { + crate::model::docker_volume_configuration::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 Scope { + Shared, + Task, + Unknown(String), +} +impl std::convert::From<&str> for Scope { + fn from(s: &str) -> Self { + match s { + "shared" => Scope::Shared, + "task" => Scope::Task, + other => Scope::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for Scope { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(Scope::from(s)) + } +} +impl Scope { + pub fn as_str(&self) -> &str { + match self { + Scope::Shared => "shared", + Scope::Task => "task", + Scope::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for Scope { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for Scope { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Details on a container instance bind mount host volume.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct HostVolumeProperties { + ///

      When the host parameter is used, specify a sourcePath to + /// declare the path on the host container instance that is presented to the container. If + /// this parameter is empty, then the Docker daemon has assigned a host path for you. If the + /// host parameter contains a sourcePath file location, then + /// the data volume persists at the specified location on the host container instance until + /// you delete it manually. If the sourcePath value does not exist on the host + /// container instance, the Docker daemon creates it. If the location does exist, the + /// contents of the source path folder are exported.

      + ///

      If you are using the Fargate launch type, the sourcePath + /// parameter is not supported.

      + #[serde(rename = "sourcePath")] + #[serde(default)] + pub source_path: std::option::Option, +} +impl std::fmt::Debug for HostVolumeProperties { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("HostVolumeProperties"); + formatter.field("source_path", &self.source_path); + formatter.finish() + } +} +/// See [`HostVolumeProperties`](crate::model::HostVolumeProperties) +pub mod host_volume_properties { + /// A builder for [`HostVolumeProperties`](crate::model::HostVolumeProperties) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) source_path: std::option::Option, + } + impl Builder { + ///

      When the host parameter is used, specify a sourcePath to + /// declare the path on the host container instance that is presented to the container. If + /// this parameter is empty, then the Docker daemon has assigned a host path for you. If the + /// host parameter contains a sourcePath file location, then + /// the data volume persists at the specified location on the host container instance until + /// you delete it manually. If the sourcePath value does not exist on the host + /// container instance, the Docker daemon creates it. If the location does exist, the + /// contents of the source path folder are exported.

      + ///

      If you are using the Fargate launch type, the sourcePath + /// parameter is not supported.

      + pub fn source_path(mut self, inp: impl Into) -> Self { + self.source_path = Some(inp.into()); + self + } + pub fn set_source_path(mut self, inp: std::option::Option) -> Self { + self.source_path = inp; + self + } + /// Consumes the builder and constructs a [`HostVolumeProperties`](crate::model::HostVolumeProperties) + pub fn build(self) -> crate::model::HostVolumeProperties { + crate::model::HostVolumeProperties { + source_path: self.source_path, + } + } + } +} +impl HostVolumeProperties { + /// Creates a new builder-style object to manufacture [`HostVolumeProperties`](crate::model::HostVolumeProperties) + pub fn builder() -> crate::model::host_volume_properties::Builder { + crate::model::host_volume_properties::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 NetworkMode { + Awsvpc, + Bridge, + Host, + None, + Unknown(String), +} +impl std::convert::From<&str> for NetworkMode { + fn from(s: &str) -> Self { + match s { + "awsvpc" => NetworkMode::Awsvpc, + "bridge" => NetworkMode::Bridge, + "host" => NetworkMode::Host, + "none" => NetworkMode::None, + other => NetworkMode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for NetworkMode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(NetworkMode::from(s)) + } +} +impl NetworkMode { + pub fn as_str(&self) -> &str { + match self { + NetworkMode::Awsvpc => "awsvpc", + NetworkMode::Bridge => "bridge", + NetworkMode::Host => "host", + NetworkMode::None => "none", + NetworkMode::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for NetworkMode { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for NetworkMode { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Container definitions are used in task definitions to describe the different +/// containers that are launched as part of a task.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ContainerDefinition { + ///

      The name of a container. If you are linking multiple containers together in a task + /// definition, the name of one container can be entered in the + /// links of another container to connect the containers. + /// Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to name in the + /// Create a container section of the Docker Remote API and the + /// --name option to docker + /// run.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The image used to start a container. This string is passed directly to the Docker + /// daemon. Images in the Docker Hub registry are available by default. Other repositories + /// are specified with either + /// repository-url/image:tag + /// or + /// repository-url/image@digest + /// . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the + /// Create a container section of the Docker Remote API and the + /// IMAGE parameter of docker + /// run.

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

        When a new task starts, the Amazon ECS container agent pulls the latest version of + /// the specified image and tag for the container to use. However, subsequent + /// updates to a repository image are not propagated to already running + /// tasks.

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

        Images in Amazon ECR repositories can be specified by either using the full + /// registry/repository:tag or + /// registry/repository@digest. For example, + /// 012345678910.dkr.ecr..amazonaws.com/:latest + /// or + /// 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. + ///

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

        Images in official repositories on Docker Hub use a single name (for example, + /// ubuntu or mongo).

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

        Images in other repositories on Docker Hub are qualified with an organization + /// name (for example, amazon/amazon-ecs-agent).

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

        Images in other online repositories are qualified further by a domain name + /// (for example, quay.io/assemblyline/ubuntu).

        + ///
      • + ///
      + #[serde(rename = "image")] + #[serde(default)] + pub image: std::option::Option, + ///

      The private repository authentication credentials to use.

      + #[serde(rename = "repositoryCredentials")] + #[serde(default)] + pub repository_credentials: std::option::Option, + ///

      The number of cpu units reserved for the container. This parameter maps + /// to CpuShares in the Create a container section of the + /// Docker Remote API and the --cpu-shares option to docker run.

      + ///

      This field is optional for tasks using the Fargate launch type, and the + /// only requirement is that the total amount of CPU reserved for all containers within a + /// task be lower than the task-level cpu value.

      + /// + ///

      You can determine the number of CPU units that are available per EC2 instance type + /// by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page + /// by 1,024.

      + ///
      + ///

      Linux containers share unallocated CPU units with other containers on the container + /// instance with the same ratio as their allocated amount. For example, if you run a + /// single-container task on a single-core instance type with 512 CPU units specified for + /// that container, and that is the only task running on the container instance, that + /// container could use the full 1,024 CPU unit share at any given time. However, if you + /// launched another copy of the same task on that container instance, each task would be + /// guaranteed a minimum of 512 CPU units when needed, and each container could float to + /// higher CPU usage if the other container was not using it, but if both tasks were 100% + /// active all of the time, they would be limited to 512 CPU units.

      + ///

      On Linux container instances, the Docker daemon on the container instance uses the CPU + /// value to calculate the relative CPU share ratios for running containers. For more + /// information, see CPU share + /// constraint in the Docker documentation. The minimum valid CPU share value + /// that the Linux kernel allows is 2. However, the CPU parameter is not required, and you + /// can use CPU values below 2 in your container definitions. For CPU values below 2 + /// (including null), the behavior varies based on your Amazon ECS container agent + /// version:

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

        + /// Agent versions less than or equal to 1.1.0: + /// Null and zero CPU values are passed to Docker as 0, which Docker then converts + /// to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux + /// kernel converts to two CPU shares.

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

        + /// Agent versions greater than or equal to 1.2.0: + /// Null, zero, and CPU values of 1 are passed to Docker as 2.

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

      On Windows container instances, the CPU limit is enforced as an absolute limit, or a + /// quota. Windows containers only have access to the specified amount of CPU that is + /// described in the task definition. A null or zero CPU value is passed to Docker as + /// 0, which Windows interprets as 1% of one CPU.

      + #[serde(rename = "cpu")] + pub cpu: i32, + ///

      The amount (in MiB) of memory to present to the container. If your container attempts + /// to exceed the memory specified here, the container is killed. The total amount of memory + /// reserved for all containers within a task must be lower than the task + /// memory value, if one is specified. This parameter maps to + /// Memory in the Create a container section of the + /// Docker Remote API and the --memory option to docker run.

      + ///

      If using the Fargate launch type, this parameter is optional.

      + ///

      If using the EC2 launch type, you must specify either a task-level + /// memory value or a container-level memory value. If you specify both a container-level + /// memory and memoryReservation value, memory + /// must be greater than memoryReservation. If you specify + /// memoryReservation, then that value is subtracted from the available + /// memory resources for the container instance on which the container is placed. Otherwise, + /// the value of memory is used.

      + ///

      The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + /// not specify fewer than 4 MiB of memory for your containers.

      + #[serde(rename = "memory")] + #[serde(default)] + pub memory: std::option::Option, + ///

      The soft limit (in MiB) of memory to reserve for the container. When system memory is + /// under heavy contention, Docker attempts to keep the container memory to this soft limit. + /// However, your container can consume more memory when it needs to, up to either the hard + /// limit specified with the memory parameter (if applicable), or all of the + /// available memory on the container instance, whichever comes first. This parameter maps + /// to MemoryReservation in the Create a container section of + /// the Docker Remote API and the --memory-reservation option to docker run.

      + ///

      If a task-level memory value is not specified, you must specify a non-zero integer for + /// one or both of memory or memoryReservation in a container + /// definition. If you specify both, memory must be greater than + /// memoryReservation. If you specify memoryReservation, then + /// that value is subtracted from the available memory resources for the container instance + /// on which the container is placed. Otherwise, the value of memory is + /// used.

      + ///

      For example, if your container normally uses 128 MiB of memory, but occasionally + /// bursts to 256 MiB of memory for short periods of time, you can set a + /// memoryReservation of 128 MiB, and a memory hard limit of + /// 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory + /// from the remaining resources on the container instance, but also allow the container to + /// consume more memory resources when needed.

      + ///

      The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + /// not specify fewer than 4 MiB of memory for your containers.

      + #[serde(rename = "memoryReservation")] + #[serde(default)] + pub memory_reservation: std::option::Option, + ///

      The links parameter allows containers to communicate with each other + /// without the need for port mappings. This parameter is only supported if the network mode + /// of a task definition is bridge. The name:internalName + /// construct is analogous to name:alias in Docker links. + /// Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to + /// Legacy container links + /// in the Docker documentation. This parameter maps to Links in the + /// Create a container section of the Docker Remote API and the + /// --link option to docker + /// run.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + /// + ///

      Containers that are collocated on a single container instance may be able to + /// communicate with each other without requiring links or host port mappings. Network + /// isolation is achieved on the container instance using security groups and VPC + /// settings.

      + ///
      + #[serde(rename = "links")] + #[serde(default)] + pub links: std::option::Option>, + ///

      The list of port mappings for the container. Port mappings allow containers to access + /// ports on the host container instance to send or receive traffic.

      + ///

      For task definitions that use the awsvpc network mode, you should only + /// specify the containerPort. The hostPort can be left blank or + /// it must be the same value as the containerPort.

      + ///

      Port mappings on Windows use the NetNAT gateway address rather than + /// localhost. There is no loopback for port mappings on Windows, so you + /// cannot access a container's mapped port from the host itself.

      + ///

      This parameter maps to PortBindings in the + /// Create a container section of the Docker Remote API and the + /// --publish option to docker + /// run. If the network mode of a task definition is set to none, + /// then you can't specify port mappings. If the network mode of a task definition is set to + /// host, then host ports must either be undefined or they must match the + /// container port in the port mapping.

      + /// + ///

      After a task reaches the RUNNING status, manual and automatic host + /// and container port assignments are visible in the Network + /// Bindings section of a container description for a selected task in + /// the Amazon ECS console. The assignments are also visible in the + /// networkBindings section DescribeTasks + /// responses.

      + ///
      + #[serde(rename = "portMappings")] + #[serde(default)] + pub port_mappings: std::option::Option>, + ///

      If the essential parameter of a container is marked as true, + /// and that container fails or stops for any reason, all other containers that are part of + /// the task are stopped. If the essential parameter of a container is marked + /// as false, then its failure does not affect the rest of the containers in a + /// task. If this parameter is omitted, a container is assumed to be essential.

      + ///

      All tasks must have at least one essential container. If you have an application that + /// is composed of multiple containers, you should group containers that are used for a + /// common purpose into components, and separate the different components into multiple task + /// definitions. For more information, see Application + /// Architecture in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "essential")] + #[serde(default)] + pub essential: std::option::Option, + /// + ///

      Early versions of the Amazon ECS container agent do not properly handle + /// entryPoint parameters. If you have problems using + /// entryPoint, update your container agent or enter your commands and + /// arguments as command array items instead.

      + ///
      + ///

      The entry point that is passed to the container. This parameter maps to + /// Entrypoint in the Create a container section of the + /// Docker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

      + #[serde(rename = "entryPoint")] + #[serde(default)] + pub entry_point: std::option::Option>, + ///

      The command that is passed to the container. This parameter maps to Cmd + /// in the Create a container section of the Docker Remote API and the + /// COMMAND parameter to docker + /// run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each + /// argument should be a separated string in the array.

      + #[serde(rename = "command")] + #[serde(default)] + pub command: std::option::Option>, + ///

      The environment variables to pass to a container. This parameter maps to + /// Env in the Create a container section of the + /// Docker Remote API and the --env option to docker run.

      + /// + ///

      We do not recommend using plaintext environment variables for sensitive + /// information, such as credential data.

      + ///
      + #[serde(rename = "environment")] + #[serde(default)] + pub environment: std::option::Option>, + ///

      A list of files containing the environment variables to pass to a container. This + /// parameter maps to the --env-file option to docker run.

      + ///

      You can specify up to ten environment files. The file must have a .env + /// file extension. Each line in an environment file should contain an environment variable + /// in VARIABLE=VALUE format. Lines beginning with # are treated + /// as comments and are ignored. For more information on the environment variable file + /// syntax, see Declare default + /// environment variables in file.

      + ///

      If there are environment variables specified using the environment + /// parameter in a container definition, they take precedence over the variables contained + /// within an environment file. If multiple environment files are specified that contain the + /// same variable, they are processed from the top down. It is recommended to use unique + /// variable names. For more information, see Specifying Environment + /// Variables in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "environmentFiles")] + #[serde(default)] + pub environment_files: std::option::Option>, + ///

      The mount points for data volumes in your container.

      + ///

      This parameter maps to Volumes in the Create a container + /// section of the Docker Remote API and the --volume option to docker run.

      + ///

      Windows containers can mount whole directories on the same drive as + /// $env:ProgramData. Windows containers cannot mount directories on a + /// different drive, and mount point cannot be across drives.

      + #[serde(rename = "mountPoints")] + #[serde(default)] + pub mount_points: std::option::Option>, + ///

      Data volumes to mount from another container. This parameter maps to + /// VolumesFrom in the Create a container section of the + /// Docker Remote API and the --volumes-from option to docker run.

      + #[serde(rename = "volumesFrom")] + #[serde(default)] + pub volumes_from: std::option::Option>, + ///

      Linux-specific modifications that are applied to the container, such as Linux kernel + /// capabilities. For more information see KernelCapabilities.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "linuxParameters")] + #[serde(default)] + pub linux_parameters: std::option::Option, + ///

      The secrets to pass to the container. For more information, see Specifying + /// Sensitive Data in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "secrets")] + #[serde(default)] + pub secrets: std::option::Option>, + ///

      The dependencies defined for container startup and shutdown. A container can contain + /// multiple dependencies. When a dependency is defined for container startup, for container + /// shutdown it is reversed.

      + ///

      For tasks using the EC2 launch type, the container instances require at + /// least version 1.26.0 of the container agent to enable container dependencies. However, + /// we recommend using the latest container agent version. For information about checking + /// your agent version and updating to the latest version, see Updating the Amazon ECS + /// Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + /// using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + /// ecs-init package. If your container instances are launched from version + /// 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + ///

      For tasks using the Fargate launch type, the task or service requires + /// platform version 1.3.0 or later.

      + #[serde(rename = "dependsOn")] + #[serde(default)] + pub depends_on: std::option::Option>, + ///

      Time duration (in seconds) to wait before giving up on resolving dependencies for a + /// container. For example, you specify two containers in a task definition with containerA + /// having a dependency on containerB reaching a COMPLETE, + /// SUCCESS, or HEALTHY status. If a startTimeout + /// value is specified for containerB and it does not reach the desired status within that + /// time then containerA will give up and not start. This results in the task transitioning + /// to a STOPPED state.

      + /// + ///

      When the ECS_CONTAINER_START_TIMEOUT container agent configuration + /// variable is used, it is enforced indendently from this start timeout value.

      + ///
      + ///

      For tasks using the Fargate launch type, this parameter requires that + /// the task or service uses platform version 1.3.0 or later.

      + ///

      For tasks using the EC2 launch type, your container instances require at + /// least version 1.26.0 of the container agent to enable a container start + /// timeout value. However, we recommend using the latest container agent version. For + /// information about checking your agent version and updating to the latest version, see + /// Updating the Amazon ECS + /// Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + /// using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of + /// the ecs-init package. If your container instances are launched from version + /// 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "startTimeout")] + #[serde(default)] + pub start_timeout: std::option::Option, + ///

      Time duration (in seconds) to wait before the container is forcefully killed if it + /// doesn't exit normally on its own.

      + ///

      For tasks using the Fargate launch type, the task or service requires + /// platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the + /// parameter is not specified, the default value of 30 seconds is used.

      + ///

      For tasks using the EC2 launch type, if the stopTimeout + /// parameter is not specified, the value set for the Amazon ECS container agent configuration + /// variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the + /// stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT + /// agent configuration variable are set, then the default values of 30 seconds for Linux + /// containers and 30 seconds on Windows containers are used. Your container instances + /// require at least version 1.26.0 of the container agent to enable a container stop + /// timeout value. However, we recommend using the latest container agent version. For + /// information about checking your agent version and updating to the latest version, see + /// Updating the Amazon ECS + /// Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + /// using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + /// ecs-init package. If your container instances are launched from version + /// 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "stopTimeout")] + #[serde(default)] + pub stop_timeout: std::option::Option, + ///

      The hostname to use for your container. This parameter maps to Hostname + /// in the Create a container section of the Docker Remote API and the + /// --hostname option to docker + /// run.

      + /// + ///

      The hostname parameter is not supported if you are using the + /// awsvpc network mode.

      + ///
      + #[serde(rename = "hostname")] + #[serde(default)] + pub hostname: std::option::Option, + ///

      The user to use inside the container. This parameter maps to User in the + /// Create a container section of the Docker Remote API and the + /// --user option to docker + /// run.

      + /// + ///

      When running tasks using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice to use a + /// non-root user.

      + ///
      + ///

      You can specify the user using the following formats. If specifying a UID + /// or GID, you must specify it as a positive integer.

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

        + /// user + ///

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

        + /// user:group + ///

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

        + /// uid + ///

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

        + /// uid:gid + ///

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

        + /// user:gid + ///

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

        + /// uid:group + ///

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

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "user")] + #[serde(default)] + pub user: std::option::Option, + ///

      The working directory in which to run commands inside the container. This parameter + /// maps to WorkingDir in the Create a container section of the + /// Docker Remote API and the --workdir option to docker run.

      + #[serde(rename = "workingDirectory")] + #[serde(default)] + pub working_directory: std::option::Option, + ///

      When this parameter is true, networking is disabled within the container. This + /// parameter maps to NetworkDisabled in the Create a container + /// section of the Docker Remote API.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "disableNetworking")] + #[serde(default)] + pub disable_networking: std::option::Option, + ///

      When this parameter is true, the container is given elevated privileges on the host + /// container instance (similar to the root user). This parameter maps to + /// Privileged in the Create a container section of the + /// Docker Remote API and the --privileged option to docker run.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + #[serde(rename = "privileged")] + #[serde(default)] + pub privileged: std::option::Option, + ///

      When this parameter is true, the container is given read-only access to its root file + /// system. This parameter maps to ReadonlyRootfs in the + /// Create a container section of the Docker Remote API and the + /// --read-only option to docker + /// run.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "readonlyRootFilesystem")] + #[serde(default)] + pub readonly_root_filesystem: std::option::Option, + ///

      A list of DNS servers that are presented to the container. This parameter maps to + /// Dns in the Create a container section of the + /// Docker Remote API and the --dns option to docker run.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "dnsServers")] + #[serde(default)] + pub dns_servers: std::option::Option>, + ///

      A list of DNS search domains that are presented to the container. This parameter maps + /// to DnsSearch in the Create a container section of the + /// Docker Remote API and the --dns-search option to docker run.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "dnsSearchDomains")] + #[serde(default)] + pub dns_search_domains: std::option::Option>, + ///

      A list of hostnames and IP address mappings to append to the /etc/hosts + /// file on the container. This parameter maps to ExtraHosts in the + /// Create a container section of the Docker Remote API and the + /// --add-host option to docker + /// run.

      + /// + ///

      This parameter is not supported for Windows containers or tasks that use the + /// awsvpc network mode.

      + ///
      + #[serde(rename = "extraHosts")] + #[serde(default)] + pub extra_hosts: std::option::Option>, + ///

      A list of strings to provide custom labels for SELinux and AppArmor multi-level + /// security systems. This field is not valid for containers in tasks using the + /// Fargate launch type.

      + ///

      With Windows containers, this parameter can be used to reference a credential spec + /// file when configuring a container for Active Directory authentication. For more + /// information, see Using gMSAs for Windows + /// Containers in the Amazon Elastic Container Service Developer Guide.

      + ///

      This parameter maps to SecurityOpt in the + /// Create a container section of the Docker Remote API and the + /// --security-opt option to docker + /// run.

      + /// + ///

      The Amazon ECS container agent running on a container instance must register with the + /// ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true + /// environment variables before containers placed on that instance can use these + /// security options. For more information, see Amazon ECS Container + /// Agent Configuration in the Amazon Elastic Container Service Developer Guide.

      + ///
      + ///

      For more information about valid values, see Docker + /// Run Security Configuration.

      + ///

      Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | + /// "credentialspec:CredentialSpecFilePath"

      + #[serde(rename = "dockerSecurityOptions")] + #[serde(default)] + pub docker_security_options: std::option::Option>, + ///

      When this parameter is true, this allows you to deploy containerized + /// applications that require stdin or a tty to be allocated. This + /// parameter maps to OpenStdin in the Create a container + /// section of the Docker Remote API and the --interactive option to docker run.

      + #[serde(rename = "interactive")] + #[serde(default)] + pub interactive: std::option::Option, + ///

      When this parameter is true, a TTY is allocated. This parameter maps to + /// Tty in the Create a container section of the + /// Docker Remote API and the --tty option to docker run.

      + #[serde(rename = "pseudoTerminal")] + #[serde(default)] + pub pseudo_terminal: std::option::Option, + ///

      A key/value map of labels to add to the container. This parameter maps to + /// Labels in the Create a container section of the + /// Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + #[serde(rename = "dockerLabels")] + #[serde(default)] + pub docker_labels: + std::option::Option>, + ///

      A list of ulimits to set in the container. If a ulimit value is specified + /// in a task definition, it will override the default values set by Docker. This parameter + /// maps to Ulimits in the Create a container section of the + /// Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed + /// in the Ulimit data type.

      + ///

      Amazon ECS tasks hosted on Fargate use the default + /// resource limit values set by the operating system with the exception of + /// the nofile resource limit parameter which Fargate + /// overrides. The nofile resource limit sets a restriction on + /// the number of open files that a container can use. The default + /// nofile soft limit is 1024 and hard limit + /// is 4096.

      + ///

      This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + #[serde(rename = "ulimits")] + #[serde(default)] + pub ulimits: std::option::Option>, + ///

      The log configuration specification for the container.

      + ///

      This parameter maps to LogConfig in the + /// Create a container section of the Docker Remote API and the + /// --log-driver option to docker + /// run. By default, containers use the same logging driver that the Docker + /// daemon uses. However the container may use a different logging driver than the Docker + /// daemon by specifying a log driver with this parameter in the container definition. To + /// use a different logging driver for a container, the log system must be configured + /// properly on the container instance (or on a different log server for remote logging + /// options). For more information on the options for different supported log drivers, see + /// Configure + /// logging drivers in the Docker documentation.

      + /// + ///

      Amazon ECS currently supports a subset of the logging drivers available to the Docker + /// daemon (shown in the LogConfiguration data type). Additional log + /// drivers may be available in future releases of the Amazon ECS container agent.

      + ///
      + ///

      This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + /// + ///

      The Amazon ECS container agent running on a container instance must register the + /// logging drivers available on that instance with the + /// ECS_AVAILABLE_LOGGING_DRIVERS environment variable before + /// containers placed on that instance can use these log configuration options. For more + /// information, see Amazon ECS Container + /// Agent Configuration in the Amazon Elastic Container Service Developer Guide.

      + ///
      + #[serde(rename = "logConfiguration")] + #[serde(default)] + pub log_configuration: std::option::Option, + ///

      The container health check command and associated configuration parameters for the + /// container. This parameter maps to HealthCheck in the + /// Create a container section of the Docker Remote API and the + /// HEALTHCHECK parameter of docker + /// run.

      + #[serde(rename = "healthCheck")] + #[serde(default)] + pub health_check: std::option::Option, + ///

      A list of namespaced kernel parameters to set in the container. This parameter maps to + /// Sysctls in the Create a container section of the + /// Docker Remote API and the --sysctl option to docker run.

      + /// + ///

      It is not recommended that you specify network-related systemControls + /// parameters for multiple containers in a single task that also uses either the + /// awsvpc or host network modes. For tasks that use the + /// awsvpc network mode, the container that is started last determines + /// which systemControls parameters take effect. For tasks that use the + /// host network mode, it changes the container instance's namespaced + /// kernel parameters as well as the containers.

      + ///
      + #[serde(rename = "systemControls")] + #[serde(default)] + pub system_controls: std::option::Option>, + ///

      The type and amount of a resource to assign to a container. The only supported + /// resource is a GPU.

      + #[serde(rename = "resourceRequirements")] + #[serde(default)] + pub resource_requirements: + std::option::Option>, + ///

      The FireLens configuration for the container. This is used to specify and configure a + /// log router for container logs. For more information, see Custom Log Routing + /// in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "firelensConfiguration")] + #[serde(default)] + pub firelens_configuration: std::option::Option, +} +impl std::fmt::Debug for ContainerDefinition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ContainerDefinition"); + formatter.field("name", &self.name); + formatter.field("image", &self.image); + formatter.field("repository_credentials", &self.repository_credentials); + formatter.field("cpu", &self.cpu); + formatter.field("memory", &self.memory); + formatter.field("memory_reservation", &self.memory_reservation); + formatter.field("links", &self.links); + formatter.field("port_mappings", &self.port_mappings); + formatter.field("essential", &self.essential); + formatter.field("entry_point", &self.entry_point); + formatter.field("command", &self.command); + formatter.field("environment", &self.environment); + formatter.field("environment_files", &self.environment_files); + formatter.field("mount_points", &self.mount_points); + formatter.field("volumes_from", &self.volumes_from); + formatter.field("linux_parameters", &self.linux_parameters); + formatter.field("secrets", &self.secrets); + formatter.field("depends_on", &self.depends_on); + formatter.field("start_timeout", &self.start_timeout); + formatter.field("stop_timeout", &self.stop_timeout); + formatter.field("hostname", &self.hostname); + formatter.field("user", &self.user); + formatter.field("working_directory", &self.working_directory); + formatter.field("disable_networking", &self.disable_networking); + formatter.field("privileged", &self.privileged); + formatter.field("readonly_root_filesystem", &self.readonly_root_filesystem); + formatter.field("dns_servers", &self.dns_servers); + formatter.field("dns_search_domains", &self.dns_search_domains); + formatter.field("extra_hosts", &self.extra_hosts); + formatter.field("docker_security_options", &self.docker_security_options); + formatter.field("interactive", &self.interactive); + formatter.field("pseudo_terminal", &self.pseudo_terminal); + formatter.field("docker_labels", &self.docker_labels); + formatter.field("ulimits", &self.ulimits); + formatter.field("log_configuration", &self.log_configuration); + formatter.field("health_check", &self.health_check); + formatter.field("system_controls", &self.system_controls); + formatter.field("resource_requirements", &self.resource_requirements); + formatter.field("firelens_configuration", &self.firelens_configuration); + formatter.finish() + } +} +/// See [`ContainerDefinition`](crate::model::ContainerDefinition) +pub mod container_definition { + /// A builder for [`ContainerDefinition`](crate::model::ContainerDefinition) + #[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) image: std::option::Option, + pub(crate) repository_credentials: std::option::Option, + pub(crate) cpu: std::option::Option, + pub(crate) memory: std::option::Option, + pub(crate) memory_reservation: std::option::Option, + pub(crate) links: std::option::Option>, + pub(crate) port_mappings: std::option::Option>, + pub(crate) essential: std::option::Option, + pub(crate) entry_point: std::option::Option>, + pub(crate) command: std::option::Option>, + pub(crate) environment: std::option::Option>, + pub(crate) environment_files: + std::option::Option>, + pub(crate) mount_points: std::option::Option>, + pub(crate) volumes_from: std::option::Option>, + pub(crate) linux_parameters: std::option::Option, + pub(crate) secrets: std::option::Option>, + pub(crate) depends_on: + std::option::Option>, + pub(crate) start_timeout: std::option::Option, + pub(crate) stop_timeout: std::option::Option, + pub(crate) hostname: std::option::Option, + pub(crate) user: std::option::Option, + pub(crate) working_directory: std::option::Option, + pub(crate) disable_networking: std::option::Option, + pub(crate) privileged: std::option::Option, + pub(crate) readonly_root_filesystem: std::option::Option, + pub(crate) dns_servers: std::option::Option>, + pub(crate) dns_search_domains: std::option::Option>, + pub(crate) extra_hosts: std::option::Option>, + pub(crate) docker_security_options: std::option::Option>, + pub(crate) interactive: std::option::Option, + pub(crate) pseudo_terminal: std::option::Option, + pub(crate) docker_labels: std::option::Option< + std::collections::HashMap, + >, + pub(crate) ulimits: std::option::Option>, + pub(crate) log_configuration: std::option::Option, + pub(crate) health_check: std::option::Option, + pub(crate) system_controls: std::option::Option>, + pub(crate) resource_requirements: + std::option::Option>, + pub(crate) firelens_configuration: std::option::Option, + } + impl Builder { + ///

      The name of a container. If you are linking multiple containers together in a task + /// definition, the name of one container can be entered in the + /// links of another container to connect the containers. + /// Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to name in the + /// Create a container section of the Docker Remote API and the + /// --name option to docker + /// run.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The image used to start a container. This string is passed directly to the Docker + /// daemon. Images in the Docker Hub registry are available by default. Other repositories + /// are specified with either + /// repository-url/image:tag + /// or + /// repository-url/image@digest + /// . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the + /// Create a container section of the Docker Remote API and the + /// IMAGE parameter of docker + /// run.

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

        When a new task starts, the Amazon ECS container agent pulls the latest version of + /// the specified image and tag for the container to use. However, subsequent + /// updates to a repository image are not propagated to already running + /// tasks.

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

        Images in Amazon ECR repositories can be specified by either using the full + /// registry/repository:tag or + /// registry/repository@digest. For example, + /// 012345678910.dkr.ecr..amazonaws.com/:latest + /// or + /// 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. + ///

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

        Images in official repositories on Docker Hub use a single name (for example, + /// ubuntu or mongo).

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

        Images in other repositories on Docker Hub are qualified with an organization + /// name (for example, amazon/amazon-ecs-agent).

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

        Images in other online repositories are qualified further by a domain name + /// (for example, quay.io/assemblyline/ubuntu).

        + ///
      • + ///
      + pub fn image(mut self, inp: impl Into) -> Self { + self.image = Some(inp.into()); + self + } + pub fn set_image(mut self, inp: std::option::Option) -> Self { + self.image = inp; + self + } + ///

      The private repository authentication credentials to use.

      + pub fn repository_credentials(mut self, inp: crate::model::RepositoryCredentials) -> Self { + self.repository_credentials = Some(inp); + self + } + pub fn set_repository_credentials( + mut self, + inp: std::option::Option, + ) -> Self { + self.repository_credentials = inp; + self + } + ///

      The number of cpu units reserved for the container. This parameter maps + /// to CpuShares in the Create a container section of the + /// Docker Remote API and the --cpu-shares option to docker run.

      + ///

      This field is optional for tasks using the Fargate launch type, and the + /// only requirement is that the total amount of CPU reserved for all containers within a + /// task be lower than the task-level cpu value.

      + /// + ///

      You can determine the number of CPU units that are available per EC2 instance type + /// by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page + /// by 1,024.

      + ///
      + ///

      Linux containers share unallocated CPU units with other containers on the container + /// instance with the same ratio as their allocated amount. For example, if you run a + /// single-container task on a single-core instance type with 512 CPU units specified for + /// that container, and that is the only task running on the container instance, that + /// container could use the full 1,024 CPU unit share at any given time. However, if you + /// launched another copy of the same task on that container instance, each task would be + /// guaranteed a minimum of 512 CPU units when needed, and each container could float to + /// higher CPU usage if the other container was not using it, but if both tasks were 100% + /// active all of the time, they would be limited to 512 CPU units.

      + ///

      On Linux container instances, the Docker daemon on the container instance uses the CPU + /// value to calculate the relative CPU share ratios for running containers. For more + /// information, see CPU share + /// constraint in the Docker documentation. The minimum valid CPU share value + /// that the Linux kernel allows is 2. However, the CPU parameter is not required, and you + /// can use CPU values below 2 in your container definitions. For CPU values below 2 + /// (including null), the behavior varies based on your Amazon ECS container agent + /// version:

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

        + /// Agent versions less than or equal to 1.1.0: + /// Null and zero CPU values are passed to Docker as 0, which Docker then converts + /// to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux + /// kernel converts to two CPU shares.

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

        + /// Agent versions greater than or equal to 1.2.0: + /// Null, zero, and CPU values of 1 are passed to Docker as 2.

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

      On Windows container instances, the CPU limit is enforced as an absolute limit, or a + /// quota. Windows containers only have access to the specified amount of CPU that is + /// described in the task definition. A null or zero CPU value is passed to Docker as + /// 0, which Windows interprets as 1% of one CPU.

      + pub fn cpu(mut self, inp: i32) -> Self { + self.cpu = Some(inp); + self + } + pub fn set_cpu(mut self, inp: i32) -> Self { + self.cpu = Some(inp); + self + } + ///

      The amount (in MiB) of memory to present to the container. If your container attempts + /// to exceed the memory specified here, the container is killed. The total amount of memory + /// reserved for all containers within a task must be lower than the task + /// memory value, if one is specified. This parameter maps to + /// Memory in the Create a container section of the + /// Docker Remote API and the --memory option to docker run.

      + ///

      If using the Fargate launch type, this parameter is optional.

      + ///

      If using the EC2 launch type, you must specify either a task-level + /// memory value or a container-level memory value. If you specify both a container-level + /// memory and memoryReservation value, memory + /// must be greater than memoryReservation. If you specify + /// memoryReservation, then that value is subtracted from the available + /// memory resources for the container instance on which the container is placed. Otherwise, + /// the value of memory is used.

      + ///

      The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + /// not specify fewer than 4 MiB of memory for your containers.

      + pub fn memory(mut self, inp: i32) -> Self { + self.memory = Some(inp); + self + } + pub fn set_memory(mut self, inp: std::option::Option) -> Self { + self.memory = inp; + self + } + ///

      The soft limit (in MiB) of memory to reserve for the container. When system memory is + /// under heavy contention, Docker attempts to keep the container memory to this soft limit. + /// However, your container can consume more memory when it needs to, up to either the hard + /// limit specified with the memory parameter (if applicable), or all of the + /// available memory on the container instance, whichever comes first. This parameter maps + /// to MemoryReservation in the Create a container section of + /// the Docker Remote API and the --memory-reservation option to docker run.

      + ///

      If a task-level memory value is not specified, you must specify a non-zero integer for + /// one or both of memory or memoryReservation in a container + /// definition. If you specify both, memory must be greater than + /// memoryReservation. If you specify memoryReservation, then + /// that value is subtracted from the available memory resources for the container instance + /// on which the container is placed. Otherwise, the value of memory is + /// used.

      + ///

      For example, if your container normally uses 128 MiB of memory, but occasionally + /// bursts to 256 MiB of memory for short periods of time, you can set a + /// memoryReservation of 128 MiB, and a memory hard limit of + /// 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory + /// from the remaining resources on the container instance, but also allow the container to + /// consume more memory resources when needed.

      + ///

      The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + /// not specify fewer than 4 MiB of memory for your containers.

      + pub fn memory_reservation(mut self, inp: i32) -> Self { + self.memory_reservation = Some(inp); + self + } + pub fn set_memory_reservation(mut self, inp: std::option::Option) -> Self { + self.memory_reservation = inp; + self + } + pub fn links(mut self, inp: impl Into) -> Self { + let mut v = self.links.unwrap_or_default(); + v.push(inp.into()); + self.links = Some(v); + self + } + pub fn set_links( + mut self, + inp: std::option::Option>, + ) -> Self { + self.links = inp; + self + } + pub fn port_mappings(mut self, inp: impl Into) -> Self { + let mut v = self.port_mappings.unwrap_or_default(); + v.push(inp.into()); + self.port_mappings = Some(v); + self + } + pub fn set_port_mappings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.port_mappings = inp; + self + } + ///

      If the essential parameter of a container is marked as true, + /// and that container fails or stops for any reason, all other containers that are part of + /// the task are stopped. If the essential parameter of a container is marked + /// as false, then its failure does not affect the rest of the containers in a + /// task. If this parameter is omitted, a container is assumed to be essential.

      + ///

      All tasks must have at least one essential container. If you have an application that + /// is composed of multiple containers, you should group containers that are used for a + /// common purpose into components, and separate the different components into multiple task + /// definitions. For more information, see Application + /// Architecture in the Amazon Elastic Container Service Developer Guide.

      + pub fn essential(mut self, inp: bool) -> Self { + self.essential = Some(inp); + self + } + pub fn set_essential(mut self, inp: std::option::Option) -> Self { + self.essential = inp; + self + } + pub fn entry_point(mut self, inp: impl Into) -> Self { + let mut v = self.entry_point.unwrap_or_default(); + v.push(inp.into()); + self.entry_point = Some(v); + self + } + pub fn set_entry_point( + mut self, + inp: std::option::Option>, + ) -> Self { + self.entry_point = inp; + self + } + pub fn command(mut self, inp: impl Into) -> Self { + let mut v = self.command.unwrap_or_default(); + v.push(inp.into()); + self.command = Some(v); + self + } + pub fn set_command( + mut self, + inp: std::option::Option>, + ) -> Self { + self.command = inp; + self + } + pub fn environment(mut self, inp: impl Into) -> Self { + let mut v = self.environment.unwrap_or_default(); + v.push(inp.into()); + self.environment = Some(v); + self + } + pub fn set_environment( + mut self, + inp: std::option::Option>, + ) -> Self { + self.environment = inp; + self + } + pub fn environment_files(mut self, inp: impl Into) -> Self { + let mut v = self.environment_files.unwrap_or_default(); + v.push(inp.into()); + self.environment_files = Some(v); + self + } + pub fn set_environment_files( + mut self, + inp: std::option::Option>, + ) -> Self { + self.environment_files = inp; + self + } + pub fn mount_points(mut self, inp: impl Into) -> Self { + let mut v = self.mount_points.unwrap_or_default(); + v.push(inp.into()); + self.mount_points = Some(v); + self + } + pub fn set_mount_points( + mut self, + inp: std::option::Option>, + ) -> Self { + self.mount_points = inp; + self + } + pub fn volumes_from(mut self, inp: impl Into) -> Self { + let mut v = self.volumes_from.unwrap_or_default(); + v.push(inp.into()); + self.volumes_from = Some(v); + self + } + pub fn set_volumes_from( + mut self, + inp: std::option::Option>, + ) -> Self { + self.volumes_from = inp; + self + } + ///

      Linux-specific modifications that are applied to the container, such as Linux kernel + /// capabilities. For more information see KernelCapabilities.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + pub fn linux_parameters(mut self, inp: crate::model::LinuxParameters) -> Self { + self.linux_parameters = Some(inp); + self + } + pub fn set_linux_parameters( + mut self, + inp: std::option::Option, + ) -> Self { + self.linux_parameters = inp; + self + } + pub fn secrets(mut self, inp: impl Into) -> Self { + let mut v = self.secrets.unwrap_or_default(); + v.push(inp.into()); + self.secrets = Some(v); + self + } + pub fn set_secrets( + mut self, + inp: std::option::Option>, + ) -> Self { + self.secrets = inp; + self + } + pub fn depends_on(mut self, inp: impl Into) -> Self { + let mut v = self.depends_on.unwrap_or_default(); + v.push(inp.into()); + self.depends_on = Some(v); + self + } + pub fn set_depends_on( + mut self, + inp: std::option::Option>, + ) -> Self { + self.depends_on = inp; + self + } + ///

      Time duration (in seconds) to wait before giving up on resolving dependencies for a + /// container. For example, you specify two containers in a task definition with containerA + /// having a dependency on containerB reaching a COMPLETE, + /// SUCCESS, or HEALTHY status. If a startTimeout + /// value is specified for containerB and it does not reach the desired status within that + /// time then containerA will give up and not start. This results in the task transitioning + /// to a STOPPED state.

      + /// + ///

      When the ECS_CONTAINER_START_TIMEOUT container agent configuration + /// variable is used, it is enforced indendently from this start timeout value.

      + ///
      + ///

      For tasks using the Fargate launch type, this parameter requires that + /// the task or service uses platform version 1.3.0 or later.

      + ///

      For tasks using the EC2 launch type, your container instances require at + /// least version 1.26.0 of the container agent to enable a container start + /// timeout value. However, we recommend using the latest container agent version. For + /// information about checking your agent version and updating to the latest version, see + /// Updating the Amazon ECS + /// Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + /// using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of + /// the ecs-init package. If your container instances are launched from version + /// 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + pub fn start_timeout(mut self, inp: i32) -> Self { + self.start_timeout = Some(inp); + self + } + pub fn set_start_timeout(mut self, inp: std::option::Option) -> Self { + self.start_timeout = inp; + self + } + ///

      Time duration (in seconds) to wait before the container is forcefully killed if it + /// doesn't exit normally on its own.

      + ///

      For tasks using the Fargate launch type, the task or service requires + /// platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the + /// parameter is not specified, the default value of 30 seconds is used.

      + ///

      For tasks using the EC2 launch type, if the stopTimeout + /// parameter is not specified, the value set for the Amazon ECS container agent configuration + /// variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the + /// stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT + /// agent configuration variable are set, then the default values of 30 seconds for Linux + /// containers and 30 seconds on Windows containers are used. Your container instances + /// require at least version 1.26.0 of the container agent to enable a container stop + /// timeout value. However, we recommend using the latest container agent version. For + /// information about checking your agent version and updating to the latest version, see + /// Updating the Amazon ECS + /// Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + /// using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + /// ecs-init package. If your container instances are launched from version + /// 20190301 or later, then they contain the required versions of the + /// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      + pub fn stop_timeout(mut self, inp: i32) -> Self { + self.stop_timeout = Some(inp); + self + } + pub fn set_stop_timeout(mut self, inp: std::option::Option) -> Self { + self.stop_timeout = inp; + self + } + ///

      The hostname to use for your container. This parameter maps to Hostname + /// in the Create a container section of the Docker Remote API and the + /// --hostname option to docker + /// run.

      + /// + ///

      The hostname parameter is not supported if you are using the + /// awsvpc network mode.

      + ///
      + pub fn hostname(mut self, inp: impl Into) -> Self { + self.hostname = Some(inp.into()); + self + } + pub fn set_hostname(mut self, inp: std::option::Option) -> Self { + self.hostname = inp; + self + } + ///

      The user to use inside the container. This parameter maps to User in the + /// Create a container section of the Docker Remote API and the + /// --user option to docker + /// run.

      + /// + ///

      When running tasks using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice to use a + /// non-root user.

      + ///
      + ///

      You can specify the user using the following formats. If specifying a UID + /// or GID, you must specify it as a positive integer.

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

        + /// user + ///

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

        + /// user:group + ///

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

        + /// uid + ///

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

        + /// uid:gid + ///

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

        + /// user:gid + ///

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

        + /// uid:group + ///

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

      This parameter is not supported for Windows containers.

      + ///
      + pub fn user(mut self, inp: impl Into) -> Self { + self.user = Some(inp.into()); + self + } + pub fn set_user(mut self, inp: std::option::Option) -> Self { + self.user = inp; + self + } + ///

      The working directory in which to run commands inside the container. This parameter + /// maps to WorkingDir in the Create a container section of the + /// Docker Remote API and the --workdir option to docker run.

      + pub fn working_directory(mut self, inp: impl Into) -> Self { + self.working_directory = Some(inp.into()); + self + } + pub fn set_working_directory( + mut self, + inp: std::option::Option, + ) -> Self { + self.working_directory = inp; + self + } + ///

      When this parameter is true, networking is disabled within the container. This + /// parameter maps to NetworkDisabled in the Create a container + /// section of the Docker Remote API.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + pub fn disable_networking(mut self, inp: bool) -> Self { + self.disable_networking = Some(inp); + self + } + pub fn set_disable_networking(mut self, inp: std::option::Option) -> Self { + self.disable_networking = inp; + self + } + ///

      When this parameter is true, the container is given elevated privileges on the host + /// container instance (similar to the root user). This parameter maps to + /// Privileged in the Create a container section of the + /// Docker Remote API and the --privileged option to docker run.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub fn privileged(mut self, inp: bool) -> Self { + self.privileged = Some(inp); + self + } + pub fn set_privileged(mut self, inp: std::option::Option) -> Self { + self.privileged = inp; + self + } + ///

      When this parameter is true, the container is given read-only access to its root file + /// system. This parameter maps to ReadonlyRootfs in the + /// Create a container section of the Docker Remote API and the + /// --read-only option to docker + /// run.

      + /// + ///

      This parameter is not supported for Windows containers.

      + ///
      + pub fn readonly_root_filesystem(mut self, inp: bool) -> Self { + self.readonly_root_filesystem = Some(inp); + self + } + pub fn set_readonly_root_filesystem(mut self, inp: std::option::Option) -> Self { + self.readonly_root_filesystem = inp; + self + } + pub fn dns_servers(mut self, inp: impl Into) -> Self { + let mut v = self.dns_servers.unwrap_or_default(); + v.push(inp.into()); + self.dns_servers = Some(v); + self + } + pub fn set_dns_servers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.dns_servers = inp; + self + } + pub fn dns_search_domains(mut self, inp: impl Into) -> Self { + let mut v = self.dns_search_domains.unwrap_or_default(); + v.push(inp.into()); + self.dns_search_domains = Some(v); + self + } + pub fn set_dns_search_domains( + mut self, + inp: std::option::Option>, + ) -> Self { + self.dns_search_domains = inp; + self + } + pub fn extra_hosts(mut self, inp: impl Into) -> Self { + let mut v = self.extra_hosts.unwrap_or_default(); + v.push(inp.into()); + self.extra_hosts = Some(v); + self + } + pub fn set_extra_hosts( + mut self, + inp: std::option::Option>, + ) -> Self { + self.extra_hosts = inp; + self + } + pub fn docker_security_options(mut self, inp: impl Into) -> Self { + let mut v = self.docker_security_options.unwrap_or_default(); + v.push(inp.into()); + self.docker_security_options = Some(v); + self + } + pub fn set_docker_security_options( + mut self, + inp: std::option::Option>, + ) -> Self { + self.docker_security_options = inp; + self + } + ///

      When this parameter is true, this allows you to deploy containerized + /// applications that require stdin or a tty to be allocated. This + /// parameter maps to OpenStdin in the Create a container + /// section of the Docker Remote API and the --interactive option to docker run.

      + pub fn interactive(mut self, inp: bool) -> Self { + self.interactive = Some(inp); + self + } + pub fn set_interactive(mut self, inp: std::option::Option) -> Self { + self.interactive = inp; + self + } + ///

      When this parameter is true, a TTY is allocated. This parameter maps to + /// Tty in the Create a container section of the + /// Docker Remote API and the --tty option to docker run.

      + pub fn pseudo_terminal(mut self, inp: bool) -> Self { + self.pseudo_terminal = Some(inp); + self + } + pub fn set_pseudo_terminal(mut self, inp: std::option::Option) -> Self { + self.pseudo_terminal = inp; + self + } + pub fn docker_labels( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.docker_labels.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.docker_labels = Some(hash_map); + self + } + pub fn set_docker_labels( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.docker_labels = inp; + self + } + pub fn ulimits(mut self, inp: impl Into) -> Self { + let mut v = self.ulimits.unwrap_or_default(); + v.push(inp.into()); + self.ulimits = Some(v); + self + } + pub fn set_ulimits( + mut self, + inp: std::option::Option>, + ) -> Self { + self.ulimits = inp; + self + } + ///

      The log configuration specification for the container.

      + ///

      This parameter maps to LogConfig in the + /// Create a container section of the Docker Remote API and the + /// --log-driver option to docker + /// run. By default, containers use the same logging driver that the Docker + /// daemon uses. However the container may use a different logging driver than the Docker + /// daemon by specifying a log driver with this parameter in the container definition. To + /// use a different logging driver for a container, the log system must be configured + /// properly on the container instance (or on a different log server for remote logging + /// options). For more information on the options for different supported log drivers, see + /// Configure + /// logging drivers in the Docker documentation.

      + /// + ///

      Amazon ECS currently supports a subset of the logging drivers available to the Docker + /// daemon (shown in the LogConfiguration data type). Additional log + /// drivers may be available in future releases of the Amazon ECS container agent.

      + ///
      + ///

      This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + /// + ///

      The Amazon ECS container agent running on a container instance must register the + /// logging drivers available on that instance with the + /// ECS_AVAILABLE_LOGGING_DRIVERS environment variable before + /// containers placed on that instance can use these log configuration options. For more + /// information, see Amazon ECS Container + /// Agent Configuration in the Amazon Elastic Container Service Developer Guide.

      + ///
      + pub fn log_configuration(mut self, inp: crate::model::LogConfiguration) -> Self { + self.log_configuration = Some(inp); + self + } + pub fn set_log_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.log_configuration = inp; + self + } + ///

      The container health check command and associated configuration parameters for the + /// container. This parameter maps to HealthCheck in the + /// Create a container section of the Docker Remote API and the + /// HEALTHCHECK parameter of docker + /// run.

      + pub fn health_check(mut self, inp: crate::model::HealthCheck) -> Self { + self.health_check = Some(inp); + self + } + pub fn set_health_check( + mut self, + inp: std::option::Option, + ) -> Self { + self.health_check = inp; + self + } + pub fn system_controls(mut self, inp: impl Into) -> Self { + let mut v = self.system_controls.unwrap_or_default(); + v.push(inp.into()); + self.system_controls = Some(v); + self + } + pub fn set_system_controls( + mut self, + inp: std::option::Option>, + ) -> Self { + self.system_controls = inp; + self + } + pub fn resource_requirements( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.resource_requirements.unwrap_or_default(); + v.push(inp.into()); + self.resource_requirements = Some(v); + self + } + pub fn set_resource_requirements( + mut self, + inp: std::option::Option>, + ) -> Self { + self.resource_requirements = inp; + self + } + ///

      The FireLens configuration for the container. This is used to specify and configure a + /// log router for container logs. For more information, see Custom Log Routing + /// in the Amazon Elastic Container Service Developer Guide.

      + pub fn firelens_configuration(mut self, inp: crate::model::FirelensConfiguration) -> Self { + self.firelens_configuration = Some(inp); + self + } + pub fn set_firelens_configuration( + mut self, + inp: std::option::Option, + ) -> Self { + self.firelens_configuration = inp; + self + } + /// Consumes the builder and constructs a [`ContainerDefinition`](crate::model::ContainerDefinition) + pub fn build(self) -> crate::model::ContainerDefinition { + crate::model::ContainerDefinition { + name: self.name, + image: self.image, + repository_credentials: self.repository_credentials, + cpu: self.cpu.unwrap_or_default(), + memory: self.memory, + memory_reservation: self.memory_reservation, + links: self.links, + port_mappings: self.port_mappings, + essential: self.essential, + entry_point: self.entry_point, + command: self.command, + environment: self.environment, + environment_files: self.environment_files, + mount_points: self.mount_points, + volumes_from: self.volumes_from, + linux_parameters: self.linux_parameters, + secrets: self.secrets, + depends_on: self.depends_on, + start_timeout: self.start_timeout, + stop_timeout: self.stop_timeout, + hostname: self.hostname, + user: self.user, + working_directory: self.working_directory, + disable_networking: self.disable_networking, + privileged: self.privileged, + readonly_root_filesystem: self.readonly_root_filesystem, + dns_servers: self.dns_servers, + dns_search_domains: self.dns_search_domains, + extra_hosts: self.extra_hosts, + docker_security_options: self.docker_security_options, + interactive: self.interactive, + pseudo_terminal: self.pseudo_terminal, + docker_labels: self.docker_labels, + ulimits: self.ulimits, + log_configuration: self.log_configuration, + health_check: self.health_check, + system_controls: self.system_controls, + resource_requirements: self.resource_requirements, + firelens_configuration: self.firelens_configuration, + } + } + } +} +impl ContainerDefinition { + /// Creates a new builder-style object to manufacture [`ContainerDefinition`](crate::model::ContainerDefinition) + pub fn builder() -> crate::model::container_definition::Builder { + crate::model::container_definition::Builder::default() + } +} + +///

      The FireLens configuration for the container. This is used to specify and configure a +/// log router for container logs. For more information, see Custom Log Routing +/// in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct FirelensConfiguration { + ///

      The log router to use. The valid values are fluentd or + /// fluentbit.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, + ///

      The options to use when configuring the log router. This field is optional and can be + /// used to specify a custom configuration file or to add additional metadata, such as the + /// task, task definition, cluster, and container instance details to the log event. If + /// specified, the syntax to use is + /// "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}. + /// For more information, see Creating + /// a Task Definition that Uses a FireLens Configuration in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Tasks hosted on AWS Fargate only support the file configuration file + /// type.

      + ///
      + #[serde(rename = "options")] + #[serde(default)] + pub options: + std::option::Option>, +} +impl std::fmt::Debug for FirelensConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("FirelensConfiguration"); + formatter.field("r#type", &self.r#type); + formatter.field("options", &self.options); + formatter.finish() + } +} +/// See [`FirelensConfiguration`](crate::model::FirelensConfiguration) +pub mod firelens_configuration { + /// A builder for [`FirelensConfiguration`](crate::model::FirelensConfiguration) + #[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) options: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

      The log router to use. The valid values are fluentd or + /// fluentbit.

      + pub fn r#type(mut self, inp: crate::model::FirelensConfigurationType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + pub fn options( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.options.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.options = Some(hash_map); + self + } + pub fn set_options( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.options = inp; + self + } + /// Consumes the builder and constructs a [`FirelensConfiguration`](crate::model::FirelensConfiguration) + pub fn build(self) -> crate::model::FirelensConfiguration { + crate::model::FirelensConfiguration { + r#type: self.r#type, + options: self.options, + } + } + } +} +impl FirelensConfiguration { + /// Creates a new builder-style object to manufacture [`FirelensConfiguration`](crate::model::FirelensConfiguration) + pub fn builder() -> crate::model::firelens_configuration::Builder { + crate::model::firelens_configuration::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 FirelensConfigurationType { + Fluentbit, + Fluentd, + Unknown(String), +} +impl std::convert::From<&str> for FirelensConfigurationType { + fn from(s: &str) -> Self { + match s { + "fluentbit" => FirelensConfigurationType::Fluentbit, + "fluentd" => FirelensConfigurationType::Fluentd, + other => FirelensConfigurationType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for FirelensConfigurationType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(FirelensConfigurationType::from(s)) + } +} +impl FirelensConfigurationType { + pub fn as_str(&self) -> &str { + match self { + FirelensConfigurationType::Fluentbit => "fluentbit", + FirelensConfigurationType::Fluentd => "fluentd", + FirelensConfigurationType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for FirelensConfigurationType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for FirelensConfigurationType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      A list of namespaced kernel parameters to set in the container. This parameter maps to +/// Sysctls in the Create a container section of the +/// Docker Remote API and the --sysctl option to docker run.

      +///

      It is not recommended that you specify network-related systemControls +/// parameters for multiple containers in a single task that also uses either the +/// awsvpc or host network mode for the following +/// reasons:

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

        For tasks that use the awsvpc network mode, if you set +/// systemControls for any container, it applies to all containers +/// in the task. If you set different systemControls for multiple +/// containers in a single task, the container that is started last determines which +/// systemControls take effect.

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

        For tasks that use the host network mode, the +/// systemControls parameter applies to the container instance's +/// kernel parameter as well as that of all containers of any tasks running on that +/// container instance.

        +///
      • +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct SystemControl { + ///

      The namespaced kernel parameter for which to set a value.

      + #[serde(rename = "namespace")] + #[serde(default)] + pub namespace: std::option::Option, + ///

      The value for the namespaced kernel parameter specified in + /// namespace.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, +} +impl std::fmt::Debug for SystemControl { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SystemControl"); + formatter.field("namespace", &self.namespace); + formatter.field("value", &self.value); + formatter.finish() + } +} +/// See [`SystemControl`](crate::model::SystemControl) +pub mod system_control { + /// A builder for [`SystemControl`](crate::model::SystemControl) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) namespace: std::option::Option, + pub(crate) value: std::option::Option, + } + impl Builder { + ///

      The namespaced kernel parameter for which to set a value.

      + pub fn namespace(mut self, inp: impl Into) -> Self { + self.namespace = Some(inp.into()); + self + } + pub fn set_namespace(mut self, inp: std::option::Option) -> Self { + self.namespace = inp; + self + } + ///

      The value for the namespaced kernel parameter specified in + /// namespace.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + /// Consumes the builder and constructs a [`SystemControl`](crate::model::SystemControl) + pub fn build(self) -> crate::model::SystemControl { + crate::model::SystemControl { + namespace: self.namespace, + value: self.value, + } + } + } +} +impl SystemControl { + /// Creates a new builder-style object to manufacture [`SystemControl`](crate::model::SystemControl) + pub fn builder() -> crate::model::system_control::Builder { + crate::model::system_control::Builder::default() + } +} + +///

      An object representing a container health check. Health check parameters that are +/// specified in a container definition override any Docker health checks that exist in the +/// container image (such as those specified in a parent image or from the image's +/// Dockerfile).

      +///

      You can view the health status of both individual containers and a task with the +/// DescribeTasks API operation or when viewing the task details in the console.

      +///

      The following describes the possible healthStatus values for a +/// container:

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

        +/// HEALTHY-The container health check has passed +/// successfully.

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

        +/// UNHEALTHY-The container health check has failed.

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

        +/// UNKNOWN-The container health check is being evaluated or +/// there is no container health check defined.

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

      The following describes the possible healthStatus values for a task. The +/// container health check status of nonessential containers do not have an effect on the +/// health status of a task.

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

        +/// HEALTHY-All essential containers within the task have +/// passed their health checks.

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

        +/// UNHEALTHY-One or more essential containers have failed +/// their health check.

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

        +/// UNKNOWN-The essential containers within the task are still +/// having their health checks evaluated or there are no container health checks +/// defined.

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

      If a task is run manually, and not as part of a service, the task will continue its +/// lifecycle regardless of its health status. For tasks that are part of a service, if the +/// task reports as unhealthy then the task will be stopped and the service scheduler will +/// replace it.

      +///

      The following are notes about container health check support:

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

        Container health checks require version 1.17.0 or greater of the Amazon ECS +/// container agent. For more information, see Updating the +/// Amazon ECS Container Agent.

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

        Container health checks are supported for Fargate tasks if you +/// are using platform version 1.1.0 or greater. For more information, see AWS Fargate +/// Platform Versions.

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

        Container health checks are not supported for tasks that are part of a service +/// that is configured to use a Classic Load Balancer.

        +///
      • +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +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:

      + ///

      + /// [ "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.

      + #[serde(rename = "command")] + #[serde(default)] + pub command: std::option::Option>, + ///

      The time period in seconds between each health check execution. You may specify + /// between 5 and 300 seconds. The default value is 30 seconds.

      + #[serde(rename = "interval")] + #[serde(default)] + pub interval: std::option::Option, + ///

      The time period in seconds to wait for a health check to succeed before it is + /// considered a failure. You may specify between 2 and 60 seconds. The default value is + /// 5.

      + #[serde(rename = "timeout")] + #[serde(default)] + pub timeout: std::option::Option, + ///

      The number of times to retry a failed health check before the container is considered + /// unhealthy. You may specify between 1 and 10 retries. The default value is 3.

      + #[serde(rename = "retries")] + #[serde(default)] + pub retries: std::option::Option, + ///

      The optional grace period within which to provide containers time to bootstrap before + /// failed health checks count towards the maximum number of retries. You may specify + /// between 0 and 300 seconds. The startPeriod is disabled by default.

      + /// + ///

      If a health check succeeds within the startPeriod, then the container + /// is considered healthy and any subsequent failures count toward the maximum number of + /// retries.

      + ///
      + #[serde(rename = "startPeriod")] + #[serde(default)] + pub start_period: std::option::Option, +} +impl std::fmt::Debug for HealthCheck { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("HealthCheck"); + formatter.field("command", &self.command); + formatter.field("interval", &self.interval); + formatter.field("timeout", &self.timeout); + formatter.field("retries", &self.retries); + formatter.field("start_period", &self.start_period); + formatter.finish() + } +} +/// See [`HealthCheck`](crate::model::HealthCheck) +pub mod health_check { + /// A builder for [`HealthCheck`](crate::model::HealthCheck) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) command: std::option::Option>, + pub(crate) interval: std::option::Option, + pub(crate) timeout: std::option::Option, + pub(crate) retries: std::option::Option, + pub(crate) start_period: std::option::Option, + } + impl Builder { + pub fn command(mut self, inp: impl Into) -> Self { + let mut v = self.command.unwrap_or_default(); + v.push(inp.into()); + self.command = Some(v); + self + } + pub fn set_command( + mut self, + inp: std::option::Option>, + ) -> Self { + self.command = inp; + self + } + ///

      The time period in seconds between each health check execution. You may specify + /// between 5 and 300 seconds. The default value is 30 seconds.

      + pub fn interval(mut self, inp: i32) -> Self { + self.interval = Some(inp); + self + } + pub fn set_interval(mut self, inp: std::option::Option) -> Self { + self.interval = inp; + self + } + ///

      The time period in seconds to wait for a health check to succeed before it is + /// considered a failure. You may specify between 2 and 60 seconds. The default value is + /// 5.

      + pub fn timeout(mut self, inp: i32) -> Self { + self.timeout = Some(inp); + self + } + pub fn set_timeout(mut self, inp: std::option::Option) -> Self { + self.timeout = inp; + self + } + ///

      The number of times to retry a failed health check before the container is considered + /// unhealthy. You may specify between 1 and 10 retries. The default value is 3.

      + pub fn retries(mut self, inp: i32) -> Self { + self.retries = Some(inp); + self + } + pub fn set_retries(mut self, inp: std::option::Option) -> Self { + self.retries = inp; + self + } + ///

      The optional grace period within which to provide containers time to bootstrap before + /// failed health checks count towards the maximum number of retries. You may specify + /// between 0 and 300 seconds. The startPeriod is disabled by default.

      + /// + ///

      If a health check succeeds within the startPeriod, then the container + /// is considered healthy and any subsequent failures count toward the maximum number of + /// retries.

      + ///
      + pub fn start_period(mut self, inp: i32) -> Self { + self.start_period = Some(inp); + self + } + pub fn set_start_period(mut self, inp: std::option::Option) -> Self { + self.start_period = inp; + self + } + /// Consumes the builder and constructs a [`HealthCheck`](crate::model::HealthCheck) + pub fn build(self) -> crate::model::HealthCheck { + crate::model::HealthCheck { + command: self.command, + interval: self.interval, + timeout: self.timeout, + retries: self.retries, + start_period: self.start_period, + } + } + } +} +impl HealthCheck { + /// Creates a new builder-style object to manufacture [`HealthCheck`](crate::model::HealthCheck) + pub fn builder() -> crate::model::health_check::Builder { + crate::model::health_check::Builder::default() + } +} + +///

      The log configuration for the container. This parameter maps to LogConfig +/// in the Create a container section of the Docker Remote API and the +/// --log-driver option to +/// docker +/// run +/// .

      +///

      By default, containers use the same logging driver that the Docker daemon uses; +/// however the container may use a different logging driver than the Docker daemon by +/// specifying a log driver configuration in the container definition. For more information +/// on the options for different supported log drivers, see Configure logging +/// drivers in the Docker documentation.

      +///

      The following should be noted when specifying a log configuration for your +/// containers:

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

        Amazon ECS currently supports a subset of the logging drivers available to the +/// Docker daemon (shown in the valid values below). Additional log drivers may be +/// available in future releases of the Amazon ECS container agent.

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

        This parameter requires version 1.18 of the Docker Remote API or greater on +/// your container instance.

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

        For tasks hosted on Amazon EC2 instances, the Amazon ECS container agent must register +/// the available logging drivers with the +/// ECS_AVAILABLE_LOGGING_DRIVERS environment variable before +/// containers placed on that instance can use these log configuration options. For +/// more information, see Amazon ECS container agent configuration in the +/// Amazon Elastic Container Service Developer Guide.

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

        For tasks on AWS Fargate, because you do not have access to the underlying +/// infrastructure your tasks are hosted on, any additional software needed will +/// have to be installed outside of the task. For example, the Fluentd output +/// aggregators or a remote host running Logstash to send Gelf logs to.

        +///
      • +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct LogConfiguration { + ///

      The log driver to use for the container.

      + ///

      For tasks on AWS Fargate, the supported log drivers are awslogs, + /// splunk, and awsfirelens.

      + ///

      For tasks hosted on Amazon EC2 instances, the supported log drivers are + /// awslogs, fluentd, gelf, + /// json-file, journald, + /// logentries,syslog, splunk, and + /// awsfirelens.

      + ///

      For more information about using the awslogs log driver, see Using + /// the awslogs log driver in the Amazon Elastic Container Service Developer Guide.

      + ///

      For more information about using the awsfirelens log driver, see Custom log routing in the Amazon Elastic Container Service Developer Guide.

      + /// + ///

      If you have a custom driver that is not listed, you can fork the Amazon ECS container + /// agent project that is available + /// on GitHub and customize it to work with that driver. We encourage you to + /// submit pull requests for changes that you would like to have included. However, we + /// do not currently provide support for running modified copies of this + /// software.

      + ///
      + #[serde(rename = "logDriver")] + #[serde(default)] + pub log_driver: std::option::Option, + ///

      The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + #[serde(rename = "options")] + #[serde(default)] + pub options: + std::option::Option>, + ///

      The secrets to pass to the log configuration. For more information, see Specifying + /// Sensitive Data in the Amazon Elastic Container Service Developer Guide.

      + #[serde(rename = "secretOptions")] + #[serde(default)] + pub secret_options: std::option::Option>, +} +impl std::fmt::Debug for LogConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("LogConfiguration"); + formatter.field("log_driver", &self.log_driver); + formatter.field("options", &self.options); + formatter.field("secret_options", &self.secret_options); + formatter.finish() + } +} +/// See [`LogConfiguration`](crate::model::LogConfiguration) +pub mod log_configuration { + /// A builder for [`LogConfiguration`](crate::model::LogConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) log_driver: std::option::Option, + pub(crate) options: std::option::Option< + std::collections::HashMap, + >, + pub(crate) secret_options: std::option::Option>, + } + impl Builder { + ///

      The log driver to use for the container.

      + ///

      For tasks on AWS Fargate, the supported log drivers are awslogs, + /// splunk, and awsfirelens.

      + ///

      For tasks hosted on Amazon EC2 instances, the supported log drivers are + /// awslogs, fluentd, gelf, + /// json-file, journald, + /// logentries,syslog, splunk, and + /// awsfirelens.

      + ///

      For more information about using the awslogs log driver, see Using + /// the awslogs log driver in the Amazon Elastic Container Service Developer Guide.

      + ///

      For more information about using the awsfirelens log driver, see Custom log routing in the Amazon Elastic Container Service Developer Guide.

      + /// + ///

      If you have a custom driver that is not listed, you can fork the Amazon ECS container + /// agent project that is available + /// on GitHub and customize it to work with that driver. We encourage you to + /// submit pull requests for changes that you would like to have included. However, we + /// do not currently provide support for running modified copies of this + /// software.

      + ///
      + pub fn log_driver(mut self, inp: crate::model::LogDriver) -> Self { + self.log_driver = Some(inp); + self + } + pub fn set_log_driver(mut self, inp: std::option::Option) -> Self { + self.log_driver = inp; + self + } + pub fn options( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.options.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.options = Some(hash_map); + self + } + pub fn set_options( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.options = inp; + self + } + pub fn secret_options(mut self, inp: impl Into) -> Self { + let mut v = self.secret_options.unwrap_or_default(); + v.push(inp.into()); + self.secret_options = Some(v); + self + } + pub fn set_secret_options( + mut self, + inp: std::option::Option>, + ) -> Self { + self.secret_options = inp; + self + } + /// Consumes the builder and constructs a [`LogConfiguration`](crate::model::LogConfiguration) + pub fn build(self) -> crate::model::LogConfiguration { + crate::model::LogConfiguration { + log_driver: self.log_driver, + options: self.options, + secret_options: self.secret_options, + } + } + } +} +impl LogConfiguration { + /// Creates a new builder-style object to manufacture [`LogConfiguration`](crate::model::LogConfiguration) + pub fn builder() -> crate::model::log_configuration::Builder { + crate::model::log_configuration::Builder::default() + } +} + +///

      An object representing the secret to expose to your container. Secrets can be exposed +/// to a container in the following ways:

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

        To inject sensitive data into your containers as environment variables, use +/// the secrets container definition parameter.

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

        To reference sensitive information in the log configuration of a container, +/// use the secretOptions container definition parameter.

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

      For more information, see Specifying +/// Sensitive Data in the Amazon Elastic Container Service Developer Guide.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Secret { + ///

      The name of the secret.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The secret to expose to the container. The supported values are either the full ARN of + /// the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

      + /// + ///

      If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you + /// are launching, then you can use either the full ARN or name of the parameter. If the + /// parameter exists in a different Region, then the full ARN must be specified.

      + ///
      + #[serde(rename = "valueFrom")] + #[serde(default)] + pub value_from: std::option::Option, +} +impl std::fmt::Debug for Secret { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Secret"); + formatter.field("name", &self.name); + formatter.field("value_from", &self.value_from); + formatter.finish() + } +} +/// See [`Secret`](crate::model::Secret) +pub mod secret { + /// A builder for [`Secret`](crate::model::Secret) + #[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) value_from: std::option::Option, + } + impl Builder { + ///

      The name of the secret.

      + pub fn name(mut self, inp: impl Into) -> Self { + self.name = Some(inp.into()); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The secret to expose to the container. The supported values are either the full ARN of + /// the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

      + /// + ///

      If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you + /// are launching, then you can use either the full ARN or name of the parameter. If the + /// parameter exists in a different Region, then the full ARN must be specified.

      + ///
      + pub fn value_from(mut self, inp: impl Into) -> Self { + self.value_from = Some(inp.into()); + self + } + pub fn set_value_from(mut self, inp: std::option::Option) -> Self { + self.value_from = inp; + self + } + /// Consumes the builder and constructs a [`Secret`](crate::model::Secret) + pub fn build(self) -> crate::model::Secret { + crate::model::Secret { + name: self.name, + value_from: self.value_from, + } + } + } +} +impl Secret { + /// Creates a new builder-style object to manufacture [`Secret`](crate::model::Secret) + pub fn builder() -> crate::model::secret::Builder { + crate::model::secret::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 LogDriver { + Awsfirelens, + Awslogs, + Fluentd, + Gelf, + Journald, + JsonFile, + Splunk, + Syslog, + Unknown(String), +} +impl std::convert::From<&str> for LogDriver { + fn from(s: &str) -> Self { + match s { + "awsfirelens" => LogDriver::Awsfirelens, + "awslogs" => LogDriver::Awslogs, + "fluentd" => LogDriver::Fluentd, + "gelf" => LogDriver::Gelf, + "journald" => LogDriver::Journald, + "json-file" => LogDriver::JsonFile, + "splunk" => LogDriver::Splunk, + "syslog" => LogDriver::Syslog, + other => LogDriver::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for LogDriver { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(LogDriver::from(s)) + } +} +impl LogDriver { + pub fn as_str(&self) -> &str { + match self { + LogDriver::Awsfirelens => "awsfirelens", + LogDriver::Awslogs => "awslogs", + LogDriver::Fluentd => "fluentd", + LogDriver::Gelf => "gelf", + LogDriver::Journald => "journald", + LogDriver::JsonFile => "json-file", + LogDriver::Splunk => "splunk", + LogDriver::Syslog => "syslog", + LogDriver::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for LogDriver { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for LogDriver { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The ulimit settings to pass to the container.

      +///

      Amazon ECS tasks hosted on Fargate use the default +/// resource limit values set by the operating system with the exception of +/// the nofile resource limit parameter which Fargate +/// overrides. The nofile resource limit sets a restriction on +/// the number of open files that a container can use. The default +/// nofile soft limit is 1024 and hard limit +/// is 4096.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Ulimit { + ///

      The type of the ulimit.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      The soft limit for the ulimit type.

      + #[serde(rename = "softLimit")] + pub soft_limit: i32, + ///

      The hard limit for the ulimit type.

      + #[serde(rename = "hardLimit")] + pub hard_limit: i32, +} +impl std::fmt::Debug for Ulimit { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Ulimit"); + formatter.field("name", &self.name); + formatter.field("soft_limit", &self.soft_limit); + formatter.field("hard_limit", &self.hard_limit); + formatter.finish() + } +} +/// See [`Ulimit`](crate::model::Ulimit) +pub mod ulimit { + /// A builder for [`Ulimit`](crate::model::Ulimit) + #[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) soft_limit: std::option::Option, + pub(crate) hard_limit: std::option::Option, + } + impl Builder { + ///

      The type of the ulimit.

      + pub fn name(mut self, inp: crate::model::UlimitName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      The soft limit for the ulimit type.

      + pub fn soft_limit(mut self, inp: i32) -> Self { + self.soft_limit = Some(inp); + self + } + pub fn set_soft_limit(mut self, inp: i32) -> Self { + self.soft_limit = Some(inp); + self + } + ///

      The hard limit for the ulimit type.

      + pub fn hard_limit(mut self, inp: i32) -> Self { + self.hard_limit = Some(inp); + self + } + pub fn set_hard_limit(mut self, inp: i32) -> Self { + self.hard_limit = Some(inp); + self + } + /// Consumes the builder and constructs a [`Ulimit`](crate::model::Ulimit) + pub fn build(self) -> crate::model::Ulimit { + crate::model::Ulimit { + name: self.name, + soft_limit: self.soft_limit.unwrap_or_default(), + hard_limit: self.hard_limit.unwrap_or_default(), + } + } + } +} +impl Ulimit { + /// Creates a new builder-style object to manufacture [`Ulimit`](crate::model::Ulimit) + pub fn builder() -> crate::model::ulimit::Builder { + crate::model::ulimit::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 UlimitName { + Core, + Cpu, + Data, + Fsize, + Locks, + Memlock, + Msgqueue, + Nice, + Nofile, + Nproc, + Rss, + Rtprio, + Rttime, + Sigpending, + Stack, + Unknown(String), +} +impl std::convert::From<&str> for UlimitName { + fn from(s: &str) -> Self { + match s { + "core" => UlimitName::Core, + "cpu" => UlimitName::Cpu, + "data" => UlimitName::Data, + "fsize" => UlimitName::Fsize, + "locks" => UlimitName::Locks, + "memlock" => UlimitName::Memlock, + "msgqueue" => UlimitName::Msgqueue, + "nice" => UlimitName::Nice, + "nofile" => UlimitName::Nofile, + "nproc" => UlimitName::Nproc, + "rss" => UlimitName::Rss, + "rtprio" => UlimitName::Rtprio, + "rttime" => UlimitName::Rttime, + "sigpending" => UlimitName::Sigpending, + "stack" => UlimitName::Stack, + other => UlimitName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for UlimitName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(UlimitName::from(s)) + } +} +impl UlimitName { + pub fn as_str(&self) -> &str { + match self { + UlimitName::Core => "core", + UlimitName::Cpu => "cpu", + UlimitName::Data => "data", + UlimitName::Fsize => "fsize", + UlimitName::Locks => "locks", + UlimitName::Memlock => "memlock", + UlimitName::Msgqueue => "msgqueue", + UlimitName::Nice => "nice", + UlimitName::Nofile => "nofile", + UlimitName::Nproc => "nproc", + UlimitName::Rss => "rss", + UlimitName::Rtprio => "rtprio", + UlimitName::Rttime => "rttime", + UlimitName::Sigpending => "sigpending", + UlimitName::Stack => "stack", + UlimitName::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for UlimitName { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for UlimitName { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Hostnames and IP address entries that are added to the /etc/hosts file of +/// a container via the extraHosts parameter of its ContainerDefinition.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct HostEntry { + ///

      The hostname to use in the /etc/hosts entry.

      + #[serde(rename = "hostname")] + #[serde(default)] + pub hostname: std::option::Option, + ///

      The IP address to use in the /etc/hosts entry.

      + #[serde(rename = "ipAddress")] + #[serde(default)] + pub ip_address: std::option::Option, +} +impl std::fmt::Debug for HostEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("HostEntry"); + formatter.field("hostname", &self.hostname); + formatter.field("ip_address", &self.ip_address); + formatter.finish() + } +} +/// See [`HostEntry`](crate::model::HostEntry) +pub mod host_entry { + /// A builder for [`HostEntry`](crate::model::HostEntry) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) hostname: std::option::Option, + pub(crate) ip_address: std::option::Option, + } + impl Builder { + ///

      The hostname to use in the /etc/hosts entry.

      + pub fn hostname(mut self, inp: impl Into) -> Self { + self.hostname = Some(inp.into()); + self + } + pub fn set_hostname(mut self, inp: std::option::Option) -> Self { + self.hostname = inp; + self + } + ///

      The IP address to use in the /etc/hosts entry.

      + pub fn ip_address(mut self, inp: impl Into) -> Self { + self.ip_address = Some(inp.into()); + self + } + pub fn set_ip_address(mut self, inp: std::option::Option) -> Self { + self.ip_address = inp; + self + } + /// Consumes the builder and constructs a [`HostEntry`](crate::model::HostEntry) + pub fn build(self) -> crate::model::HostEntry { + crate::model::HostEntry { + hostname: self.hostname, + ip_address: self.ip_address, + } + } + } +} +impl HostEntry { + /// Creates a new builder-style object to manufacture [`HostEntry`](crate::model::HostEntry) + pub fn builder() -> crate::model::host_entry::Builder { + crate::model::host_entry::Builder::default() + } +} + +///

      The dependencies defined for container startup and shutdown. A container can contain +/// multiple dependencies. When a dependency is defined for container startup, for container +/// shutdown it is reversed.

      +///

      Your Amazon ECS container instances require at least version 1.26.0 of the container agent +/// to enable container dependencies. However, we recommend using the latest container agent +/// version. For information about checking your agent version and updating to the latest +/// version, see Updating the Amazon ECS +/// Container Agent in the Amazon Elastic Container Service Developer Guide. If you are +/// using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the +/// ecs-init package. If your container instances are launched from version +/// 20190301 or later, then they contain the required versions of the +/// container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

      +/// +///

      For tasks using the Fargate launch type, this parameter requires +/// that the task or service uses platform version 1.3.0 or later.

      +///
      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ContainerDependency { + ///

      The name of a container.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      The dependency condition of the container. The following are the available conditions + /// and their behavior:

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

        + /// START - This condition emulates the behavior of links and + /// volumes today. It validates that a dependent container is started before + /// permitting other containers to start.

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

        + /// COMPLETE - This condition validates that a dependent + /// container runs to completion (exits) before permitting other containers to + /// start. This can be useful for nonessential containers that run a script and then + /// exit. This condition cannot be set on an essential container.

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

        + /// SUCCESS - This condition is the same as + /// COMPLETE, but it also requires that the container exits with a + /// zero status. This condition cannot be set on an essential + /// container.

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

        + /// HEALTHY - This condition validates that the dependent + /// container passes its Docker health check before permitting other containers to + /// start. This requires that the dependent container has health checks configured. + /// This condition is confirmed only at task startup.

        + ///
      • + ///
      + #[serde(rename = "condition")] + #[serde(default)] + pub condition: std::option::Option, +} +impl std::fmt::Debug for ContainerDependency { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ContainerDependency"); + formatter.field("container_name", &self.container_name); + formatter.field("condition", &self.condition); + formatter.finish() + } +} +/// See [`ContainerDependency`](crate::model::ContainerDependency) +pub mod container_dependency { + /// A builder for [`ContainerDependency`](crate::model::ContainerDependency) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_name: std::option::Option, + pub(crate) condition: std::option::Option, + } + impl Builder { + ///

      The name of a container.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      The dependency condition of the container. The following are the available conditions + /// and their behavior:

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

        + /// START - This condition emulates the behavior of links and + /// volumes today. It validates that a dependent container is started before + /// permitting other containers to start.

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

        + /// COMPLETE - This condition validates that a dependent + /// container runs to completion (exits) before permitting other containers to + /// start. This can be useful for nonessential containers that run a script and then + /// exit. This condition cannot be set on an essential container.

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

        + /// SUCCESS - This condition is the same as + /// COMPLETE, but it also requires that the container exits with a + /// zero status. This condition cannot be set on an essential + /// container.

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

        + /// HEALTHY - This condition validates that the dependent + /// container passes its Docker health check before permitting other containers to + /// start. This requires that the dependent container has health checks configured. + /// This condition is confirmed only at task startup.

        + ///
      • + ///
      + pub fn condition(mut self, inp: crate::model::ContainerCondition) -> Self { + self.condition = Some(inp); + self + } + pub fn set_condition( + mut self, + inp: std::option::Option, + ) -> Self { + self.condition = inp; + self + } + /// Consumes the builder and constructs a [`ContainerDependency`](crate::model::ContainerDependency) + pub fn build(self) -> crate::model::ContainerDependency { + crate::model::ContainerDependency { + container_name: self.container_name, + condition: self.condition, + } + } + } +} +impl ContainerDependency { + /// Creates a new builder-style object to manufacture [`ContainerDependency`](crate::model::ContainerDependency) + pub fn builder() -> crate::model::container_dependency::Builder { + crate::model::container_dependency::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 ContainerCondition { + Complete, + Healthy, + Start, + Success, + Unknown(String), +} +impl std::convert::From<&str> for ContainerCondition { + fn from(s: &str) -> Self { + match s { + "COMPLETE" => ContainerCondition::Complete, + "HEALTHY" => ContainerCondition::Healthy, + "START" => ContainerCondition::Start, + "SUCCESS" => ContainerCondition::Success, + other => ContainerCondition::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ContainerCondition { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ContainerCondition::from(s)) + } +} +impl ContainerCondition { + pub fn as_str(&self) -> &str { + match self { + ContainerCondition::Complete => "COMPLETE", + ContainerCondition::Healthy => "HEALTHY", + ContainerCondition::Start => "START", + ContainerCondition::Success => "SUCCESS", + ContainerCondition::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ContainerCondition { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ContainerCondition { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct LinuxParameters { + ///

      The Linux capabilities for the container that are added to or dropped from the default + /// configuration provided by Docker.

      + /// + ///

      For tasks that use the Fargate launch type, + /// capabilities is supported for all platform versions but the + /// add parameter is only supported if using platform version 1.4.0 or + /// later.

      + ///
      + #[serde(rename = "capabilities")] + #[serde(default)] + pub capabilities: std::option::Option, + ///

      Any host devices to expose to the container. This parameter maps to + /// Devices in the Create a container section of the + /// Docker Remote API and the --device option to docker run.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// devices parameter is not supported.

      + ///
      + #[serde(rename = "devices")] + #[serde(default)] + pub devices: std::option::Option>, + ///

      Run an init process inside the container that forwards signals and reaps + /// processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + #[serde(rename = "initProcessEnabled")] + #[serde(default)] + pub init_process_enabled: std::option::Option, + ///

      The value for the size (in MiB) of the /dev/shm volume. This parameter + /// maps to the --shm-size option to docker + /// run.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// sharedMemorySize parameter is not supported.

      + ///
      + #[serde(rename = "sharedMemorySize")] + #[serde(default)] + pub shared_memory_size: std::option::Option, + ///

      The container path, mount options, and size (in MiB) of the tmpfs mount. This + /// parameter maps to the --tmpfs option to docker run.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// tmpfs parameter is not supported.

      + ///
      + #[serde(rename = "tmpfs")] + #[serde(default)] + pub tmpfs: std::option::Option>, + ///

      The total amount of swap memory (in MiB) a container can use. This parameter will be + /// translated to the --memory-swap option to docker run where the value would be the sum of + /// the container memory plus the maxSwap value.

      + ///

      If a maxSwap value of 0 is specified, the container will not + /// use swap. Accepted values are 0 or any positive integer. If the + /// maxSwap parameter is omitted, the container will use the swap + /// configuration for the container instance it is running on. A maxSwap value + /// must be set for the swappiness parameter to be used.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// maxSwap parameter is not supported.

      + ///
      + #[serde(rename = "maxSwap")] + #[serde(default)] + pub max_swap: std::option::Option, + ///

      This allows you to tune a container's memory swappiness behavior. A + /// swappiness value of 0 will cause swapping to not happen + /// unless absolutely necessary. A swappiness value of 100 will + /// cause pages to be swapped very aggressively. Accepted values are whole numbers between + /// 0 and 100. If the swappiness parameter is not + /// specified, a default value of 60 is used. If a value is not specified for + /// maxSwap then this parameter is ignored. This parameter maps to the + /// --memory-swappiness option to docker run.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// swappiness parameter is not supported.

      + ///
      + #[serde(rename = "swappiness")] + #[serde(default)] + pub swappiness: std::option::Option, +} +impl std::fmt::Debug for LinuxParameters { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("LinuxParameters"); + formatter.field("capabilities", &self.capabilities); + formatter.field("devices", &self.devices); + formatter.field("init_process_enabled", &self.init_process_enabled); + formatter.field("shared_memory_size", &self.shared_memory_size); + formatter.field("tmpfs", &self.tmpfs); + formatter.field("max_swap", &self.max_swap); + formatter.field("swappiness", &self.swappiness); + formatter.finish() + } +} +/// See [`LinuxParameters`](crate::model::LinuxParameters) +pub mod linux_parameters { + /// A builder for [`LinuxParameters`](crate::model::LinuxParameters) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capabilities: std::option::Option, + pub(crate) devices: std::option::Option>, + pub(crate) init_process_enabled: std::option::Option, + pub(crate) shared_memory_size: std::option::Option, + pub(crate) tmpfs: std::option::Option>, + pub(crate) max_swap: std::option::Option, + pub(crate) swappiness: std::option::Option, + } + impl Builder { + ///

      The Linux capabilities for the container that are added to or dropped from the default + /// configuration provided by Docker.

      + /// + ///

      For tasks that use the Fargate launch type, + /// capabilities is supported for all platform versions but the + /// add parameter is only supported if using platform version 1.4.0 or + /// later.

      + ///
      + pub fn capabilities(mut self, inp: crate::model::KernelCapabilities) -> Self { + self.capabilities = Some(inp); + self + } + pub fn set_capabilities( + mut self, + inp: std::option::Option, + ) -> Self { + self.capabilities = inp; + self + } + pub fn devices(mut self, inp: impl Into) -> Self { + let mut v = self.devices.unwrap_or_default(); + v.push(inp.into()); + self.devices = Some(v); + self + } + pub fn set_devices( + mut self, + inp: std::option::Option>, + ) -> Self { + self.devices = inp; + self + } + ///

      Run an init process inside the container that forwards signals and reaps + /// processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + ///

      + pub fn init_process_enabled(mut self, inp: bool) -> Self { + self.init_process_enabled = Some(inp); + self + } + pub fn set_init_process_enabled(mut self, inp: std::option::Option) -> Self { + self.init_process_enabled = inp; + self + } + ///

      The value for the size (in MiB) of the /dev/shm volume. This parameter + /// maps to the --shm-size option to docker + /// run.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// sharedMemorySize parameter is not supported.

      + ///
      + pub fn shared_memory_size(mut self, inp: i32) -> Self { + self.shared_memory_size = Some(inp); + self + } + pub fn set_shared_memory_size(mut self, inp: std::option::Option) -> Self { + self.shared_memory_size = inp; + self + } + pub fn tmpfs(mut self, inp: impl Into) -> Self { + let mut v = self.tmpfs.unwrap_or_default(); + v.push(inp.into()); + self.tmpfs = Some(v); + self + } + pub fn set_tmpfs( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tmpfs = inp; + self + } + ///

      The total amount of swap memory (in MiB) a container can use. This parameter will be + /// translated to the --memory-swap option to docker run where the value would be the sum of + /// the container memory plus the maxSwap value.

      + ///

      If a maxSwap value of 0 is specified, the container will not + /// use swap. Accepted values are 0 or any positive integer. If the + /// maxSwap parameter is omitted, the container will use the swap + /// configuration for the container instance it is running on. A maxSwap value + /// must be set for the swappiness parameter to be used.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// maxSwap parameter is not supported.

      + ///
      + pub fn max_swap(mut self, inp: i32) -> Self { + self.max_swap = Some(inp); + self + } + pub fn set_max_swap(mut self, inp: std::option::Option) -> Self { + self.max_swap = inp; + self + } + ///

      This allows you to tune a container's memory swappiness behavior. A + /// swappiness value of 0 will cause swapping to not happen + /// unless absolutely necessary. A swappiness value of 100 will + /// cause pages to be swapped very aggressively. Accepted values are whole numbers between + /// 0 and 100. If the swappiness parameter is not + /// specified, a default value of 60 is used. If a value is not specified for + /// maxSwap then this parameter is ignored. This parameter maps to the + /// --memory-swappiness option to docker run.

      + /// + ///

      If you are using tasks that use the Fargate launch type, the + /// swappiness parameter is not supported.

      + ///
      + pub fn swappiness(mut self, inp: i32) -> Self { + self.swappiness = Some(inp); + self + } + pub fn set_swappiness(mut self, inp: std::option::Option) -> Self { + self.swappiness = inp; + self + } + /// Consumes the builder and constructs a [`LinuxParameters`](crate::model::LinuxParameters) + pub fn build(self) -> crate::model::LinuxParameters { + crate::model::LinuxParameters { + capabilities: self.capabilities, + devices: self.devices, + init_process_enabled: self.init_process_enabled, + shared_memory_size: self.shared_memory_size, + tmpfs: self.tmpfs, + max_swap: self.max_swap, + swappiness: self.swappiness, + } + } + } +} +impl LinuxParameters { + /// Creates a new builder-style object to manufacture [`LinuxParameters`](crate::model::LinuxParameters) + pub fn builder() -> crate::model::linux_parameters::Builder { + crate::model::linux_parameters::Builder::default() + } +} + +///

      The container path, mount options, and size of the tmpfs mount.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Tmpfs { + ///

      The absolute file path where the tmpfs volume is to be mounted.

      + #[serde(rename = "containerPath")] + #[serde(default)] + pub container_path: std::option::Option, + ///

      The maximum size (in MiB) of the tmpfs volume.

      + #[serde(rename = "size")] + pub size: i32, + ///

      The list of tmpfs volume mount options.

      + ///

      Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | + /// "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | + /// "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | + /// "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | + /// "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" + /// | "nr_inodes" | "nr_blocks" | "mpol" + ///

      + #[serde(rename = "mountOptions")] + #[serde(default)] + pub mount_options: std::option::Option>, +} +impl std::fmt::Debug for Tmpfs { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Tmpfs"); + formatter.field("container_path", &self.container_path); + formatter.field("size", &self.size); + formatter.field("mount_options", &self.mount_options); + formatter.finish() + } +} +/// See [`Tmpfs`](crate::model::Tmpfs) +pub mod tmpfs { + /// A builder for [`Tmpfs`](crate::model::Tmpfs) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_path: std::option::Option, + pub(crate) size: std::option::Option, + pub(crate) mount_options: std::option::Option>, + } + impl Builder { + ///

      The absolute file path where the tmpfs volume is to be mounted.

      + pub fn container_path(mut self, inp: impl Into) -> Self { + self.container_path = Some(inp.into()); + self + } + pub fn set_container_path(mut self, inp: std::option::Option) -> Self { + self.container_path = inp; + self + } + ///

      The maximum size (in MiB) of the tmpfs volume.

      + pub fn size(mut self, inp: i32) -> Self { + self.size = Some(inp); + self + } + pub fn set_size(mut self, inp: i32) -> Self { + self.size = Some(inp); + self + } + pub fn mount_options(mut self, inp: impl Into) -> Self { + let mut v = self.mount_options.unwrap_or_default(); + v.push(inp.into()); + self.mount_options = Some(v); + self + } + pub fn set_mount_options( + mut self, + inp: std::option::Option>, + ) -> Self { + self.mount_options = inp; + self + } + /// Consumes the builder and constructs a [`Tmpfs`](crate::model::Tmpfs) + pub fn build(self) -> crate::model::Tmpfs { + crate::model::Tmpfs { + container_path: self.container_path, + size: self.size.unwrap_or_default(), + mount_options: self.mount_options, + } + } + } +} +impl Tmpfs { + /// Creates a new builder-style object to manufacture [`Tmpfs`](crate::model::Tmpfs) + pub fn builder() -> crate::model::tmpfs::Builder { + crate::model::tmpfs::Builder::default() + } +} + +///

      An object representing a container instance host device.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Device { + ///

      The path for the device on the host container instance.

      + #[serde(rename = "hostPath")] + #[serde(default)] + pub host_path: std::option::Option, + ///

      The path inside the container at which to expose the host device.

      + #[serde(rename = "containerPath")] + #[serde(default)] + pub container_path: std::option::Option, + ///

      The explicit permissions to provide to the container for the device. By default, the + /// container has permissions for read, write, and + /// mknod for the device.

      + #[serde(rename = "permissions")] + #[serde(default)] + pub permissions: std::option::Option>, +} +impl std::fmt::Debug for Device { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Device"); + formatter.field("host_path", &self.host_path); + formatter.field("container_path", &self.container_path); + formatter.field("permissions", &self.permissions); + formatter.finish() + } +} +/// See [`Device`](crate::model::Device) +pub mod device { + /// A builder for [`Device`](crate::model::Device) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) host_path: std::option::Option, + pub(crate) container_path: std::option::Option, + pub(crate) permissions: + std::option::Option>, + } + impl Builder { + ///

      The path for the device on the host container instance.

      + pub fn host_path(mut self, inp: impl Into) -> Self { + self.host_path = Some(inp.into()); + self + } + pub fn set_host_path(mut self, inp: std::option::Option) -> Self { + self.host_path = inp; + self + } + ///

      The path inside the container at which to expose the host device.

      + pub fn container_path(mut self, inp: impl Into) -> Self { + self.container_path = Some(inp.into()); + self + } + pub fn set_container_path(mut self, inp: std::option::Option) -> Self { + self.container_path = inp; + self + } + pub fn permissions(mut self, inp: impl Into) -> Self { + let mut v = self.permissions.unwrap_or_default(); + v.push(inp.into()); + self.permissions = Some(v); + self + } + pub fn set_permissions( + mut self, + inp: std::option::Option>, + ) -> Self { + self.permissions = inp; + self + } + /// Consumes the builder and constructs a [`Device`](crate::model::Device) + pub fn build(self) -> crate::model::Device { + crate::model::Device { + host_path: self.host_path, + container_path: self.container_path, + permissions: self.permissions, + } + } + } +} +impl Device { + /// Creates a new builder-style object to manufacture [`Device`](crate::model::Device) + pub fn builder() -> crate::model::device::Builder { + crate::model::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 DeviceCgroupPermission { + Mknod, + Read, + Write, + Unknown(String), +} +impl std::convert::From<&str> for DeviceCgroupPermission { + fn from(s: &str) -> Self { + match s { + "mknod" => DeviceCgroupPermission::Mknod, + "read" => DeviceCgroupPermission::Read, + "write" => DeviceCgroupPermission::Write, + other => DeviceCgroupPermission::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for DeviceCgroupPermission { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(DeviceCgroupPermission::from(s)) + } +} +impl DeviceCgroupPermission { + pub fn as_str(&self) -> &str { + match self { + DeviceCgroupPermission::Mknod => "mknod", + DeviceCgroupPermission::Read => "read", + DeviceCgroupPermission::Write => "write", + DeviceCgroupPermission::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for DeviceCgroupPermission { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for DeviceCgroupPermission { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The Linux capabilities for the container that are added to or dropped from the default +/// configuration provided by Docker. For more information on the default capabilities and +/// the non-default available capabilities, see Runtime privilege and Linux capabilities in the Docker run +/// reference. For more detailed information on these Linux capabilities, see +/// the capabilities(7) Linux manual page.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct KernelCapabilities { + ///

      The Linux capabilities for the container that have been added to the default + /// configuration provided by Docker. This parameter maps to CapAdd in the + /// Create a container section of the Docker Remote API and the + /// --cap-add option to docker + /// run.

      + /// + ///

      Tasks launched on AWS Fargate only support adding the SYS_PTRACE kernel + /// capability.

      + ///
      + ///

      Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | + /// "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | + /// "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | + /// "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" + /// | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | + /// "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | + /// "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | + /// "WAKE_ALARM" + ///

      + #[serde(rename = "add")] + #[serde(default)] + pub add: std::option::Option>, + ///

      The Linux capabilities for the container that have been removed from the default + /// configuration provided by Docker. This parameter maps to CapDrop in the + /// Create a container section of the Docker Remote API and the + /// --cap-drop option to docker + /// run.

      + ///

      Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | + /// "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | + /// "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | + /// "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" + /// | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | + /// "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | + /// "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | + /// "WAKE_ALARM" + ///

      + #[serde(rename = "drop")] + #[serde(default)] + pub drop: std::option::Option>, +} +impl std::fmt::Debug for KernelCapabilities { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("KernelCapabilities"); + formatter.field("add", &self.add); + formatter.field("drop", &self.drop); + formatter.finish() + } +} +/// See [`KernelCapabilities`](crate::model::KernelCapabilities) +pub mod kernel_capabilities { + /// A builder for [`KernelCapabilities`](crate::model::KernelCapabilities) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) add: std::option::Option>, + pub(crate) drop: std::option::Option>, + } + impl Builder { + pub fn add(mut self, inp: impl Into) -> Self { + let mut v = self.add.unwrap_or_default(); + v.push(inp.into()); + self.add = Some(v); + self + } + pub fn set_add( + mut self, + inp: std::option::Option>, + ) -> Self { + self.add = inp; + self + } + pub fn drop(mut self, inp: impl Into) -> Self { + let mut v = self.drop.unwrap_or_default(); + v.push(inp.into()); + self.drop = Some(v); + self + } + pub fn set_drop( + mut self, + inp: std::option::Option>, + ) -> Self { + self.drop = inp; + self + } + /// Consumes the builder and constructs a [`KernelCapabilities`](crate::model::KernelCapabilities) + pub fn build(self) -> crate::model::KernelCapabilities { + crate::model::KernelCapabilities { + add: self.add, + drop: self.drop, + } + } + } +} +impl KernelCapabilities { + /// Creates a new builder-style object to manufacture [`KernelCapabilities`](crate::model::KernelCapabilities) + pub fn builder() -> crate::model::kernel_capabilities::Builder { + crate::model::kernel_capabilities::Builder::default() + } +} + +///

      Details on a data volume from another container in the same task definition.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct VolumeFrom { + ///

      The name of another container within the same task definition from which to mount + /// volumes.

      + #[serde(rename = "sourceContainer")] + #[serde(default)] + pub source_container: std::option::Option, + ///

      If this value is true, the container has read-only access to the volume. + /// If this value is false, then the container can write to the volume. The + /// default value is false.

      + #[serde(rename = "readOnly")] + #[serde(default)] + pub read_only: std::option::Option, +} +impl std::fmt::Debug for VolumeFrom { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("VolumeFrom"); + formatter.field("source_container", &self.source_container); + formatter.field("read_only", &self.read_only); + formatter.finish() + } +} +/// See [`VolumeFrom`](crate::model::VolumeFrom) +pub mod volume_from { + /// A builder for [`VolumeFrom`](crate::model::VolumeFrom) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) source_container: std::option::Option, + pub(crate) read_only: std::option::Option, + } + impl Builder { + ///

      The name of another container within the same task definition from which to mount + /// volumes.

      + pub fn source_container(mut self, inp: impl Into) -> Self { + self.source_container = Some(inp.into()); + self + } + pub fn set_source_container( + mut self, + inp: std::option::Option, + ) -> Self { + self.source_container = inp; + self + } + ///

      If this value is true, the container has read-only access to the volume. + /// If this value is false, then the container can write to the volume. The + /// default value is false.

      + pub fn read_only(mut self, inp: bool) -> Self { + self.read_only = Some(inp); + self + } + pub fn set_read_only(mut self, inp: std::option::Option) -> Self { + self.read_only = inp; + self + } + /// Consumes the builder and constructs a [`VolumeFrom`](crate::model::VolumeFrom) + pub fn build(self) -> crate::model::VolumeFrom { + crate::model::VolumeFrom { + source_container: self.source_container, + read_only: self.read_only, + } + } + } +} +impl VolumeFrom { + /// Creates a new builder-style object to manufacture [`VolumeFrom`](crate::model::VolumeFrom) + pub fn builder() -> crate::model::volume_from::Builder { + crate::model::volume_from::Builder::default() + } +} + +///

      Details on a volume mount point that is used in a container definition.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct MountPoint { + ///

      The name of the volume to mount. Must be a volume name referenced in the + /// name parameter of task definition volume.

      + #[serde(rename = "sourceVolume")] + #[serde(default)] + pub source_volume: std::option::Option, + ///

      The path on the container to mount the host volume at.

      + #[serde(rename = "containerPath")] + #[serde(default)] + pub container_path: std::option::Option, + ///

      If this value is true, the container has read-only access to the volume. + /// If this value is false, then the container can write to the volume. The + /// default value is false.

      + #[serde(rename = "readOnly")] + #[serde(default)] + pub read_only: std::option::Option, +} +impl std::fmt::Debug for MountPoint { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MountPoint"); + formatter.field("source_volume", &self.source_volume); + formatter.field("container_path", &self.container_path); + formatter.field("read_only", &self.read_only); + formatter.finish() + } +} +/// See [`MountPoint`](crate::model::MountPoint) +pub mod mount_point { + /// A builder for [`MountPoint`](crate::model::MountPoint) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) source_volume: std::option::Option, + pub(crate) container_path: std::option::Option, + pub(crate) read_only: std::option::Option, + } + impl Builder { + ///

      The name of the volume to mount. Must be a volume name referenced in the + /// name parameter of task definition volume.

      + pub fn source_volume(mut self, inp: impl Into) -> Self { + self.source_volume = Some(inp.into()); + self + } + pub fn set_source_volume(mut self, inp: std::option::Option) -> Self { + self.source_volume = inp; + self + } + ///

      The path on the container to mount the host volume at.

      + pub fn container_path(mut self, inp: impl Into) -> Self { + self.container_path = Some(inp.into()); + self + } + pub fn set_container_path(mut self, inp: std::option::Option) -> Self { + self.container_path = inp; + self + } + ///

      If this value is true, the container has read-only access to the volume. + /// If this value is false, then the container can write to the volume. The + /// default value is false.

      + pub fn read_only(mut self, inp: bool) -> Self { + self.read_only = Some(inp); + self + } + pub fn set_read_only(mut self, inp: std::option::Option) -> Self { + self.read_only = inp; + self + } + /// Consumes the builder and constructs a [`MountPoint`](crate::model::MountPoint) + pub fn build(self) -> crate::model::MountPoint { + crate::model::MountPoint { + source_volume: self.source_volume, + container_path: self.container_path, + read_only: self.read_only, + } + } + } +} +impl MountPoint { + /// Creates a new builder-style object to manufacture [`MountPoint`](crate::model::MountPoint) + pub fn builder() -> crate::model::mount_point::Builder { + crate::model::mount_point::Builder::default() + } +} + +///

      Port mappings allow containers to access ports on the host container instance to send +/// or receive traffic. Port mappings are specified as part of the container +/// definition.

      +///

      If you are using containers in a task with the awsvpc or +/// host network mode, exposed ports should be specified using +/// containerPort. The hostPort can be left blank or it must +/// be the same value as the containerPort.

      +/// +///

      You cannot expose the same container port for multiple protocols. An error will be +/// returned if this is attempted

      +///
      +///

      After a task reaches the RUNNING status, manual and automatic host and +/// container port assignments are visible in the networkBindings section of +/// DescribeTasks API responses.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PortMapping { + ///

      The port number on the container that is bound to the user-specified or automatically + /// assigned host port.

      + ///

      If you are using containers in a task with the awsvpc or + /// host network mode, exposed ports should be specified using + /// containerPort.

      + ///

      If you are using containers in a task with the bridge network mode and + /// you specify a container port and not a host port, your container automatically receives + /// a host port in the ephemeral port range. For more information, see + /// hostPort. Port mappings that are automatically assigned in this way do not + /// count toward the 100 reserved ports limit of a container instance.

      + #[serde(rename = "containerPort")] + #[serde(default)] + pub container_port: std::option::Option, + ///

      The port number on the container instance to reserve for your container.

      + ///

      If you are using containers in a task with the awsvpc or + /// host network mode, the hostPort can either be left blank + /// or set to the same value as the containerPort.

      + ///

      If you are using containers in a task with the bridge network mode, you + /// can specify a non-reserved host port for your container port mapping, or you can omit + /// the hostPort (or set it to 0) while specifying a + /// containerPort and your container automatically receives a port in the + /// ephemeral port range for your container instance operating system and Docker + /// version.

      + ///

      The default ephemeral port range for Docker version 1.6.0 and later is listed on the + /// instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel + /// parameter is unavailable, the default ephemeral port range from 49153 through 65535 is + /// used. Do not attempt to specify a host port in the ephemeral port range as these are + /// reserved for automatic assignment. In general, ports below 32768 are outside of the + /// ephemeral port range.

      + /// + ///

      The default ephemeral port range from 49153 through 65535 is always used for + /// Docker versions before 1.6.0.

      + ///
      + ///

      The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the + /// Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in + /// a running task is also reserved while the task is running (after a task stops, the host + /// port is released). The current reserved ports are displayed in the + /// remainingResources of DescribeContainerInstances + /// output. A container instance can have up to 100 reserved ports at a time, including the + /// default reserved ports. Automatically assigned ports don't count toward the 100 reserved + /// ports limit.

      + #[serde(rename = "hostPort")] + #[serde(default)] + pub host_port: std::option::Option, + ///

      The protocol used for the port mapping. Valid values are tcp and + /// udp. The default is tcp.

      + #[serde(rename = "protocol")] + #[serde(default)] + pub protocol: std::option::Option, +} +impl std::fmt::Debug for PortMapping { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PortMapping"); + formatter.field("container_port", &self.container_port); + formatter.field("host_port", &self.host_port); + formatter.field("protocol", &self.protocol); + formatter.finish() + } +} +/// See [`PortMapping`](crate::model::PortMapping) +pub mod port_mapping { + /// A builder for [`PortMapping`](crate::model::PortMapping) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_port: std::option::Option, + pub(crate) host_port: std::option::Option, + pub(crate) protocol: std::option::Option, + } + impl Builder { + ///

      The port number on the container that is bound to the user-specified or automatically + /// assigned host port.

      + ///

      If you are using containers in a task with the awsvpc or + /// host network mode, exposed ports should be specified using + /// containerPort.

      + ///

      If you are using containers in a task with the bridge network mode and + /// you specify a container port and not a host port, your container automatically receives + /// a host port in the ephemeral port range. For more information, see + /// hostPort. Port mappings that are automatically assigned in this way do not + /// count toward the 100 reserved ports limit of a container instance.

      + pub fn container_port(mut self, inp: i32) -> Self { + self.container_port = Some(inp); + self + } + pub fn set_container_port(mut self, inp: std::option::Option) -> Self { + self.container_port = inp; + self + } + ///

      The port number on the container instance to reserve for your container.

      + ///

      If you are using containers in a task with the awsvpc or + /// host network mode, the hostPort can either be left blank + /// or set to the same value as the containerPort.

      + ///

      If you are using containers in a task with the bridge network mode, you + /// can specify a non-reserved host port for your container port mapping, or you can omit + /// the hostPort (or set it to 0) while specifying a + /// containerPort and your container automatically receives a port in the + /// ephemeral port range for your container instance operating system and Docker + /// version.

      + ///

      The default ephemeral port range for Docker version 1.6.0 and later is listed on the + /// instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel + /// parameter is unavailable, the default ephemeral port range from 49153 through 65535 is + /// used. Do not attempt to specify a host port in the ephemeral port range as these are + /// reserved for automatic assignment. In general, ports below 32768 are outside of the + /// ephemeral port range.

      + /// + ///

      The default ephemeral port range from 49153 through 65535 is always used for + /// Docker versions before 1.6.0.

      + ///
      + ///

      The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the + /// Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in + /// a running task is also reserved while the task is running (after a task stops, the host + /// port is released). The current reserved ports are displayed in the + /// remainingResources of DescribeContainerInstances + /// output. A container instance can have up to 100 reserved ports at a time, including the + /// default reserved ports. Automatically assigned ports don't count toward the 100 reserved + /// ports limit.

      + pub fn host_port(mut self, inp: i32) -> Self { + self.host_port = Some(inp); + self + } + pub fn set_host_port(mut self, inp: std::option::Option) -> Self { + self.host_port = inp; + self + } + ///

      The protocol used for the port mapping. Valid values are tcp and + /// udp. The default is tcp.

      + pub fn protocol(mut self, inp: crate::model::TransportProtocol) -> Self { + self.protocol = Some(inp); + self + } + pub fn set_protocol( + mut self, + inp: std::option::Option, + ) -> Self { + self.protocol = inp; + self + } + /// Consumes the builder and constructs a [`PortMapping`](crate::model::PortMapping) + pub fn build(self) -> crate::model::PortMapping { + crate::model::PortMapping { + container_port: self.container_port, + host_port: self.host_port, + protocol: self.protocol, + } + } + } +} +impl PortMapping { + /// Creates a new builder-style object to manufacture [`PortMapping`](crate::model::PortMapping) + pub fn builder() -> crate::model::port_mapping::Builder { + crate::model::port_mapping::Builder::default() + } +} + +///

      The repository credentials for private registry authentication.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct RepositoryCredentials { + ///

      The Amazon Resource Name (ARN) of the secret containing the private repository + /// credentials.

      + /// + ///

      When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret exists in the + /// same Region as the task that you are launching then you can use either the full ARN + /// or the name of the secret. When you are using the AWS Management Console, you must specify the + /// full ARN of the secret.

      + ///
      + #[serde(rename = "credentialsParameter")] + #[serde(default)] + pub credentials_parameter: std::option::Option, +} +impl std::fmt::Debug for RepositoryCredentials { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RepositoryCredentials"); + formatter.field("credentials_parameter", &self.credentials_parameter); + formatter.finish() + } +} +/// See [`RepositoryCredentials`](crate::model::RepositoryCredentials) +pub mod repository_credentials { + /// A builder for [`RepositoryCredentials`](crate::model::RepositoryCredentials) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) credentials_parameter: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the secret containing the private repository + /// credentials.

      + /// + ///

      When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret exists in the + /// same Region as the task that you are launching then you can use either the full ARN + /// or the name of the secret. When you are using the AWS Management Console, you must specify the + /// full ARN of the secret.

      + ///
      + pub fn credentials_parameter(mut self, inp: impl Into) -> Self { + self.credentials_parameter = Some(inp.into()); + self + } + pub fn set_credentials_parameter( + mut self, + inp: std::option::Option, + ) -> Self { + self.credentials_parameter = inp; + self + } + /// Consumes the builder and constructs a [`RepositoryCredentials`](crate::model::RepositoryCredentials) + pub fn build(self) -> crate::model::RepositoryCredentials { + crate::model::RepositoryCredentials { + credentials_parameter: self.credentials_parameter, + } + } + } +} +impl RepositoryCredentials { + /// Creates a new builder-style object to manufacture [`RepositoryCredentials`](crate::model::RepositoryCredentials) + pub fn builder() -> crate::model::repository_credentials::Builder { + crate::model::repository_credentials::Builder::default() + } +} + +///

      The devices that are available on the container instance. The only supported device +/// type is a GPU.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PlatformDevice { + ///

      The ID for the GPU(s) on the container instance. The available GPU IDs can also be + /// obtained on the container instance in the + /// /var/lib/ecs/gpu/nvidia_gpu_info.json file.

      + #[serde(rename = "id")] + #[serde(default)] + pub id: std::option::Option, + ///

      The type of device that is available on the container instance. The only supported + /// value is GPU.

      + #[serde(rename = "type")] + #[serde(default)] + pub r#type: std::option::Option, +} +impl std::fmt::Debug for PlatformDevice { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PlatformDevice"); + formatter.field("id", &self.id); + formatter.field("r#type", &self.r#type); + formatter.finish() + } +} +/// See [`PlatformDevice`](crate::model::PlatformDevice) +pub mod platform_device { + /// A builder for [`PlatformDevice`](crate::model::PlatformDevice) + #[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) r#type: std::option::Option, + } + impl Builder { + ///

      The ID for the GPU(s) on the container instance. The available GPU IDs can also be + /// obtained on the container instance in the + /// /var/lib/ecs/gpu/nvidia_gpu_info.json file.

      + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

      The type of device that is available on the container instance. The only supported + /// value is GPU.

      + pub fn r#type(mut self, inp: crate::model::PlatformDeviceType) -> Self { + self.r#type = Some(inp); + self + } + pub fn set_type( + mut self, + inp: std::option::Option, + ) -> Self { + self.r#type = inp; + self + } + /// Consumes the builder and constructs a [`PlatformDevice`](crate::model::PlatformDevice) + pub fn build(self) -> crate::model::PlatformDevice { + crate::model::PlatformDevice { + id: self.id, + r#type: self.r#type, + } + } + } +} +impl PlatformDevice { + /// Creates a new builder-style object to manufacture [`PlatformDevice`](crate::model::PlatformDevice) + pub fn builder() -> crate::model::platform_device::Builder { + crate::model::platform_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 PlatformDeviceType { + Gpu, + Unknown(String), +} +impl std::convert::From<&str> for PlatformDeviceType { + fn from(s: &str) -> Self { + match s { + "GPU" => PlatformDeviceType::Gpu, + other => PlatformDeviceType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for PlatformDeviceType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(PlatformDeviceType::from(s)) + } +} +impl PlatformDeviceType { + pub fn as_str(&self) -> &str { + match self { + PlatformDeviceType::Gpu => "GPU", + PlatformDeviceType::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for PlatformDeviceType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for PlatformDeviceType { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The current account setting for a resource.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Setting { + ///

      The Amazon ECS resource name.

      + #[serde(rename = "name")] + #[serde(default)] + pub name: std::option::Option, + ///

      Whether the account setting is enabled or disabled for the specified resource.

      + #[serde(rename = "value")] + #[serde(default)] + pub value: std::option::Option, + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + /// this field is omitted, the authenticated user is assumed.

      + #[serde(rename = "principalArn")] + #[serde(default)] + pub principal_arn: std::option::Option, +} +impl std::fmt::Debug for Setting { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Setting"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.field("principal_arn", &self.principal_arn); + formatter.finish() + } +} +/// See [`Setting`](crate::model::Setting) +pub mod setting { + /// A builder for [`Setting`](crate::model::Setting) + #[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) value: std::option::Option, + pub(crate) principal_arn: std::option::Option, + } + impl Builder { + ///

      The Amazon ECS resource name.

      + pub fn name(mut self, inp: crate::model::SettingName) -> Self { + self.name = Some(inp); + self + } + pub fn set_name(mut self, inp: std::option::Option) -> Self { + self.name = inp; + self + } + ///

      Whether the account setting is enabled or disabled for the specified resource.

      + pub fn value(mut self, inp: impl Into) -> Self { + self.value = Some(inp.into()); + self + } + pub fn set_value(mut self, inp: std::option::Option) -> Self { + self.value = inp; + self + } + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + /// this field is omitted, the authenticated user is assumed.

      + pub fn principal_arn(mut self, inp: impl Into) -> Self { + self.principal_arn = Some(inp.into()); + self + } + pub fn set_principal_arn(mut self, inp: std::option::Option) -> Self { + self.principal_arn = inp; + self + } + /// Consumes the builder and constructs a [`Setting`](crate::model::Setting) + pub fn build(self) -> crate::model::Setting { + crate::model::Setting { + name: self.name, + value: self.value, + principal_arn: self.principal_arn, + } + } + } +} +impl Setting { + /// Creates a new builder-style object to manufacture [`Setting`](crate::model::Setting) + pub fn builder() -> crate::model::setting::Builder { + crate::model::setting::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 SettingName { + AwsvpcTrunking, + ContainerInsights, + ContainerInstanceLongArnFormat, + ServiceLongArnFormat, + TaskLongArnFormat, + Unknown(String), +} +impl std::convert::From<&str> for SettingName { + fn from(s: &str) -> Self { + match s { + "awsvpcTrunking" => SettingName::AwsvpcTrunking, + "containerInsights" => SettingName::ContainerInsights, + "containerInstanceLongArnFormat" => SettingName::ContainerInstanceLongArnFormat, + "serviceLongArnFormat" => SettingName::ServiceLongArnFormat, + "taskLongArnFormat" => SettingName::TaskLongArnFormat, + other => SettingName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for SettingName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(SettingName::from(s)) + } +} +impl SettingName { + pub fn as_str(&self) -> &str { + match self { + SettingName::AwsvpcTrunking => "awsvpcTrunking", + SettingName::ContainerInsights => "containerInsights", + SettingName::ContainerInstanceLongArnFormat => "containerInstanceLongArnFormat", + SettingName::ServiceLongArnFormat => "serviceLongArnFormat", + SettingName::TaskLongArnFormat => "taskLongArnFormat", + SettingName::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for SettingName { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for SettingName { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 DesiredStatus { + Pending, + Running, + Stopped, + Unknown(String), +} +impl std::convert::From<&str> for DesiredStatus { + fn from(s: &str) -> Self { + match s { + "PENDING" => DesiredStatus::Pending, + "RUNNING" => DesiredStatus::Running, + "STOPPED" => DesiredStatus::Stopped, + other => DesiredStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for DesiredStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(DesiredStatus::from(s)) + } +} +impl DesiredStatus { + pub fn as_str(&self) -> &str { + match self { + DesiredStatus::Pending => "PENDING", + DesiredStatus::Running => "RUNNING", + DesiredStatus::Stopped => "STOPPED", + DesiredStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for DesiredStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for DesiredStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 { + Asc, + Desc, + Unknown(String), +} +impl std::convert::From<&str> for SortOrder { + fn from(s: &str) -> Self { + match s { + "ASC" => SortOrder::Asc, + "DESC" => SortOrder::Desc, + other => SortOrder::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for SortOrder { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(SortOrder::from(s)) + } +} +impl SortOrder { + pub fn as_str(&self) -> &str { + match self { + SortOrder::Asc => "ASC", + SortOrder::Desc => "DESC", + SortOrder::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for SortOrder { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for SortOrder { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 TaskDefinitionFamilyStatus { + Active, + All, + Inactive, + Unknown(String), +} +impl std::convert::From<&str> for TaskDefinitionFamilyStatus { + fn from(s: &str) -> Self { + match s { + "ACTIVE" => TaskDefinitionFamilyStatus::Active, + "ALL" => TaskDefinitionFamilyStatus::All, + "INACTIVE" => TaskDefinitionFamilyStatus::Inactive, + other => TaskDefinitionFamilyStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskDefinitionFamilyStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskDefinitionFamilyStatus::from(s)) + } +} +impl TaskDefinitionFamilyStatus { + pub fn as_str(&self) -> &str { + match self { + TaskDefinitionFamilyStatus::Active => "ACTIVE", + TaskDefinitionFamilyStatus::All => "ALL", + TaskDefinitionFamilyStatus::Inactive => "INACTIVE", + TaskDefinitionFamilyStatus::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskDefinitionFamilyStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskDefinitionFamilyStatus { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

      The details of the execute command session.

      +#[non_exhaustive] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct Session { + ///

      The ID of the execute command session.

      + #[serde(rename = "sessionId")] + #[serde(default)] + pub session_id: std::option::Option, + ///

      A URL back to managed agent on the container that the SSM Session Manager client uses + /// to send commands and receive output from the container.

      + #[serde(rename = "streamUrl")] + #[serde(default)] + pub stream_url: std::option::Option, + ///

      An encrypted token value containing session and caller information. Used to + /// authenticate the connection to the container.

      + #[serde(rename = "tokenValue")] + #[serde(default)] + pub token_value: std::option::Option, +} +impl std::fmt::Debug for Session { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Session"); + formatter.field("session_id", &self.session_id); + formatter.field("stream_url", &self.stream_url); + formatter.field("token_value", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`Session`](crate::model::Session) +pub mod session { + /// A builder for [`Session`](crate::model::Session) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) session_id: std::option::Option, + pub(crate) stream_url: std::option::Option, + pub(crate) token_value: std::option::Option, + } + impl Builder { + ///

      The ID of the execute command session.

      + pub fn session_id(mut self, inp: impl Into) -> Self { + self.session_id = Some(inp.into()); + self + } + pub fn set_session_id(mut self, inp: std::option::Option) -> Self { + self.session_id = inp; + self + } + ///

      A URL back to managed agent on the container that the SSM Session Manager client uses + /// to send commands and receive output from the container.

      + pub fn stream_url(mut self, inp: impl Into) -> Self { + self.stream_url = Some(inp.into()); + self + } + pub fn set_stream_url(mut self, inp: std::option::Option) -> Self { + self.stream_url = inp; + self + } + ///

      An encrypted token value containing session and caller information. Used to + /// authenticate the connection to the container.

      + pub fn token_value(mut self, inp: impl Into) -> Self { + self.token_value = Some(inp.into()); + self + } + pub fn set_token_value(mut self, inp: std::option::Option) -> Self { + self.token_value = inp; + self + } + /// Consumes the builder and constructs a [`Session`](crate::model::Session) + pub fn build(self) -> crate::model::Session { + crate::model::Session { + session_id: self.session_id, + stream_url: self.stream_url, + token_value: self.token_value, + } + } + } +} +impl Session { + /// Creates a new builder-style object to manufacture [`Session`](crate::model::Session) + pub fn builder() -> crate::model::session::Builder { + crate::model::session::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 TaskSetField { + Tags, + Unknown(String), +} +impl std::convert::From<&str> for TaskSetField { + fn from(s: &str) -> Self { + match s { + "TAGS" => TaskSetField::Tags, + other => TaskSetField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskSetField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskSetField::from(s)) + } +} +impl TaskSetField { + pub fn as_str(&self) -> &str { + match self { + TaskSetField::Tags => "TAGS", + TaskSetField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskSetField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskSetField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 TaskField { + Tags, + Unknown(String), +} +impl std::convert::From<&str> for TaskField { + fn from(s: &str) -> Self { + match s { + "TAGS" => TaskField::Tags, + other => TaskField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskField::from(s)) + } +} +impl TaskField { + pub fn as_str(&self) -> &str { + match self { + TaskField::Tags => "TAGS", + TaskField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 TaskDefinitionField { + Tags, + Unknown(String), +} +impl std::convert::From<&str> for TaskDefinitionField { + fn from(s: &str) -> Self { + match s { + "TAGS" => TaskDefinitionField::Tags, + other => TaskDefinitionField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskDefinitionField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(TaskDefinitionField::from(s)) + } +} +impl TaskDefinitionField { + pub fn as_str(&self) -> &str { + match self { + TaskDefinitionField::Tags => "TAGS", + TaskDefinitionField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for TaskDefinitionField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for TaskDefinitionField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 ServiceField { + Tags, + Unknown(String), +} +impl std::convert::From<&str> for ServiceField { + fn from(s: &str) -> Self { + match s { + "TAGS" => ServiceField::Tags, + other => ServiceField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ServiceField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ServiceField::from(s)) + } +} +impl ServiceField { + pub fn as_str(&self) -> &str { + match self { + ServiceField::Tags => "TAGS", + ServiceField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ServiceField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ServiceField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 ContainerInstanceField { + Tags, + Unknown(String), +} +impl std::convert::From<&str> for ContainerInstanceField { + fn from(s: &str) -> Self { + match s { + "TAGS" => ContainerInstanceField::Tags, + other => ContainerInstanceField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ContainerInstanceField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ContainerInstanceField::from(s)) + } +} +impl ContainerInstanceField { + pub fn as_str(&self) -> &str { + match self { + ContainerInstanceField::Tags => "TAGS", + ContainerInstanceField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ContainerInstanceField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ContainerInstanceField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 ClusterField { + Attachments, + Configurations, + Settings, + Statistics, + Tags, + Unknown(String), +} +impl std::convert::From<&str> for ClusterField { + fn from(s: &str) -> Self { + match s { + "ATTACHMENTS" => ClusterField::Attachments, + "CONFIGURATIONS" => ClusterField::Configurations, + "SETTINGS" => ClusterField::Settings, + "STATISTICS" => ClusterField::Statistics, + "TAGS" => ClusterField::Tags, + other => ClusterField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ClusterField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(ClusterField::from(s)) + } +} +impl ClusterField { + pub fn as_str(&self) -> &str { + match self { + ClusterField::Attachments => "ATTACHMENTS", + ClusterField::Configurations => "CONFIGURATIONS", + ClusterField::Settings => "SETTINGS", + ClusterField::Statistics => "STATISTICS", + ClusterField::Tags => "TAGS", + ClusterField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for ClusterField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for ClusterField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +#[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 CapacityProviderField { + Tags, + Unknown(String), +} +impl std::convert::From<&str> for CapacityProviderField { + fn from(s: &str) -> Self { + match s { + "TAGS" => CapacityProviderField::Tags, + other => CapacityProviderField::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for CapacityProviderField { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(CapacityProviderField::from(s)) + } +} +impl CapacityProviderField { + pub fn as_str(&self) -> &str { + match self { + CapacityProviderField::Tags => "TAGS", + CapacityProviderField::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for CapacityProviderField { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for CapacityProviderField { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} diff --git a/sdk/ecs/src/operation.rs b/sdk/ecs/src/operation.rs new file mode 100644 index 000000000000..f5d67effb92c --- /dev/null +++ b/sdk/ecs/src/operation.rs @@ -0,0 +1,4720 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

      Creates a new capacity provider. Capacity providers are associated with an Amazon ECS +/// cluster and are used in capacity provider strategies to facilitate cluster auto +/// scaling.

      +///

      Only capacity providers using an Auto Scaling group can be created. Amazon ECS tasks on +/// AWS Fargate use the FARGATE and FARGATE_SPOT capacity providers +/// which are already created and available to all accounts in Regions supported by +/// AWS Fargate.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateCapacityProvider { + _private: (), +} +impl CreateCapacityProvider { + /// Creates a new builder-style object to manufacture [`CreateCapacityProviderInput`](crate::input::CreateCapacityProviderInput) + pub fn builder() -> crate::input::create_capacity_provider_input::Builder { + crate::input::create_capacity_provider_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::CreateCapacityProviderOutput, + crate::error::CreateCapacityProviderError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::CreateCapacityProviderError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateCapacityProviderError { + kind: crate::error::CreateCapacityProviderErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::CreateCapacityProviderError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateCapacityProviderError { + kind: crate::error::CreateCapacityProviderErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::CreateCapacityProviderError::unhandled(e), + }, + "LimitExceededException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateCapacityProviderError { + kind: crate::error::CreateCapacityProviderErrorKind::LimitExceededError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::CreateCapacityProviderError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateCapacityProviderError { + kind: crate::error::CreateCapacityProviderErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::CreateCapacityProviderError::unhandled(e), + }, + "UpdateInProgressException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateCapacityProviderError { + kind: crate::error::CreateCapacityProviderErrorKind::UpdateInProgressError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::CreateCapacityProviderError::unhandled(e), + }, + _ => crate::error::CreateCapacityProviderError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::create_capacity_provider_output::Builder::default(); + builder = crate::json_deser::create_capacity_provider_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::CreateCapacityProviderError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateCapacityProvider { + type Output = Result< + crate::output::CreateCapacityProviderOutput, + crate::error::CreateCapacityProviderError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Creates a new Amazon ECS cluster. By default, your account receives a default +/// cluster when you launch your first container instance. However, you can create your own +/// cluster with a unique name with the CreateCluster action.

      +/// +///

      When you call the CreateCluster API operation, Amazon ECS attempts to +/// create the Amazon ECS service-linked role for your account so that required resources in +/// other AWS services can be managed on your behalf. However, if the IAM user that +/// makes the call does not have permissions to create the service-linked role, it is +/// not created. For more information, see Using +/// Service-Linked Roles for Amazon ECS in the +/// Amazon Elastic Container Service Developer Guide.

      +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateCluster { + _private: (), +} +impl CreateCluster { + /// Creates a new builder-style object to manufacture [`CreateClusterInput`](crate::input::CreateClusterInput) + pub fn builder() -> crate::input::create_cluster_input::Builder { + crate::input::create_cluster_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateClusterError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateClusterError { + kind: crate::error::CreateClusterErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::CreateClusterError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateClusterError { + kind: crate::error::CreateClusterErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::CreateClusterError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateClusterError { + kind: crate::error::CreateClusterErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::CreateClusterError::unhandled(e), + }, + _ => crate::error::CreateClusterError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::create_cluster_output::Builder::default(); + builder = + crate::json_deser::create_cluster_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::CreateClusterError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateCluster { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Runs and maintains a desired number of tasks from a specified task definition. If the +/// number of tasks running in a service drops below the desiredCount, Amazon ECS +/// runs another copy of the task in the specified cluster. To update an existing service, +/// see the UpdateService action.

      +///

      In addition to maintaining the desired count of tasks in your service, you can +/// optionally run your service behind one or more load balancers. The load balancers +/// distribute traffic across the tasks that are associated with the service. For more +/// information, see Service Load Balancing in the +/// Amazon Elastic Container Service Developer Guide.

      +///

      Tasks for services that do not use a load balancer are considered +/// healthy if they're in the RUNNING state. Tasks for services that +/// do use a load balancer are considered healthy if they're in the +/// RUNNING state and the container instance that they're hosted on is +/// reported as healthy by the load balancer.

      +///

      There are two service scheduler strategies available:

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

        +/// REPLICA - The replica scheduling strategy places and +/// maintains the desired number of tasks across your cluster. By default, the +/// service scheduler spreads tasks across Availability Zones. You can use task +/// placement strategies and constraints to customize task placement decisions. For +/// more information, see Service Scheduler Concepts in the +/// Amazon Elastic Container Service Developer Guide.

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

        +/// DAEMON - The daemon scheduling strategy deploys exactly one +/// task on each active container instance that meets all of the task placement +/// constraints that you specify in your cluster. The service scheduler also +/// evaluates the task placement constraints for running tasks and will stop tasks +/// that do not meet the placement constraints. When using this strategy, you don't +/// need to specify a desired number of tasks, a task placement strategy, or use +/// Service Auto Scaling policies. For more information, see Service Scheduler Concepts in the +/// Amazon Elastic Container Service Developer Guide.

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

      You can optionally specify a deployment configuration for your service. The deployment +/// is triggered by changing properties, such as the task definition or the desired count of +/// a service, with an UpdateService operation. The default value for a +/// replica service for minimumHealthyPercent is 100%. The default value for a +/// daemon service for minimumHealthyPercent is 0%.

      +///

      If a service is using the ECS deployment controller, the minimum healthy +/// percent represents a lower limit on the number of tasks in a service that must remain in +/// the RUNNING state during a deployment, as a percentage of the desired +/// number of tasks (rounded up to the nearest integer), and while any container instances +/// are in the DRAINING state if the service contains tasks using the +/// EC2 launch type. This parameter enables you to deploy without using +/// additional cluster capacity. For example, if your service has a desired number of four +/// tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks +/// to free up cluster capacity before starting two new tasks. Tasks for services that +/// do not use a load balancer are considered healthy if they're in +/// the RUNNING state. Tasks for services that do use a +/// load balancer are considered healthy if they're in the RUNNING state and +/// they're reported as healthy by the load balancer. The default value for minimum healthy +/// percent is 100%.

      +///

      If a service is using the ECS deployment controller, the maximum percent parameter represents an upper limit on the +/// number of tasks in a service that are allowed in the RUNNING or +/// PENDING state during a deployment, as a percentage of the desired +/// number of tasks (rounded down to the nearest integer), and while any container instances +/// are in the DRAINING state if the service contains tasks using the +/// EC2 launch type. This parameter enables you to define the deployment batch +/// size. For example, if your service has a desired number of four tasks and a maximum +/// percent value of 200%, the scheduler may start four new tasks before stopping the four +/// older tasks (provided that the cluster resources required to do this are available). The +/// default value for maximum percent is 200%.

      +///

      If a service is using either the CODE_DEPLOY or EXTERNAL +/// deployment controller types and tasks that use the EC2 launch type, the +/// minimum healthy percent and maximum percent values are used only to define the lower and upper limit +/// on the number of the tasks in the service that remain in the RUNNING state +/// while the container instances are in the DRAINING state. If the tasks in +/// the service use the Fargate launch type, the minimum healthy percent and +/// maximum percent values aren't used, although they're currently visible when describing +/// your service.

      +///

      When creating a service that uses the EXTERNAL deployment controller, you +/// can specify only parameters that aren't controlled at the task set level. The only +/// required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

      +///

      When the service scheduler launches new tasks, it determines task placement in your +/// cluster using the following logic:

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

        Determine which of the container instances in your cluster can support your +/// service's task definition (for example, they have the required CPU, memory, +/// ports, and container instance attributes).

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

        By default, the service scheduler attempts to balance tasks across +/// Availability Zones in this manner (although you can choose a different placement +/// strategy) with the placementStrategy parameter):

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

          Sort the valid container instances, giving priority to instances that +/// have the fewest number of running tasks for this service in their +/// respective Availability Zone. For example, if zone A has one running +/// service task and zones B and C each have zero, valid container instances +/// in either zone B or C are considered optimal for placement.

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

          Place the new service task on a valid container instance in an optimal +/// Availability Zone (based on the previous steps), favoring container +/// instances with the fewest number of running tasks for this +/// service.

          +///
        • +///
        +///
      • +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateService { + _private: (), +} +impl CreateService { + /// Creates a new builder-style object to manufacture [`CreateServiceInput`](crate::input::CreateServiceInput) + pub fn builder() -> crate::input::create_service_input::Builder { + crate::input::create_service_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateServiceError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::AccessDeniedError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "PlatformTaskDefinitionIncompatibilityException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "PlatformUnknownException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::PlatformUnknownError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateServiceError { kind: crate::error::CreateServiceErrorKind::UnsupportedFeatureError(body), meta: generic }, + Err(e) => crate::error::CreateServiceError::unhandled(e) + } + _ => crate::error::CreateServiceError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::create_service_output::Builder::default(); + builder = + crate::json_deser::create_service_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::CreateServiceError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateService { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Create a task set in the specified cluster and service. This is used when a service +/// uses the EXTERNAL deployment controller type. For more information, see +/// Amazon ECS Deployment +/// Types in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateTaskSet { + _private: (), +} +impl CreateTaskSet { + /// Creates a new builder-style object to manufacture [`CreateTaskSetInput`](crate::input::CreateTaskSetInput) + pub fn builder() -> crate::input::create_task_set_input::Builder { + crate::input::create_task_set_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateTaskSetError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::AccessDeniedError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "PlatformTaskDefinitionIncompatibilityException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::PlatformTaskDefinitionIncompatibilityError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "PlatformUnknownException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::PlatformUnknownError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "ServiceNotActiveException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::ServiceNotActiveError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::ServiceNotFoundError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::CreateTaskSetError { kind: crate::error::CreateTaskSetErrorKind::UnsupportedFeatureError(body), meta: generic }, + Err(e) => crate::error::CreateTaskSetError::unhandled(e) + } + _ => crate::error::CreateTaskSetError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::create_task_set_output::Builder::default(); + builder = + crate::json_deser::create_task_set_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::CreateTaskSetError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateTaskSet { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Disables an account setting for a specified IAM user, IAM role, or the root user for +/// an account.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteAccountSetting { + _private: (), +} +impl DeleteAccountSetting { + /// Creates a new builder-style object to manufacture [`DeleteAccountSettingInput`](crate::input::DeleteAccountSettingInput) + pub fn builder() -> crate::input::delete_account_setting_input::Builder { + crate::input::delete_account_setting_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteAccountSettingError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteAccountSettingError { + kind: crate::error::DeleteAccountSettingErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteAccountSettingError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteAccountSettingError { + kind: crate::error::DeleteAccountSettingErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DeleteAccountSettingError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteAccountSettingError { + kind: crate::error::DeleteAccountSettingErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteAccountSettingError::unhandled(e), + }, + _ => crate::error::DeleteAccountSettingError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::delete_account_setting_output::Builder::default(); + builder = crate::json_deser::delete_account_setting_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DeleteAccountSettingError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteAccountSetting { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deletes one or more custom attributes from an Amazon ECS resource.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteAttributes { + _private: (), +} +impl DeleteAttributes { + /// Creates a new builder-style object to manufacture [`DeleteAttributesInput`](crate::input::DeleteAttributesInput) + pub fn builder() -> crate::input::delete_attributes_input::Builder { + crate::input::delete_attributes_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteAttributesError::unhandled(generic)), + }; + return Err(match error_code { + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteAttributesError { + kind: crate::error::DeleteAttributesErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteAttributesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteAttributesError { + kind: crate::error::DeleteAttributesErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteAttributesError::unhandled(e), + }, + "TargetNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteAttributesError { + kind: crate::error::DeleteAttributesErrorKind::TargetNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteAttributesError::unhandled(e), + }, + _ => crate::error::DeleteAttributesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::delete_attributes_output::Builder::default(); + builder = + crate::json_deser::delete_attributes_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DeleteAttributesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteAttributes { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deletes the specified capacity provider.

      +/// +///

      The FARGATE and FARGATE_SPOT capacity providers are +/// reserved and cannot be deleted. You can disassociate them from a cluster using +/// either the PutClusterCapacityProviders API or by deleting the +/// cluster.

      +///
      +///

      Prior to a capacity provider being deleted, the capacity provider must be removed from +/// the capacity provider strategy from all services. The UpdateService +/// API can be used to remove a capacity provider from a service's capacity provider +/// strategy. When updating a service, the forceNewDeployment option can be +/// used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity +/// provider are transitioned to use the capacity from the remaining capacity providers. +/// Only capacity providers that are not associated with a cluster can be deleted. To remove +/// a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteCapacityProvider { + _private: (), +} +impl DeleteCapacityProvider { + /// Creates a new builder-style object to manufacture [`DeleteCapacityProviderInput`](crate::input::DeleteCapacityProviderInput) + pub fn builder() -> crate::input::delete_capacity_provider_input::Builder { + crate::input::delete_capacity_provider_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::DeleteCapacityProviderOutput, + crate::error::DeleteCapacityProviderError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteCapacityProviderError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteCapacityProviderError { + kind: crate::error::DeleteCapacityProviderErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteCapacityProviderError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteCapacityProviderError { + kind: crate::error::DeleteCapacityProviderErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DeleteCapacityProviderError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteCapacityProviderError { + kind: crate::error::DeleteCapacityProviderErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteCapacityProviderError::unhandled(e), + }, + _ => crate::error::DeleteCapacityProviderError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::delete_capacity_provider_output::Builder::default(); + builder = crate::json_deser::delete_capacity_provider_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DeleteCapacityProviderError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteCapacityProvider { + type Output = Result< + crate::output::DeleteCapacityProviderOutput, + crate::error::DeleteCapacityProviderError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deletes the specified cluster. The cluster will transition to the +/// INACTIVE state. Clusters with an INACTIVE status may +/// remain discoverable in your account for a period of time. However, this behavior is +/// subject to change in the future, so you should not rely on INACTIVE +/// clusters persisting.

      +///

      You must deregister all container instances from this cluster before you may delete +/// it. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteCluster { + _private: (), +} +impl DeleteCluster { + /// Creates a new builder-style object to manufacture [`DeleteClusterInput`](crate::input::DeleteClusterInput) + pub fn builder() -> crate::input::delete_cluster_input::Builder { + crate::input::delete_cluster_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteClusterError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "ClusterContainsContainerInstancesException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::ClusterContainsContainerInstancesError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "ClusterContainsServicesException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::ClusterContainsServicesError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "ClusterContainsTasksException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::ClusterContainsTasksError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + "UpdateInProgressException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteClusterError { kind: crate::error::DeleteClusterErrorKind::UpdateInProgressError(body), meta: generic }, + Err(e) => crate::error::DeleteClusterError::unhandled(e) + } + _ => crate::error::DeleteClusterError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::delete_cluster_output::Builder::default(); + builder = + crate::json_deser::delete_cluster_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DeleteClusterError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteCluster { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deletes a specified service within a cluster. You can delete a service if you have no +/// running tasks in it and the desired task count is zero. If the service is actively +/// maintaining tasks, you cannot delete it, and you must update the service to a desired +/// task count of zero. For more information, see UpdateService.

      +/// +///

      When you delete a service, if there are still running tasks that require cleanup, +/// the service status moves from ACTIVE to DRAINING, and the +/// service is no longer visible in the console or in the ListServices +/// API operation. After all tasks have transitioned to either STOPPING or +/// STOPPED status, the service status moves from DRAINING +/// to INACTIVE. Services in the DRAINING or +/// INACTIVE status can still be viewed with the DescribeServices API operation. However, in the future, +/// INACTIVE services may be cleaned up and purged from Amazon ECS record +/// keeping, and DescribeServices calls on those services return a +/// ServiceNotFoundException error.

      +///
      +/// +///

      If you attempt to create a new service with the same name as an existing service +/// in either ACTIVE or DRAINING status, you receive an +/// error.

      +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteService { + _private: (), +} +impl DeleteService { + /// Creates a new builder-style object to manufacture [`DeleteServiceInput`](crate::input::DeleteServiceInput) + pub fn builder() -> crate::input::delete_service_input::Builder { + crate::input::delete_service_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteServiceError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteServiceError { + kind: crate::error::DeleteServiceErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteServiceError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteServiceError { + kind: crate::error::DeleteServiceErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteServiceError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteServiceError { + kind: crate::error::DeleteServiceErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteServiceError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteServiceError { + kind: crate::error::DeleteServiceErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteServiceError::unhandled(e), + }, + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteServiceError { + kind: crate::error::DeleteServiceErrorKind::ServiceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteServiceError::unhandled(e), + }, + _ => crate::error::DeleteServiceError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::delete_service_output::Builder::default(); + builder = + crate::json_deser::delete_service_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DeleteServiceError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteService { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deletes a specified task set within a service. This is used when a service uses the +/// EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteTaskSet { + _private: (), +} +impl DeleteTaskSet { + /// Creates a new builder-style object to manufacture [`DeleteTaskSetInput`](crate::input::DeleteTaskSetInput) + pub fn builder() -> crate::input::delete_task_set_input::Builder { + crate::input::delete_task_set_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteTaskSetError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::AccessDeniedError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "ServiceNotActiveException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::ServiceNotActiveError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::ServiceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "TaskSetNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::TaskSetNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeleteTaskSetError { + kind: crate::error::DeleteTaskSetErrorKind::UnsupportedFeatureError(body), + meta: generic, + }, + Err(e) => crate::error::DeleteTaskSetError::unhandled(e), + }, + _ => crate::error::DeleteTaskSetError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::delete_task_set_output::Builder::default(); + builder = + crate::json_deser::delete_task_set_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DeleteTaskSetError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteTaskSet { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deregisters an Amazon ECS container instance from the specified cluster. This instance is +/// no longer available to run tasks.

      +///

      If you intend to use the container instance for some other purpose after +/// deregistration, you should stop all of the tasks running on the container instance +/// before deregistration. That prevents any orphaned tasks from consuming resources.

      +///

      Deregistering a container instance removes the instance from a cluster, but it does +/// not terminate the EC2 instance. If you are finished using the instance, be sure to +/// terminate it in the Amazon EC2 console to stop billing.

      +/// +///

      If you terminate a running container instance, Amazon ECS automatically deregisters the +/// instance from your cluster (stopped container instances or instances with +/// disconnected agents are not automatically deregistered when terminated).

      +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeregisterContainerInstance { + _private: (), +} +impl DeregisterContainerInstance { + /// Creates a new builder-style object to manufacture [`DeregisterContainerInstanceInput`](crate::input::DeregisterContainerInstanceInput) + pub fn builder() -> crate::input::deregister_container_instance_input::Builder { + crate::input::deregister_container_instance_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::DeregisterContainerInstanceOutput, + crate::error::DeregisterContainerInstanceError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeregisterContainerInstanceError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterContainerInstanceError { kind: crate::error::DeregisterContainerInstanceErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::DeregisterContainerInstanceError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterContainerInstanceError { kind: crate::error::DeregisterContainerInstanceErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::DeregisterContainerInstanceError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterContainerInstanceError { kind: crate::error::DeregisterContainerInstanceErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::DeregisterContainerInstanceError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterContainerInstanceError { kind: crate::error::DeregisterContainerInstanceErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::DeregisterContainerInstanceError::unhandled(e) + } + _ => crate::error::DeregisterContainerInstanceError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::deregister_container_instance_output::Builder::default(); + builder = crate::json_deser::deregister_container_instance_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DeregisterContainerInstanceError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeregisterContainerInstance { + type Output = Result< + crate::output::DeregisterContainerInstanceOutput, + crate::error::DeregisterContainerInstanceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deregisters the specified task definition by family and revision. Upon deregistration, +/// the task definition is marked as INACTIVE. Existing tasks and services that +/// reference an INACTIVE task definition continue to run without disruption. +/// Existing services that reference an INACTIVE task definition can still +/// scale up or down by modifying the service's desired count.

      +///

      You cannot use an INACTIVE task definition to run new tasks or create new +/// services, and you cannot update an existing service to reference an +/// INACTIVE task definition. However, there may be up to a 10-minute +/// window following deregistration where these restrictions have not yet taken +/// effect.

      +/// +///

      At this time, INACTIVE task definitions remain discoverable in your +/// account indefinitely. However, this behavior is subject to change in the future, so +/// you should not rely on INACTIVE task definitions persisting beyond the +/// lifecycle of any associated tasks and services.

      +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeregisterTaskDefinition { + _private: (), +} +impl DeregisterTaskDefinition { + /// Creates a new builder-style object to manufacture [`DeregisterTaskDefinitionInput`](crate::input::DeregisterTaskDefinitionInput) + pub fn builder() -> crate::input::deregister_task_definition_input::Builder { + crate::input::deregister_task_definition_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::DeregisterTaskDefinitionOutput, + crate::error::DeregisterTaskDefinitionError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeregisterTaskDefinitionError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterTaskDefinitionError { + kind: crate::error::DeregisterTaskDefinitionErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DeregisterTaskDefinitionError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterTaskDefinitionError { + kind: + crate::error::DeregisterTaskDefinitionErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DeregisterTaskDefinitionError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DeregisterTaskDefinitionError { + kind: crate::error::DeregisterTaskDefinitionErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DeregisterTaskDefinitionError::unhandled(e), + }, + _ => crate::error::DeregisterTaskDefinitionError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::deregister_task_definition_output::Builder::default(); + builder = crate::json_deser::deregister_task_definition_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DeregisterTaskDefinitionError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeregisterTaskDefinition { + type Output = Result< + crate::output::DeregisterTaskDefinitionOutput, + crate::error::DeregisterTaskDefinitionError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes one or more of your capacity providers.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeCapacityProviders { + _private: (), +} +impl DescribeCapacityProviders { + /// Creates a new builder-style object to manufacture [`DescribeCapacityProvidersInput`](crate::input::DescribeCapacityProvidersInput) + pub fn builder() -> crate::input::describe_capacity_providers_input::Builder { + crate::input::describe_capacity_providers_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::DescribeCapacityProvidersOutput, + crate::error::DescribeCapacityProvidersError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeCapacityProvidersError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeCapacityProvidersError { + kind: crate::error::DescribeCapacityProvidersErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeCapacityProvidersError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeCapacityProvidersError { + kind: + crate::error::DescribeCapacityProvidersErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DescribeCapacityProvidersError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeCapacityProvidersError { + kind: crate::error::DescribeCapacityProvidersErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeCapacityProvidersError::unhandled(e), + }, + _ => crate::error::DescribeCapacityProvidersError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_capacity_providers_output::Builder::default(); + builder = crate::json_deser::describe_capacity_providers_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DescribeCapacityProvidersError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeCapacityProviders { + type Output = Result< + crate::output::DescribeCapacityProvidersOutput, + crate::error::DescribeCapacityProvidersError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes one or more of your clusters.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeClusters { + _private: (), +} +impl DescribeClusters { + /// Creates a new builder-style object to manufacture [`DescribeClustersInput`](crate::input::DescribeClustersInput) + pub fn builder() -> crate::input::describe_clusters_input::Builder { + crate::input::describe_clusters_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeClustersError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeClustersError { + kind: crate::error::DescribeClustersErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeClustersError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeClustersError { + kind: crate::error::DescribeClustersErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeClustersError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeClustersError { + kind: crate::error::DescribeClustersErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeClustersError::unhandled(e), + }, + _ => crate::error::DescribeClustersError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_clusters_output::Builder::default(); + builder = + crate::json_deser::describe_clusters_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DescribeClustersError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeClusters { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes Amazon Elastic Container Service container instances. Returns metadata about registered and +/// remaining resources on each container instance requested.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeContainerInstances { + _private: (), +} +impl DescribeContainerInstances { + /// Creates a new builder-style object to manufacture [`DescribeContainerInstancesInput`](crate::input::DescribeContainerInstancesInput) + pub fn builder() -> crate::input::describe_container_instances_input::Builder { + crate::input::describe_container_instances_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::DescribeContainerInstancesOutput, + crate::error::DescribeContainerInstancesError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeContainerInstancesError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeContainerInstancesError { + kind: crate::error::DescribeContainerInstancesErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeContainerInstancesError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeContainerInstancesError { + kind: + crate::error::DescribeContainerInstancesErrorKind::ClusterNotFoundError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DescribeContainerInstancesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeContainerInstancesError { + kind: + crate::error::DescribeContainerInstancesErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DescribeContainerInstancesError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeContainerInstancesError { + kind: crate::error::DescribeContainerInstancesErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeContainerInstancesError::unhandled(e), + }, + _ => crate::error::DescribeContainerInstancesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_container_instances_output::Builder::default(); + builder = crate::json_deser::describe_container_instances_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DescribeContainerInstancesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeContainerInstances { + type Output = Result< + crate::output::DescribeContainerInstancesOutput, + crate::error::DescribeContainerInstancesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes the specified services running in your cluster.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeServices { + _private: (), +} +impl DescribeServices { + /// Creates a new builder-style object to manufacture [`DescribeServicesInput`](crate::input::DescribeServicesInput) + pub fn builder() -> crate::input::describe_services_input::Builder { + crate::input::describe_services_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeServicesError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeServicesError { + kind: crate::error::DescribeServicesErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeServicesError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeServicesError { + kind: crate::error::DescribeServicesErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeServicesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeServicesError { + kind: crate::error::DescribeServicesErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeServicesError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeServicesError { + kind: crate::error::DescribeServicesErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeServicesError::unhandled(e), + }, + _ => crate::error::DescribeServicesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_services_output::Builder::default(); + builder = + crate::json_deser::describe_services_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DescribeServicesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeServices { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes a task definition. You can specify a family and +/// revision to find information about a specific task definition, or you +/// can simply specify the family to find the latest ACTIVE revision in that +/// family.

      +/// +///

      You can only describe INACTIVE task definitions while an active task +/// or service references them.

      +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeTaskDefinition { + _private: (), +} +impl DescribeTaskDefinition { + /// Creates a new builder-style object to manufacture [`DescribeTaskDefinitionInput`](crate::input::DescribeTaskDefinitionInput) + pub fn builder() -> crate::input::describe_task_definition_input::Builder { + crate::input::describe_task_definition_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::DescribeTaskDefinitionOutput, + crate::error::DescribeTaskDefinitionError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeTaskDefinitionError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskDefinitionError { + kind: crate::error::DescribeTaskDefinitionErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskDefinitionError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskDefinitionError { + kind: crate::error::DescribeTaskDefinitionErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskDefinitionError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskDefinitionError { + kind: crate::error::DescribeTaskDefinitionErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskDefinitionError::unhandled(e), + }, + _ => crate::error::DescribeTaskDefinitionError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_task_definition_output::Builder::default(); + builder = crate::json_deser::describe_task_definition_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DescribeTaskDefinitionError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeTaskDefinition { + type Output = Result< + crate::output::DescribeTaskDefinitionOutput, + crate::error::DescribeTaskDefinitionError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes a specified task or tasks.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeTasks { + _private: (), +} +impl DescribeTasks { + /// Creates a new builder-style object to manufacture [`DescribeTasksInput`](crate::input::DescribeTasksInput) + pub fn builder() -> crate::input::describe_tasks_input::Builder { + crate::input::describe_tasks_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeTasksError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTasksError { + kind: crate::error::DescribeTasksErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTasksError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTasksError { + kind: crate::error::DescribeTasksErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTasksError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTasksError { + kind: crate::error::DescribeTasksErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTasksError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTasksError { + kind: crate::error::DescribeTasksErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTasksError::unhandled(e), + }, + _ => crate::error::DescribeTasksError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_tasks_output::Builder::default(); + builder = + crate::json_deser::describe_tasks_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::DescribeTasksError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeTasks { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Describes the task sets in the specified cluster and service. This is used when a +/// service uses the EXTERNAL deployment controller type. For more information, +/// see Amazon ECS Deployment +/// Types in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeTaskSets { + _private: (), +} +impl DescribeTaskSets { + /// Creates a new builder-style object to manufacture [`DescribeTaskSetsInput`](crate::input::DescribeTaskSetsInput) + pub fn builder() -> crate::input::describe_task_sets_input::Builder { + crate::input::describe_task_sets_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeTaskSetsError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::AccessDeniedError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "ServiceNotActiveException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::ServiceNotActiveError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::ServiceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DescribeTaskSetsError { + kind: crate::error::DescribeTaskSetsErrorKind::UnsupportedFeatureError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::DescribeTaskSetsError::unhandled(e), + }, + _ => crate::error::DescribeTaskSetsError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::describe_task_sets_output::Builder::default(); + builder = crate::json_deser::describe_task_sets_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DescribeTaskSetsError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeTaskSets { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +/// +///

      This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

      +///
      +///

      Returns an endpoint for +/// the Amazon ECS agent to poll for updates.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DiscoverPollEndpoint { + _private: (), +} +impl DiscoverPollEndpoint { + /// Creates a new builder-style object to manufacture [`DiscoverPollEndpointInput`](crate::input::DiscoverPollEndpointInput) + pub fn builder() -> crate::input::discover_poll_endpoint_input::Builder { + crate::input::discover_poll_endpoint_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DiscoverPollEndpointError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DiscoverPollEndpointError { + kind: crate::error::DiscoverPollEndpointErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::DiscoverPollEndpointError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::DiscoverPollEndpointError { + kind: crate::error::DiscoverPollEndpointErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::DiscoverPollEndpointError::unhandled(e), + }, + _ => crate::error::DiscoverPollEndpointError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::discover_poll_endpoint_output::Builder::default(); + builder = crate::json_deser::discover_poll_endpoint_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::DiscoverPollEndpointError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DiscoverPollEndpoint { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Runs a command remotely on a container within a task.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ExecuteCommand { + _private: (), +} +impl ExecuteCommand { + /// Creates a new builder-style object to manufacture [`ExecuteCommandInput`](crate::input::ExecuteCommandInput) + pub fn builder() -> crate::input::execute_command_input::Builder { + crate::input::execute_command_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ExecuteCommandError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ExecuteCommandError { + kind: crate::error::ExecuteCommandErrorKind::AccessDeniedError(body), + meta: generic, + }, + Err(e) => crate::error::ExecuteCommandError::unhandled(e), + }, + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ExecuteCommandError { + kind: crate::error::ExecuteCommandErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ExecuteCommandError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ExecuteCommandError { + kind: crate::error::ExecuteCommandErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::ExecuteCommandError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ExecuteCommandError { + kind: crate::error::ExecuteCommandErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::ExecuteCommandError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ExecuteCommandError { + kind: crate::error::ExecuteCommandErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ExecuteCommandError::unhandled(e), + }, + "TargetNotConnectedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ExecuteCommandError { + kind: crate::error::ExecuteCommandErrorKind::TargetNotConnectedError(body), + meta: generic, + }, + Err(e) => crate::error::ExecuteCommandError::unhandled(e), + }, + _ => crate::error::ExecuteCommandError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::execute_command_output::Builder::default(); + builder = + crate::json_deser::execute_command_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::ExecuteCommandError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ExecuteCommand { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Lists the account settings for a specified principal.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAccountSettings { + _private: (), +} +impl ListAccountSettings { + /// Creates a new builder-style object to manufacture [`ListAccountSettingsInput`](crate::input::ListAccountSettingsInput) + pub fn builder() -> crate::input::list_account_settings_input::Builder { + crate::input::list_account_settings_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListAccountSettingsError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListAccountSettingsError { + kind: crate::error::ListAccountSettingsErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListAccountSettingsError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListAccountSettingsError { + kind: crate::error::ListAccountSettingsErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListAccountSettingsError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListAccountSettingsError { + kind: crate::error::ListAccountSettingsErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListAccountSettingsError::unhandled(e), + }, + _ => crate::error::ListAccountSettingsError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_account_settings_output::Builder::default(); + builder = crate::json_deser::list_account_settings_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::ListAccountSettingsError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAccountSettings { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Lists the attributes for Amazon ECS resources within a specified target type and cluster. +/// When you specify a target type and cluster, ListAttributes returns a list +/// of attribute objects, one for each attribute on each resource. You can filter the list +/// of results to a single attribute name to only return results that have that name. You +/// can also filter the results by attribute name and value, for example, to see which +/// container instances in a cluster are running a Linux AMI +/// (ecs.os-type=linux).

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAttributes { + _private: (), +} +impl ListAttributes { + /// Creates a new builder-style object to manufacture [`ListAttributesInput`](crate::input::ListAttributesInput) + pub fn builder() -> crate::input::list_attributes_input::Builder { + crate::input::list_attributes_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListAttributesError::unhandled(generic)), + }; + return Err(match error_code { + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListAttributesError { + kind: crate::error::ListAttributesErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::ListAttributesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListAttributesError { + kind: crate::error::ListAttributesErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::ListAttributesError::unhandled(e), + }, + _ => crate::error::ListAttributesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_attributes_output::Builder::default(); + builder = + crate::json_deser::list_attributes_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::ListAttributesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAttributes { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Returns a list of existing clusters.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListClusters { + _private: (), +} +impl ListClusters { + /// Creates a new builder-style object to manufacture [`ListClustersInput`](crate::input::ListClustersInput) + pub fn builder() -> crate::input::list_clusters_input::Builder { + crate::input::list_clusters_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListClustersError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListClustersError { + kind: crate::error::ListClustersErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListClustersError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListClustersError { + kind: crate::error::ListClustersErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::ListClustersError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListClustersError { + kind: crate::error::ListClustersErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListClustersError::unhandled(e), + }, + _ => crate::error::ListClustersError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_clusters_output::Builder::default(); + builder = + crate::json_deser::list_clusters_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::ListClustersError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListClusters { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Returns a list of container instances in a specified cluster. You can filter the +/// results of a ListContainerInstances operation with cluster query language +/// statements inside the filter parameter. For more information, see Cluster Query Language in the +/// Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListContainerInstances { + _private: (), +} +impl ListContainerInstances { + /// Creates a new builder-style object to manufacture [`ListContainerInstancesInput`](crate::input::ListContainerInstancesInput) + pub fn builder() -> crate::input::list_container_instances_input::Builder { + crate::input::list_container_instances_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::ListContainerInstancesOutput, + crate::error::ListContainerInstancesError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ListContainerInstancesError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListContainerInstancesError { + kind: crate::error::ListContainerInstancesErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListContainerInstancesError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListContainerInstancesError { + kind: crate::error::ListContainerInstancesErrorKind::ClusterNotFoundError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListContainerInstancesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListContainerInstancesError { + kind: crate::error::ListContainerInstancesErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListContainerInstancesError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListContainerInstancesError { + kind: crate::error::ListContainerInstancesErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListContainerInstancesError::unhandled(e), + }, + _ => crate::error::ListContainerInstancesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_container_instances_output::Builder::default(); + builder = crate::json_deser::list_container_instances_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::ListContainerInstancesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListContainerInstances { + type Output = Result< + crate::output::ListContainerInstancesOutput, + crate::error::ListContainerInstancesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Returns a list of services. You can filter the results by cluster, launch type, and +/// scheduling strategy.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListServices { + _private: (), +} +impl ListServices { + /// Creates a new builder-style object to manufacture [`ListServicesInput`](crate::input::ListServicesInput) + pub fn builder() -> crate::input::list_services_input::Builder { + crate::input::list_services_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListServicesError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListServicesError { + kind: crate::error::ListServicesErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListServicesError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListServicesError { + kind: crate::error::ListServicesErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::ListServicesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListServicesError { + kind: crate::error::ListServicesErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::ListServicesError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListServicesError { + kind: crate::error::ListServicesErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListServicesError::unhandled(e), + }, + _ => crate::error::ListServicesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_services_output::Builder::default(); + builder = + crate::json_deser::list_services_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::ListServicesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListServices { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      List the tags for an Amazon ECS resource.

      +#[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() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListTagsForResourceError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTagsForResourceError { + kind: crate::error::ListTagsForResourceErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListTagsForResourceError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTagsForResourceError { + kind: crate::error::ListTagsForResourceErrorKind::ClusterNotFoundError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListTagsForResourceError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTagsForResourceError { + kind: crate::error::ListTagsForResourceErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListTagsForResourceError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTagsForResourceError { + kind: crate::error::ListTagsForResourceErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListTagsForResourceError::unhandled(e), + }, + _ => crate::error::ListTagsForResourceError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_tags_for_resource_output::Builder::default(); + builder = crate::json_deser::list_tags_for_resource_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::ListTagsForResourceError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListTagsForResource { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Returns a list of task definition families that are registered to your account (which +/// may include task definition families that no longer have any ACTIVE task +/// definition revisions).

      +///

      You can filter out task definition families that do not contain any +/// ACTIVE task definition revisions by setting the status +/// parameter to ACTIVE. You can also filter the results with the +/// familyPrefix parameter.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListTaskDefinitionFamilies { + _private: (), +} +impl ListTaskDefinitionFamilies { + /// Creates a new builder-style object to manufacture [`ListTaskDefinitionFamiliesInput`](crate::input::ListTaskDefinitionFamiliesInput) + pub fn builder() -> crate::input::list_task_definition_families_input::Builder { + crate::input::list_task_definition_families_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::ListTaskDefinitionFamiliesOutput, + crate::error::ListTaskDefinitionFamiliesError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ListTaskDefinitionFamiliesError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTaskDefinitionFamiliesError { + kind: crate::error::ListTaskDefinitionFamiliesErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListTaskDefinitionFamiliesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTaskDefinitionFamiliesError { + kind: + crate::error::ListTaskDefinitionFamiliesErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListTaskDefinitionFamiliesError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTaskDefinitionFamiliesError { + kind: crate::error::ListTaskDefinitionFamiliesErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListTaskDefinitionFamiliesError::unhandled(e), + }, + _ => crate::error::ListTaskDefinitionFamiliesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_task_definition_families_output::Builder::default(); + builder = crate::json_deser::list_task_definition_families_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::ListTaskDefinitionFamiliesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListTaskDefinitionFamilies { + type Output = Result< + crate::output::ListTaskDefinitionFamiliesOutput, + crate::error::ListTaskDefinitionFamiliesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Returns a list of task definitions that are registered to your account. You can filter +/// the results by family name with the familyPrefix parameter or by status +/// with the status parameter.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListTaskDefinitions { + _private: (), +} +impl ListTaskDefinitions { + /// Creates a new builder-style object to manufacture [`ListTaskDefinitionsInput`](crate::input::ListTaskDefinitionsInput) + pub fn builder() -> crate::input::list_task_definitions_input::Builder { + crate::input::list_task_definitions_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListTaskDefinitionsError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTaskDefinitionsError { + kind: crate::error::ListTaskDefinitionsErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListTaskDefinitionsError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTaskDefinitionsError { + kind: crate::error::ListTaskDefinitionsErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::ListTaskDefinitionsError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTaskDefinitionsError { + kind: crate::error::ListTaskDefinitionsErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListTaskDefinitionsError::unhandled(e), + }, + _ => crate::error::ListTaskDefinitionsError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_task_definitions_output::Builder::default(); + builder = crate::json_deser::list_task_definitions_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::ListTaskDefinitionsError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListTaskDefinitions { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Returns a list of tasks. You can filter the results by cluster, task definition +/// family, container instance, launch type, what IAM principal started the task, or by the +/// desired status of the task.

      +///

      Recently stopped tasks might appear in the returned results. Currently, stopped tasks +/// appear in the returned results for at least one hour.

      +#[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() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListTasksError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTasksError { + kind: crate::error::ListTasksErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::ListTasksError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTasksError { + kind: crate::error::ListTasksErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::ListTasksError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTasksError { + kind: crate::error::ListTasksErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::ListTasksError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTasksError { + kind: crate::error::ListTasksErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::ListTasksError::unhandled(e), + }, + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::ListTasksError { + kind: crate::error::ListTasksErrorKind::ServiceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::ListTasksError::unhandled(e), + }, + _ => crate::error::ListTasksError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::list_tasks_output::Builder::default(); + builder = crate::json_deser::list_tasks_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::ListTasksError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListTasks { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies an account setting. Account settings are set on a per-Region basis.

      +///

      If you change the account setting for the root user, the default settings for all of +/// the IAM users and roles for which no individual account setting has been specified are +/// reset. For more information, see Account +/// Settings in the Amazon Elastic Container Service Developer Guide.

      +///

      When serviceLongArnFormat, taskLongArnFormat, or +/// containerInstanceLongArnFormat are specified, the Amazon Resource Name +/// (ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or +/// the root user for an account is affected. The opt-in and opt-out account setting must be +/// set for each Amazon ECS resource separately. The ARN and resource ID format of a resource +/// will be defined by the opt-in status of the IAM user or role that created the resource. +/// You must enable this setting to use Amazon ECS features such as resource tagging.

      +///

      When awsvpcTrunking is specified, the elastic network interface (ENI) +/// limit for any new container instances that support the feature is changed. If +/// awsvpcTrunking is enabled, any new container instances that support the +/// feature are launched have the increased ENI limits available to them. For more +/// information, see Elastic Network +/// Interface Trunking in the Amazon Elastic Container Service Developer Guide.

      +///

      When containerInsights is specified, the default setting indicating +/// whether CloudWatch Container Insights is enabled for your clusters is changed. If +/// containerInsights is enabled, any new clusters that are created will +/// have Container Insights enabled unless you disable it during cluster creation. For more +/// information, see CloudWatch +/// Container Insights in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PutAccountSetting { + _private: (), +} +impl PutAccountSetting { + /// Creates a new builder-style object to manufacture [`PutAccountSettingInput`](crate::input::PutAccountSettingInput) + pub fn builder() -> crate::input::put_account_setting_input::Builder { + crate::input::put_account_setting_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::PutAccountSettingError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAccountSettingError { + kind: crate::error::PutAccountSettingErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::PutAccountSettingError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAccountSettingError { + kind: crate::error::PutAccountSettingErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::PutAccountSettingError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAccountSettingError { + kind: crate::error::PutAccountSettingErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::PutAccountSettingError::unhandled(e), + }, + _ => crate::error::PutAccountSettingError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::put_account_setting_output::Builder::default(); + builder = crate::json_deser::put_account_setting_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::PutAccountSettingError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PutAccountSetting { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies an account setting for all IAM users on an account for whom no individual +/// account setting has been specified. Account settings are set on a per-Region +/// basis.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PutAccountSettingDefault { + _private: (), +} +impl PutAccountSettingDefault { + /// Creates a new builder-style object to manufacture [`PutAccountSettingDefaultInput`](crate::input::PutAccountSettingDefaultInput) + pub fn builder() -> crate::input::put_account_setting_default_input::Builder { + crate::input::put_account_setting_default_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::PutAccountSettingDefaultOutput, + crate::error::PutAccountSettingDefaultError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::PutAccountSettingDefaultError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAccountSettingDefaultError { + kind: crate::error::PutAccountSettingDefaultErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::PutAccountSettingDefaultError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAccountSettingDefaultError { + kind: + crate::error::PutAccountSettingDefaultErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::PutAccountSettingDefaultError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAccountSettingDefaultError { + kind: crate::error::PutAccountSettingDefaultErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::PutAccountSettingDefaultError::unhandled(e), + }, + _ => crate::error::PutAccountSettingDefaultError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::put_account_setting_default_output::Builder::default(); + builder = crate::json_deser::put_account_setting_default_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::PutAccountSettingDefaultError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PutAccountSettingDefault { + type Output = Result< + crate::output::PutAccountSettingDefaultOutput, + crate::error::PutAccountSettingDefaultError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, +/// it is created. If the attribute exists, its value is replaced with the specified value. +/// To delete an attribute, use DeleteAttributes. For more information, +/// see Attributes in the +/// Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PutAttributes { + _private: (), +} +impl PutAttributes { + /// Creates a new builder-style object to manufacture [`PutAttributesInput`](crate::input::PutAttributesInput) + pub fn builder() -> crate::input::put_attributes_input::Builder { + crate::input::put_attributes_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::PutAttributesError::unhandled(generic)), + }; + return Err(match error_code { + "AttributeLimitExceededException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAttributesError { + kind: crate::error::PutAttributesErrorKind::AttributeLimitExceededError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::PutAttributesError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAttributesError { + kind: crate::error::PutAttributesErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::PutAttributesError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAttributesError { + kind: crate::error::PutAttributesErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::PutAttributesError::unhandled(e), + }, + "TargetNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutAttributesError { + kind: crate::error::PutAttributesErrorKind::TargetNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::PutAttributesError::unhandled(e), + }, + _ => crate::error::PutAttributesError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::put_attributes_output::Builder::default(); + builder = + crate::json_deser::put_attributes_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::PutAttributesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PutAttributes { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies the available capacity providers and the default capacity provider strategy +/// for a cluster.

      +///

      You must specify both the available capacity providers and a default capacity provider +/// strategy for the cluster. If the specified cluster has existing capacity providers +/// associated with it, you must specify all existing capacity providers in addition to any +/// new ones you want to add. Any existing capacity providers associated with a cluster that +/// are omitted from a PutClusterCapacityProviders API call will be +/// disassociated with the cluster. You can only disassociate an existing capacity provider +/// from a cluster if it's not being used by any existing tasks.

      +///

      When creating a service or running a task on a cluster, if no capacity provider or +/// launch type is specified, then the cluster's default capacity provider strategy is used. +/// It is recommended to define a default capacity provider strategy for your cluster, +/// however you may specify an empty array ([]) to bypass defining a default +/// strategy.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PutClusterCapacityProviders { + _private: (), +} +impl PutClusterCapacityProviders { + /// Creates a new builder-style object to manufacture [`PutClusterCapacityProvidersInput`](crate::input::PutClusterCapacityProvidersInput) + pub fn builder() -> crate::input::put_cluster_capacity_providers_input::Builder { + crate::input::put_cluster_capacity_providers_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::PutClusterCapacityProvidersOutput, + crate::error::PutClusterCapacityProvidersError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::PutClusterCapacityProvidersError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutClusterCapacityProvidersError { kind: crate::error::PutClusterCapacityProvidersErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::PutClusterCapacityProvidersError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutClusterCapacityProvidersError { kind: crate::error::PutClusterCapacityProvidersErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::PutClusterCapacityProvidersError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutClusterCapacityProvidersError { kind: crate::error::PutClusterCapacityProvidersErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::PutClusterCapacityProvidersError::unhandled(e) + } + "ResourceInUseException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutClusterCapacityProvidersError { kind: crate::error::PutClusterCapacityProvidersErrorKind::ResourceInUseError(body), meta: generic }, + Err(e) => crate::error::PutClusterCapacityProvidersError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutClusterCapacityProvidersError { kind: crate::error::PutClusterCapacityProvidersErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::PutClusterCapacityProvidersError::unhandled(e) + } + "UpdateInProgressException" => match serde_json::from_value(body) { + Ok(body) => crate::error::PutClusterCapacityProvidersError { kind: crate::error::PutClusterCapacityProvidersErrorKind::UpdateInProgressError(body), meta: generic }, + Err(e) => crate::error::PutClusterCapacityProvidersError::unhandled(e) + } + _ => crate::error::PutClusterCapacityProvidersError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::put_cluster_capacity_providers_output::Builder::default(); + builder = crate::json_deser::put_cluster_capacity_providers_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::PutClusterCapacityProvidersError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PutClusterCapacityProviders { + type Output = Result< + crate::output::PutClusterCapacityProvidersOutput, + crate::error::PutClusterCapacityProvidersError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +/// +///

      This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

      +///
      +///

      Registers an EC2 +/// instance into the specified cluster. This instance becomes available to place containers +/// on.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct RegisterContainerInstance { + _private: (), +} +impl RegisterContainerInstance { + /// Creates a new builder-style object to manufacture [`RegisterContainerInstanceInput`](crate::input::RegisterContainerInstanceInput) + pub fn builder() -> crate::input::register_container_instance_input::Builder { + crate::input::register_container_instance_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::RegisterContainerInstanceOutput, + crate::error::RegisterContainerInstanceError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::RegisterContainerInstanceError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RegisterContainerInstanceError { + kind: crate::error::RegisterContainerInstanceErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::RegisterContainerInstanceError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RegisterContainerInstanceError { + kind: + crate::error::RegisterContainerInstanceErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::RegisterContainerInstanceError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RegisterContainerInstanceError { + kind: crate::error::RegisterContainerInstanceErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::RegisterContainerInstanceError::unhandled(e), + }, + _ => crate::error::RegisterContainerInstanceError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::register_container_instance_output::Builder::default(); + builder = crate::json_deser::register_container_instance_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::RegisterContainerInstanceError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for RegisterContainerInstance { + type Output = Result< + crate::output::RegisterContainerInstanceOutput, + crate::error::RegisterContainerInstanceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Registers a new task definition from the supplied family and +/// containerDefinitions. Optionally, you can add data volumes to your +/// containers with the volumes parameter. For more information about task +/// definition parameters and defaults, see Amazon ECS Task +/// Definitions in the Amazon Elastic Container Service Developer Guide.

      +///

      You can specify an IAM role for your task with the taskRoleArn parameter. +/// When you specify an IAM role for a task, its containers can then use the latest versions +/// of the AWS CLI or SDKs to make API requests to the AWS services that are specified in +/// the IAM policy associated with the role. For more information, see IAM +/// Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

      +///

      You can specify a Docker networking mode for the containers in your task definition +/// with the networkMode parameter. The available network modes correspond to +/// those described in Network +/// settings in the Docker run reference. If you specify the awsvpc +/// network mode, the task is allocated an elastic network interface, and you must specify a +/// NetworkConfiguration when you create a service or run a task with +/// the task definition. For more information, see Task Networking +/// in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct RegisterTaskDefinition { + _private: (), +} +impl RegisterTaskDefinition { + /// Creates a new builder-style object to manufacture [`RegisterTaskDefinitionInput`](crate::input::RegisterTaskDefinitionInput) + pub fn builder() -> crate::input::register_task_definition_input::Builder { + crate::input::register_task_definition_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::RegisterTaskDefinitionOutput, + crate::error::RegisterTaskDefinitionError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::RegisterTaskDefinitionError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RegisterTaskDefinitionError { + kind: crate::error::RegisterTaskDefinitionErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::RegisterTaskDefinitionError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RegisterTaskDefinitionError { + kind: crate::error::RegisterTaskDefinitionErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::RegisterTaskDefinitionError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RegisterTaskDefinitionError { + kind: crate::error::RegisterTaskDefinitionErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::RegisterTaskDefinitionError::unhandled(e), + }, + _ => crate::error::RegisterTaskDefinitionError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::register_task_definition_output::Builder::default(); + builder = crate::json_deser::register_task_definition_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::RegisterTaskDefinitionError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for RegisterTaskDefinition { + type Output = Result< + crate::output::RegisterTaskDefinitionOutput, + crate::error::RegisterTaskDefinitionError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Starts a new task using the specified task definition.

      +///

      You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places +/// tasks using placement constraints and placement strategies. For more information, see +/// Scheduling Tasks in the +/// Amazon Elastic Container Service Developer Guide.

      +///

      Alternatively, you can use StartTask to use your own scheduler or +/// place tasks manually on specific container instances.

      +///

      The Amazon ECS API follows an eventual consistency model, due to the distributed nature of +/// the system supporting the API. This means that the result of an API command you run that +/// affects your Amazon ECS resources might not be immediately visible to all subsequent commands +/// you run. Keep this in mind when you carry out an API command that immediately follows a +/// previous API command.

      +///

      To manage eventual consistency, you can do the following:

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

        Confirm the state of the resource before you run a command to modify it. Run +/// the DescribeTasks command using an exponential backoff algorithm to ensure that +/// you allow enough time for the previous command to propagate through the system. +/// To do this, run the DescribeTasks command repeatedly, starting with a couple of +/// seconds of wait time and increasing gradually up to five minutes of wait +/// time.

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

        Add wait time between subsequent commands, even if the DescribeTasks command +/// returns an accurate response. Apply an exponential backoff algorithm starting +/// with a couple of seconds of wait time, and increase gradually up to about five +/// minutes of wait time.

        +///
      • +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct RunTask { + _private: (), +} +impl RunTask { + /// Creates a new builder-style object to manufacture [`RunTaskInput`](crate::input::RunTaskInput) + pub fn builder() -> crate::input::run_task_input::Builder { + crate::input::run_task_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::RunTaskError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::AccessDeniedError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "BlockedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::BlockedError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "PlatformTaskDefinitionIncompatibilityException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::PlatformTaskDefinitionIncompatibilityError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "PlatformUnknownException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::PlatformUnknownError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::RunTaskError { kind: crate::error::RunTaskErrorKind::UnsupportedFeatureError(body), meta: generic }, + Err(e) => crate::error::RunTaskError::unhandled(e) + } + _ => crate::error::RunTaskError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::run_task_output::Builder::default(); + builder = crate::json_deser::run_task_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::RunTaskError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for RunTask { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Starts a new task from the specified task definition on the specified container +/// instance or instances.

      +///

      Alternatively, you can use RunTask to place tasks for you. For more +/// information, see Scheduling Tasks in the +/// Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct StartTask { + _private: (), +} +impl StartTask { + /// Creates a new builder-style object to manufacture [`StartTaskInput`](crate::input::StartTaskInput) + pub fn builder() -> crate::input::start_task_input::Builder { + crate::input::start_task_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::StartTaskError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StartTaskError { + kind: crate::error::StartTaskErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::StartTaskError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StartTaskError { + kind: crate::error::StartTaskErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::StartTaskError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StartTaskError { + kind: crate::error::StartTaskErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::StartTaskError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StartTaskError { + kind: crate::error::StartTaskErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::StartTaskError::unhandled(e), + }, + _ => crate::error::StartTaskError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::start_task_output::Builder::default(); + builder = crate::json_deser::start_task_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::StartTaskError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for StartTask { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Stops a running task. Any tags associated with the task will be deleted.

      +///

      When StopTask is called on a task, the equivalent of docker +/// stop is issued to the containers running in the task. This results in a +/// SIGTERM value and a default 30-second timeout, after which the +/// SIGKILL value is sent and the containers are forcibly stopped. If the +/// container handles the SIGTERM value gracefully and exits within 30 seconds +/// from receiving it, no SIGKILL value is sent.

      +/// +///

      The default 30-second timeout can be configured on the Amazon ECS container agent with +/// the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see +/// Amazon ECS Container Agent Configuration in the +/// Amazon Elastic Container Service Developer Guide.

      +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct StopTask { + _private: (), +} +impl StopTask { + /// Creates a new builder-style object to manufacture [`StopTaskInput`](crate::input::StopTaskInput) + pub fn builder() -> crate::input::stop_task_input::Builder { + crate::input::stop_task_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::StopTaskError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StopTaskError { + kind: crate::error::StopTaskErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::StopTaskError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StopTaskError { + kind: crate::error::StopTaskErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::StopTaskError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StopTaskError { + kind: crate::error::StopTaskErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::StopTaskError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::StopTaskError { + kind: crate::error::StopTaskErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::StopTaskError::unhandled(e), + }, + _ => crate::error::StopTaskError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::stop_task_output::Builder::default(); + builder = crate::json_deser::stop_task_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::StopTaskError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for StopTask { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +/// +///

      This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

      +///
      +///

      Sent to +/// acknowledge that an attachment changed states.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SubmitAttachmentStateChanges { + _private: (), +} +impl SubmitAttachmentStateChanges { + /// Creates a new builder-style object to manufacture [`SubmitAttachmentStateChangesInput`](crate::input::SubmitAttachmentStateChangesInput) + pub fn builder() -> crate::input::submit_attachment_state_changes_input::Builder { + crate::input::submit_attachment_state_changes_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::SubmitAttachmentStateChangesOutput, + crate::error::SubmitAttachmentStateChangesError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::SubmitAttachmentStateChangesError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitAttachmentStateChangesError { kind: crate::error::SubmitAttachmentStateChangesErrorKind::AccessDeniedError(body), meta: generic }, + Err(e) => crate::error::SubmitAttachmentStateChangesError::unhandled(e) + } + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitAttachmentStateChangesError { kind: crate::error::SubmitAttachmentStateChangesErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::SubmitAttachmentStateChangesError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitAttachmentStateChangesError { kind: crate::error::SubmitAttachmentStateChangesErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::SubmitAttachmentStateChangesError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitAttachmentStateChangesError { kind: crate::error::SubmitAttachmentStateChangesErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::SubmitAttachmentStateChangesError::unhandled(e) + } + _ => crate::error::SubmitAttachmentStateChangesError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::submit_attachment_state_changes_output::Builder::default(); + builder = crate::json_deser::submit_attachment_state_changes_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::SubmitAttachmentStateChangesError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SubmitAttachmentStateChanges { + type Output = Result< + crate::output::SubmitAttachmentStateChangesOutput, + crate::error::SubmitAttachmentStateChangesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +/// +///

      This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

      +///
      +///

      Sent to +/// acknowledge that a container changed states.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SubmitContainerStateChange { + _private: (), +} +impl SubmitContainerStateChange { + /// Creates a new builder-style object to manufacture [`SubmitContainerStateChangeInput`](crate::input::SubmitContainerStateChangeInput) + pub fn builder() -> crate::input::submit_container_state_change_input::Builder { + crate::input::submit_container_state_change_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::SubmitContainerStateChangeOutput, + crate::error::SubmitContainerStateChangeError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::SubmitContainerStateChangeError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitContainerStateChangeError { + kind: crate::error::SubmitContainerStateChangeErrorKind::AccessDeniedError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::SubmitContainerStateChangeError::unhandled(e), + }, + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitContainerStateChangeError { + kind: crate::error::SubmitContainerStateChangeErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::SubmitContainerStateChangeError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitContainerStateChangeError { + kind: crate::error::SubmitContainerStateChangeErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::SubmitContainerStateChangeError::unhandled(e), + }, + _ => crate::error::SubmitContainerStateChangeError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::submit_container_state_change_output::Builder::default(); + builder = crate::json_deser::submit_container_state_change_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::SubmitContainerStateChangeError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SubmitContainerStateChange { + type Output = Result< + crate::output::SubmitContainerStateChangeOutput, + crate::error::SubmitContainerStateChangeError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +/// +///

      This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

      +///
      +///

      Sent to acknowledge +/// that a task changed states.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SubmitTaskStateChange { + _private: (), +} +impl SubmitTaskStateChange { + /// Creates a new builder-style object to manufacture [`SubmitTaskStateChangeInput`](crate::input::SubmitTaskStateChangeInput) + pub fn builder() -> crate::input::submit_task_state_change_input::Builder { + crate::input::submit_task_state_change_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::SubmitTaskStateChangeError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitTaskStateChangeError { + kind: crate::error::SubmitTaskStateChangeErrorKind::AccessDeniedError(body), + meta: generic, + }, + Err(e) => crate::error::SubmitTaskStateChangeError::unhandled(e), + }, + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitTaskStateChangeError { + kind: crate::error::SubmitTaskStateChangeErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::SubmitTaskStateChangeError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitTaskStateChangeError { + kind: crate::error::SubmitTaskStateChangeErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::SubmitTaskStateChangeError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::SubmitTaskStateChangeError { + kind: crate::error::SubmitTaskStateChangeErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::SubmitTaskStateChangeError::unhandled(e), + }, + _ => crate::error::SubmitTaskStateChangeError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::submit_task_state_change_output::Builder::default(); + builder = crate::json_deser::submit_task_state_change_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::SubmitTaskStateChangeError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SubmitTaskStateChange { + type Output = Result< + crate::output::SubmitTaskStateChangeOutput, + crate::error::SubmitTaskStateChangeError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Associates the specified tags to a resource with the specified +/// resourceArn. If existing tags on a resource are not specified in the +/// request parameters, they are not changed. When a resource is deleted, the tags +/// associated with that resource are deleted as well.

      +#[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() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::TagResourceError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::TagResourceError { + kind: crate::error::TagResourceErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::TagResourceError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::TagResourceError { + kind: crate::error::TagResourceErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::TagResourceError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::TagResourceError { + kind: crate::error::TagResourceErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::TagResourceError::unhandled(e), + }, + "ResourceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::TagResourceError { + kind: crate::error::TagResourceErrorKind::ResourceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::TagResourceError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::TagResourceError { + kind: crate::error::TagResourceErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::TagResourceError::unhandled(e), + }, + _ => crate::error::TagResourceError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::tag_resource_output::Builder::default(); + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for TagResource { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Deletes specified tags from a resource.

      +#[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() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UntagResourceError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UntagResourceError { + kind: crate::error::UntagResourceErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::UntagResourceError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UntagResourceError { + kind: crate::error::UntagResourceErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::UntagResourceError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UntagResourceError { + kind: crate::error::UntagResourceErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::UntagResourceError::unhandled(e), + }, + "ResourceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UntagResourceError { + kind: crate::error::UntagResourceErrorKind::ResourceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::UntagResourceError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UntagResourceError { + kind: crate::error::UntagResourceErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::UntagResourceError::unhandled(e), + }, + _ => crate::error::UntagResourceError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::untag_resource_output::Builder::default(); + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UntagResource { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies the parameters for a capacity provider.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateCapacityProvider { + _private: (), +} +impl UpdateCapacityProvider { + /// Creates a new builder-style object to manufacture [`UpdateCapacityProviderInput`](crate::input::UpdateCapacityProviderInput) + pub fn builder() -> crate::input::update_capacity_provider_input::Builder { + crate::input::update_capacity_provider_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::UpdateCapacityProviderOutput, + crate::error::UpdateCapacityProviderError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateCapacityProviderError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateCapacityProviderError { + kind: crate::error::UpdateCapacityProviderErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateCapacityProviderError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateCapacityProviderError { + kind: crate::error::UpdateCapacityProviderErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateCapacityProviderError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateCapacityProviderError { + kind: crate::error::UpdateCapacityProviderErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateCapacityProviderError::unhandled(e), + }, + _ => crate::error::UpdateCapacityProviderError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_capacity_provider_output::Builder::default(); + builder = crate::json_deser::update_capacity_provider_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::UpdateCapacityProviderError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateCapacityProvider { + type Output = Result< + crate::output::UpdateCapacityProviderOutput, + crate::error::UpdateCapacityProviderError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Updates the cluster.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateCluster { + _private: (), +} +impl UpdateCluster { + /// Creates a new builder-style object to manufacture [`UpdateClusterInput`](crate::input::UpdateClusterInput) + pub fn builder() -> crate::input::update_cluster_input::Builder { + crate::input::update_cluster_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateClusterError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterError { + kind: crate::error::UpdateClusterErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterError { + kind: crate::error::UpdateClusterErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterError { + kind: crate::error::UpdateClusterErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterError { + kind: crate::error::UpdateClusterErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterError::unhandled(e), + }, + _ => crate::error::UpdateClusterError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_cluster_output::Builder::default(); + builder = + crate::json_deser::update_cluster_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::UpdateClusterError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateCluster { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies the settings to use for a cluster.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateClusterSettings { + _private: (), +} +impl UpdateClusterSettings { + /// Creates a new builder-style object to manufacture [`UpdateClusterSettingsInput`](crate::input::UpdateClusterSettingsInput) + pub fn builder() -> crate::input::update_cluster_settings_input::Builder { + crate::input::update_cluster_settings_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateClusterSettingsError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterSettingsError { + kind: crate::error::UpdateClusterSettingsErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterSettingsError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterSettingsError { + kind: crate::error::UpdateClusterSettingsErrorKind::ClusterNotFoundError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterSettingsError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterSettingsError { + kind: crate::error::UpdateClusterSettingsErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterSettingsError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateClusterSettingsError { + kind: crate::error::UpdateClusterSettingsErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateClusterSettingsError::unhandled(e), + }, + _ => crate::error::UpdateClusterSettingsError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_cluster_settings_output::Builder::default(); + builder = crate::json_deser::update_cluster_settings_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::UpdateClusterSettingsError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateClusterSettings { + type Output = Result< + crate::output::UpdateClusterSettingsOutput, + crate::error::UpdateClusterSettingsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Updates the Amazon ECS container agent on a specified container instance. Updating the +/// Amazon ECS container agent does not interrupt running tasks or services on the container +/// instance. The process for updating the agent differs depending on whether your container +/// instance was launched with the Amazon ECS-optimized AMI or another operating system.

      +/// +///

      The UpdateContainerAgent API isn't supported for container instances +/// using the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container agent, +/// you can update the ecs-init package which will update the agent. For +/// more information, see Updating the +/// Amazon ECS container agent in the +/// Amazon Elastic Container Service Developer Guide.

      +///
      +///

      The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon +/// Linux AMI with the ecs-init service installed and running. For help +/// updating the Amazon ECS container agent on other operating systems, see Manually updating the Amazon ECS container agent in the +/// Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateContainerAgent { + _private: (), +} +impl UpdateContainerAgent { + /// Creates a new builder-style object to manufacture [`UpdateContainerAgentInput`](crate::input::UpdateContainerAgentInput) + pub fn builder() -> crate::input::update_container_agent_input::Builder { + crate::input::update_container_agent_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result + { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateContainerAgentError::unhandled(generic)), + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::ClusterNotFoundError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::InvalidParameterError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + "MissingVersionException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::MissingVersionError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + "NoUpdateAvailableException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::NoUpdateAvailableError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + "UpdateInProgressException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerAgentError { + kind: crate::error::UpdateContainerAgentErrorKind::UpdateInProgressError( + body, + ), + meta: generic, + }, + Err(e) => crate::error::UpdateContainerAgentError::unhandled(e), + }, + _ => crate::error::UpdateContainerAgentError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_container_agent_output::Builder::default(); + builder = crate::json_deser::update_container_agent_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::UpdateContainerAgentError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateContainerAgent { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies the status of an Amazon ECS container instance.

      +///

      Once a container instance has reached an ACTIVE state, you can change the +/// status of a container instance to DRAINING to manually remove an instance +/// from a cluster, for example to perform system updates, update the Docker daemon, or +/// scale down the cluster size.

      +/// +///

      A container instance cannot be changed to DRAINING until it has +/// reached an ACTIVE status. If the instance is in any other status, an +/// error will be received.

      +///
      +///

      When you set a container instance to DRAINING, Amazon ECS prevents new tasks +/// from being scheduled for placement on the container instance and replacement service +/// tasks are started on other container instances in the cluster if the resources are +/// available. Service tasks on the container instance that are in the PENDING +/// state are stopped immediately.

      +///

      Service tasks on the container instance that are in the RUNNING state are +/// stopped and replaced according to the service's deployment configuration parameters, +/// minimumHealthyPercent and maximumPercent. You can change +/// the deployment configuration of your service using UpdateService.

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

        If minimumHealthyPercent is below 100%, the scheduler can ignore +/// desiredCount temporarily during task replacement. For example, +/// desiredCount is four tasks, a minimum of 50% allows the +/// scheduler to stop two existing tasks before starting two new tasks. If the +/// minimum is 100%, the service scheduler can't remove existing tasks until the +/// replacement tasks are considered healthy. Tasks for services that do not use a +/// load balancer are considered healthy if they are in the RUNNING +/// state. Tasks for services that use a load balancer are considered healthy if +/// they are in the RUNNING state and the container instance they are +/// hosted on is reported as healthy by the load balancer.

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

        The maximumPercent parameter represents an upper limit on the +/// number of running tasks during task replacement, which enables you to define the +/// replacement batch size. For example, if desiredCount is four tasks, +/// a maximum of 200% starts four new tasks before stopping the four tasks to be +/// drained, provided that the cluster resources required to do this are available. +/// If the maximum is 100%, then replacement tasks can't start until the draining +/// tasks have stopped.

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

      Any PENDING or RUNNING tasks that do not belong to a service +/// are not affected. You must wait for them to finish or stop them manually.

      +///

      A container instance has completed draining when it has no more RUNNING +/// tasks. You can verify this using ListTasks.

      +///

      When a container instance has been drained, you can set a container instance to +/// ACTIVE status and once it has reached that status the Amazon ECS scheduler +/// can begin scheduling tasks on the instance again.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateContainerInstancesState { + _private: (), +} +impl UpdateContainerInstancesState { + /// Creates a new builder-style object to manufacture [`UpdateContainerInstancesStateInput`](crate::input::UpdateContainerInstancesStateInput) + pub fn builder() -> crate::input::update_container_instances_state_input::Builder { + crate::input::update_container_instances_state_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::UpdateContainerInstancesStateOutput, + crate::error::UpdateContainerInstancesStateError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateContainerInstancesStateError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerInstancesStateError { kind: crate::error::UpdateContainerInstancesStateErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::UpdateContainerInstancesStateError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerInstancesStateError { kind: crate::error::UpdateContainerInstancesStateErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::UpdateContainerInstancesStateError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerInstancesStateError { kind: crate::error::UpdateContainerInstancesStateErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::UpdateContainerInstancesStateError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateContainerInstancesStateError { kind: crate::error::UpdateContainerInstancesStateErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::UpdateContainerInstancesStateError::unhandled(e) + } + _ => crate::error::UpdateContainerInstancesStateError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = + crate::output::update_container_instances_state_output::Builder::default(); + builder = crate::json_deser::update_container_instances_state_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::UpdateContainerInstancesStateError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateContainerInstancesState { + type Output = Result< + crate::output::UpdateContainerInstancesStateOutput, + crate::error::UpdateContainerInstancesStateError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +/// +///

      Updating the task placement strategies and constraints on an Amazon ECS service remains +/// in preview and is a Beta Service as defined by and subject to the Beta Service +/// Participation Service Terms located at https://aws.amazon.com/service-terms ("Beta Terms"). These Beta Terms +/// apply to your participation in this preview.

      +///
      +///

      Modifies the parameters of a service.

      +///

      For services using the rolling update (ECS) deployment controller, the +/// desired count, deployment configuration, network configuration, task placement +/// constraints and strategies, or task definition used can be updated.

      +///

      For services using the blue/green (CODE_DEPLOY) deployment controller, +/// only the desired count, deployment configuration, task placement constraints and +/// strategies, and health check grace period can be updated using this API. If the network +/// configuration, platform version, or task definition need to be updated, a new AWS CodeDeploy +/// deployment should be created. For more information, see CreateDeployment in the AWS CodeDeploy API Reference.

      +///

      For services using an external deployment controller, you can update only the desired +/// count, task placement constraints and strategies, and health check grace period using +/// this API. If the launch type, load balancer, network configuration, platform version, or +/// task definition need to be updated, you should create a new task set. For more +/// information, see CreateTaskSet.

      +///

      You can add to or subtract from the number of instantiations of a task definition in a +/// service by specifying the cluster that the service is running in and a new +/// desiredCount parameter.

      +///

      If you have updated the Docker image of your application, you can create a new task +/// definition with that image and deploy it to your service. The service scheduler uses the +/// minimum healthy percent and maximum percent parameters (in the service's deployment +/// configuration) to determine the deployment strategy.

      +/// +///

      If your updated Docker image uses the same tag as what is in the existing task +/// definition for your service (for example, my_image:latest), you do not +/// need to create a new revision of your task definition. You can update the service +/// using the forceNewDeployment option. The new tasks launched by the +/// deployment pull the current image/tag combination from your repository when they +/// start.

      +///
      +///

      You can also update the deployment configuration of a service. When a deployment is +/// triggered by updating the task definition of a service, the service scheduler uses the +/// deployment configuration parameters, minimumHealthyPercent and +/// maximumPercent, to determine the deployment strategy.

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

        If minimumHealthyPercent is below 100%, the scheduler can ignore +/// desiredCount temporarily during a deployment. For example, if +/// desiredCount is four tasks, a minimum of 50% allows the +/// scheduler to stop two existing tasks before starting two new tasks. Tasks for +/// services that do not use a load balancer are considered healthy if they are in +/// the RUNNING state. Tasks for services that use a load balancer are +/// considered healthy if they are in the RUNNING state and the +/// container instance they are hosted on is reported as healthy by the load +/// balancer.

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

        The maximumPercent parameter represents an upper limit on the +/// number of running tasks during a deployment, which enables you to define the +/// deployment batch size. For example, if desiredCount is four tasks, +/// a maximum of 200% starts four new tasks before stopping the four older tasks +/// (provided that the cluster resources required to do this are available).

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

      When UpdateService stops a task during a deployment, the equivalent +/// of docker stop is issued to the containers running in the task. This +/// results in a SIGTERM and a 30-second timeout, after which +/// SIGKILL is sent and the containers are forcibly stopped. If the +/// container handles the SIGTERM gracefully and exits within 30 seconds from +/// receiving it, no SIGKILL is sent.

      +///

      When the service scheduler launches new tasks, it determines task placement in your +/// cluster with the following logic:

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

        Determine which of the container instances in your cluster can support your +/// service's task definition (for example, they have the required CPU, memory, +/// ports, and container instance attributes).

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

        By default, the service scheduler attempts to balance tasks across +/// Availability Zones in this manner (although you can choose a different placement +/// strategy):

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

          Sort the valid container instances by the fewest number of running +/// tasks for this service in the same Availability Zone as the instance. +/// For example, if zone A has one running service task and zones B and C +/// each have zero, valid container instances in either zone B or C are +/// considered optimal for placement.

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

          Place the new service task on a valid container instance in an optimal +/// Availability Zone (based on the previous steps), favoring container +/// instances with the fewest number of running tasks for this +/// service.

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

      When the service scheduler stops running tasks, it attempts to maintain balance across +/// the Availability Zones in your cluster using the following logic:

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

        Sort the container instances by the largest number of running tasks for this +/// service in the same Availability Zone as the instance. For example, if zone A +/// has one running service task and zones B and C each have two, container +/// instances in either zone B or C are considered optimal for termination.

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

        Stop the task on a container instance in an optimal Availability Zone (based +/// on the previous steps), favoring container instances with the largest number of +/// running tasks for this service.

        +///
      • +///
      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateService { + _private: (), +} +impl UpdateService { + /// Creates a new builder-style object to manufacture [`UpdateServiceInput`](crate::input::UpdateServiceInput) + pub fn builder() -> crate::input::update_service_input::Builder { + crate::input::update_service_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateServiceError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::AccessDeniedError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "PlatformTaskDefinitionIncompatibilityException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::PlatformTaskDefinitionIncompatibilityError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "PlatformUnknownException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::PlatformUnknownError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "ServiceNotActiveException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::ServiceNotActiveError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServiceError { kind: crate::error::UpdateServiceErrorKind::ServiceNotFoundError(body), meta: generic }, + Err(e) => crate::error::UpdateServiceError::unhandled(e) + } + _ => crate::error::UpdateServiceError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_service_output::Builder::default(); + builder = + crate::json_deser::update_service_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::UpdateServiceError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateService { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies which task set in a service is the primary task set. Any parameters that are +/// updated on the primary task set in a service will transition to the service. This is +/// used when a service uses the EXTERNAL deployment controller type. For more +/// information, see Amazon ECS Deployment +/// Types in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateServicePrimaryTaskSet { + _private: (), +} +impl UpdateServicePrimaryTaskSet { + /// Creates a new builder-style object to manufacture [`UpdateServicePrimaryTaskSetInput`](crate::input::UpdateServicePrimaryTaskSetInput) + pub fn builder() -> crate::input::update_service_primary_task_set_input::Builder { + crate::input::update_service_primary_task_set_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result< + crate::output::UpdateServicePrimaryTaskSetOutput, + crate::error::UpdateServicePrimaryTaskSetError, + > { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateServicePrimaryTaskSetError::unhandled( + generic, + )) + } + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::AccessDeniedError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::ClientError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::ClusterNotFoundError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::InvalidParameterError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::ServerError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "ServiceNotActiveException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::ServiceNotActiveError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::ServiceNotFoundError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "TaskSetNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::TaskSetNotFoundError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateServicePrimaryTaskSetError { kind: crate::error::UpdateServicePrimaryTaskSetErrorKind::UnsupportedFeatureError(body), meta: generic }, + Err(e) => crate::error::UpdateServicePrimaryTaskSetError::unhandled(e) + } + _ => crate::error::UpdateServicePrimaryTaskSetError::generic(generic) + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_service_primary_task_set_output::Builder::default(); + builder = crate::json_deser::update_service_primary_task_set_deser_operation( + response.body().as_ref(), + builder, + ) + .map_err(crate::error::UpdateServicePrimaryTaskSetError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateServicePrimaryTaskSet { + type Output = Result< + crate::output::UpdateServicePrimaryTaskSetOutput, + crate::error::UpdateServicePrimaryTaskSetError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} + +///

      Modifies a task set. This is used when a service uses the EXTERNAL +/// deployment controller type. For more information, see Amazon ECS Deployment +/// Types in the Amazon Elastic Container Service Developer Guide.

      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateTaskSet { + _private: (), +} +impl UpdateTaskSet { + /// Creates a new builder-style object to manufacture [`UpdateTaskSetInput`](crate::input::UpdateTaskSetInput) + pub fn builder() -> crate::input::update_task_set_input::Builder { + crate::input::update_task_set_input::Builder::default() + } + #[allow(clippy::unnecessary_wraps)] + #[allow(dead_code)] + fn parse_response( + &self, + response: &http::response::Response, + ) -> Result { + if crate::aws_json_errors::is_error(&response) { + let body = serde_json::from_slice(response.body().as_ref()) + .unwrap_or_else(|_| serde_json::json!({})); + let generic = crate::aws_json_errors::parse_generic_error(&response, &body); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateTaskSetError::unhandled(generic)), + }; + return Err(match error_code { + "AccessDeniedException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::AccessDeniedError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "ClientException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::ClientError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "ClusterNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::ClusterNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "InvalidParameterException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::InvalidParameterError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "ServerException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::ServerError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "ServiceNotActiveException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::ServiceNotActiveError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "ServiceNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::ServiceNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "TaskSetNotFoundException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::TaskSetNotFoundError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + "UnsupportedFeatureException" => match serde_json::from_value(body) { + Ok(body) => crate::error::UpdateTaskSetError { + kind: crate::error::UpdateTaskSetErrorKind::UnsupportedFeatureError(body), + meta: generic, + }, + Err(e) => crate::error::UpdateTaskSetError::unhandled(e), + }, + _ => crate::error::UpdateTaskSetError::generic(generic), + }); + } + #[allow(unused_mut)] + let mut builder = crate::output::update_task_set_output::Builder::default(); + builder = + crate::json_deser::update_task_set_deser_operation(response.body().as_ref(), builder) + .map_err(crate::error::UpdateTaskSetError::unhandled)?; + Ok(builder.build()) + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateTaskSet { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + self.parse_response(response) + } +} diff --git a/sdk/ecs/src/operation_ser.rs b/sdk/ecs/src/operation_ser.rs new file mode 100644 index 000000000000..119b5ecee851 --- /dev/null +++ b/sdk/ecs/src/operation_ser.rs @@ -0,0 +1,520 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_operation_create_capacity_provider( + input: &crate::input::CreateCapacityProviderInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_capacity_provider_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_cluster( + input: &crate::input::CreateClusterInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_cluster_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_service( + input: &crate::input::CreateServiceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_service_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_task_set( + input: &crate::input::CreateTaskSetInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_task_set_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_account_setting( + input: &crate::input::DeleteAccountSettingInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_account_setting_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_attributes( + input: &crate::input::DeleteAttributesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_attributes_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_capacity_provider( + input: &crate::input::DeleteCapacityProviderInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_capacity_provider_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_cluster( + input: &crate::input::DeleteClusterInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_cluster_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_service( + input: &crate::input::DeleteServiceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_service_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_task_set( + input: &crate::input::DeleteTaskSetInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_task_set_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_deregister_container_instance( + input: &crate::input::DeregisterContainerInstanceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_container_instance_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_deregister_task_definition( + input: &crate::input::DeregisterTaskDefinitionInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_task_definition_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_capacity_providers( + input: &crate::input::DescribeCapacityProvidersInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_capacity_providers_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_clusters( + input: &crate::input::DescribeClustersInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_clusters_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_container_instances( + input: &crate::input::DescribeContainerInstancesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_container_instances_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_services( + input: &crate::input::DescribeServicesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_services_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_task_definition( + input: &crate::input::DescribeTaskDefinitionInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_task_definition_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_tasks( + input: &crate::input::DescribeTasksInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_tasks_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_task_sets( + input: &crate::input::DescribeTaskSetsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_task_sets_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_discover_poll_endpoint( + input: &crate::input::DiscoverPollEndpointInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_discover_poll_endpoint_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_execute_command( + input: &crate::input::ExecuteCommandInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_execute_command_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_account_settings( + input: &crate::input::ListAccountSettingsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_account_settings_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_attributes( + input: &crate::input::ListAttributesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_attributes_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_clusters( + input: &crate::input::ListClustersInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_clusters_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_container_instances( + input: &crate::input::ListContainerInstancesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_container_instances_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_services( + input: &crate::input::ListServicesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_services_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_tags_for_resource( + input: &crate::input::ListTagsForResourceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_tags_for_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_task_definition_families( + input: &crate::input::ListTaskDefinitionFamiliesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_task_definition_families_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_task_definitions( + input: &crate::input::ListTaskDefinitionsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_task_definitions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_tasks( + input: &crate::input::ListTasksInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_tasks_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_put_account_setting( + input: &crate::input::PutAccountSettingInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_account_setting_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_put_account_setting_default( + input: &crate::input::PutAccountSettingDefaultInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_account_setting_default_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_put_attributes( + input: &crate::input::PutAttributesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_attributes_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_put_cluster_capacity_providers( + input: &crate::input::PutClusterCapacityProvidersInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_cluster_capacity_providers_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_register_container_instance( + input: &crate::input::RegisterContainerInstanceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_container_instance_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_register_task_definition( + input: &crate::input::RegisterTaskDefinitionInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_task_definition_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_run_task( + input: &crate::input::RunTaskInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_run_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_start_task( + input: &crate::input::StartTaskInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_stop_task( + input: &crate::input::StopTaskInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_stop_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_submit_attachment_state_changes( + input: &crate::input::SubmitAttachmentStateChangesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_submit_attachment_state_changes_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_submit_container_state_change( + input: &crate::input::SubmitContainerStateChangeInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_submit_container_state_change_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_submit_task_state_change( + input: &crate::input::SubmitTaskStateChangeInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_submit_task_state_change_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)) +} + +pub fn serialize_operation_untag_resource( + input: &crate::input::UntagResourceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_untag_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_capacity_provider( + input: &crate::input::UpdateCapacityProviderInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_capacity_provider_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_cluster( + input: &crate::input::UpdateClusterInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_cluster_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_cluster_settings( + input: &crate::input::UpdateClusterSettingsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_cluster_settings_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_container_agent( + input: &crate::input::UpdateContainerAgentInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_container_agent_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_container_instances_state( + input: &crate::input::UpdateContainerInstancesStateInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_container_instances_state_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_service( + input: &crate::input::UpdateServiceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_service_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_service_primary_task_set( + input: &crate::input::UpdateServicePrimaryTaskSetInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_service_primary_task_set_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_task_set( + input: &crate::input::UpdateTaskSetInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_task_set_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} diff --git a/sdk/ecs/src/output.rs b/sdk/ecs/src/output.rs new file mode 100644 index 000000000000..5e47aa915f1a --- /dev/null +++ b/sdk/ecs/src/output.rs @@ -0,0 +1,3022 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateTaskSetOutput { + ///

      Details about the task set.

      + pub task_set: std::option::Option, +} +impl std::fmt::Debug for UpdateTaskSetOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateTaskSetOutput"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} +/// See [`UpdateTaskSetOutput`](crate::output::UpdateTaskSetOutput) +pub mod update_task_set_output { + /// A builder for [`UpdateTaskSetOutput`](crate::output::UpdateTaskSetOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_set: std::option::Option, + } + impl Builder { + ///

      Details about the task set.

      + pub fn task_set(mut self, inp: crate::model::TaskSet) -> Self { + self.task_set = Some(inp); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.task_set = inp; + self + } + /// Consumes the builder and constructs a [`UpdateTaskSetOutput`](crate::output::UpdateTaskSetOutput) + pub fn build(self) -> crate::output::UpdateTaskSetOutput { + crate::output::UpdateTaskSetOutput { + task_set: self.task_set, + } + } + } +} +impl UpdateTaskSetOutput { + /// Creates a new builder-style object to manufacture [`UpdateTaskSetOutput`](crate::output::UpdateTaskSetOutput) + pub fn builder() -> crate::output::update_task_set_output::Builder { + crate::output::update_task_set_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServicePrimaryTaskSetOutput { + ///

      Details about the task set.

      + pub task_set: std::option::Option, +} +impl std::fmt::Debug for UpdateServicePrimaryTaskSetOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServicePrimaryTaskSetOutput"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} +/// See [`UpdateServicePrimaryTaskSetOutput`](crate::output::UpdateServicePrimaryTaskSetOutput) +pub mod update_service_primary_task_set_output { + /// A builder for [`UpdateServicePrimaryTaskSetOutput`](crate::output::UpdateServicePrimaryTaskSetOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_set: std::option::Option, + } + impl Builder { + ///

      Details about the task set.

      + pub fn task_set(mut self, inp: crate::model::TaskSet) -> Self { + self.task_set = Some(inp); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.task_set = inp; + self + } + /// Consumes the builder and constructs a [`UpdateServicePrimaryTaskSetOutput`](crate::output::UpdateServicePrimaryTaskSetOutput) + pub fn build(self) -> crate::output::UpdateServicePrimaryTaskSetOutput { + crate::output::UpdateServicePrimaryTaskSetOutput { + task_set: self.task_set, + } + } + } +} +impl UpdateServicePrimaryTaskSetOutput { + /// Creates a new builder-style object to manufacture [`UpdateServicePrimaryTaskSetOutput`](crate::output::UpdateServicePrimaryTaskSetOutput) + pub fn builder() -> crate::output::update_service_primary_task_set_output::Builder { + crate::output::update_service_primary_task_set_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServiceOutput { + ///

      The full description of your service following the update call.

      + pub service: std::option::Option, +} +impl std::fmt::Debug for UpdateServiceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServiceOutput"); + formatter.field("service", &self.service); + formatter.finish() + } +} +/// See [`UpdateServiceOutput`](crate::output::UpdateServiceOutput) +pub mod update_service_output { + /// A builder for [`UpdateServiceOutput`](crate::output::UpdateServiceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) service: std::option::Option, + } + impl Builder { + ///

      The full description of your service following the update call.

      + pub fn service(mut self, inp: crate::model::Service) -> Self { + self.service = Some(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + /// Consumes the builder and constructs a [`UpdateServiceOutput`](crate::output::UpdateServiceOutput) + pub fn build(self) -> crate::output::UpdateServiceOutput { + crate::output::UpdateServiceOutput { + service: self.service, + } + } + } +} +impl UpdateServiceOutput { + /// Creates a new builder-style object to manufacture [`UpdateServiceOutput`](crate::output::UpdateServiceOutput) + pub fn builder() -> crate::output::update_service_output::Builder { + crate::output::update_service_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerInstancesStateOutput { + ///

      The list of container instances.

      + pub container_instances: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for UpdateContainerInstancesStateOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerInstancesStateOutput"); + formatter.field("container_instances", &self.container_instances); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`UpdateContainerInstancesStateOutput`](crate::output::UpdateContainerInstancesStateOutput) +pub mod update_container_instances_state_output { + /// A builder for [`UpdateContainerInstancesStateOutput`](crate::output::UpdateContainerInstancesStateOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instances: + std::option::Option>, + pub(crate) failures: std::option::Option>, + } + impl Builder { + pub fn container_instances( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.container_instances.unwrap_or_default(); + v.push(inp.into()); + self.container_instances = Some(v); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_instances = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`UpdateContainerInstancesStateOutput`](crate::output::UpdateContainerInstancesStateOutput) + pub fn build(self) -> crate::output::UpdateContainerInstancesStateOutput { + crate::output::UpdateContainerInstancesStateOutput { + container_instances: self.container_instances, + failures: self.failures, + } + } + } +} +impl UpdateContainerInstancesStateOutput { + /// Creates a new builder-style object to manufacture [`UpdateContainerInstancesStateOutput`](crate::output::UpdateContainerInstancesStateOutput) + pub fn builder() -> crate::output::update_container_instances_state_output::Builder { + crate::output::update_container_instances_state_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerAgentOutput { + ///

      The container instance for which the container agent was updated.

      + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for UpdateContainerAgentOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerAgentOutput"); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} +/// See [`UpdateContainerAgentOutput`](crate::output::UpdateContainerAgentOutput) +pub mod update_container_agent_output { + /// A builder for [`UpdateContainerAgentOutput`](crate::output::UpdateContainerAgentOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instance: std::option::Option, + } + impl Builder { + ///

      The container instance for which the container agent was updated.

      + pub fn container_instance(mut self, inp: crate::model::ContainerInstance) -> Self { + self.container_instance = Some(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + /// Consumes the builder and constructs a [`UpdateContainerAgentOutput`](crate::output::UpdateContainerAgentOutput) + pub fn build(self) -> crate::output::UpdateContainerAgentOutput { + crate::output::UpdateContainerAgentOutput { + container_instance: self.container_instance, + } + } + } +} +impl UpdateContainerAgentOutput { + /// Creates a new builder-style object to manufacture [`UpdateContainerAgentOutput`](crate::output::UpdateContainerAgentOutput) + pub fn builder() -> crate::output::update_container_agent_output::Builder { + crate::output::update_container_agent_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterSettingsOutput { + ///

      Details about the cluster

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for UpdateClusterSettingsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterSettingsOutput"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} +/// See [`UpdateClusterSettingsOutput`](crate::output::UpdateClusterSettingsOutput) +pub mod update_cluster_settings_output { + /// A builder for [`UpdateClusterSettingsOutput`](crate::output::UpdateClusterSettingsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + } + impl Builder { + ///

      Details about the cluster

      + pub fn cluster(mut self, inp: crate::model::Cluster) -> Self { + self.cluster = Some(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`UpdateClusterSettingsOutput`](crate::output::UpdateClusterSettingsOutput) + pub fn build(self) -> crate::output::UpdateClusterSettingsOutput { + crate::output::UpdateClusterSettingsOutput { + cluster: self.cluster, + } + } + } +} +impl UpdateClusterSettingsOutput { + /// Creates a new builder-style object to manufacture [`UpdateClusterSettingsOutput`](crate::output::UpdateClusterSettingsOutput) + pub fn builder() -> crate::output::update_cluster_settings_output::Builder { + crate::output::update_cluster_settings_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterOutput { + ///

      Details about the cluster.

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for UpdateClusterOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterOutput"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} +/// See [`UpdateClusterOutput`](crate::output::UpdateClusterOutput) +pub mod update_cluster_output { + /// A builder for [`UpdateClusterOutput`](crate::output::UpdateClusterOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + } + impl Builder { + ///

      Details about the cluster.

      + pub fn cluster(mut self, inp: crate::model::Cluster) -> Self { + self.cluster = Some(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`UpdateClusterOutput`](crate::output::UpdateClusterOutput) + pub fn build(self) -> crate::output::UpdateClusterOutput { + crate::output::UpdateClusterOutput { + cluster: self.cluster, + } + } + } +} +impl UpdateClusterOutput { + /// Creates a new builder-style object to manufacture [`UpdateClusterOutput`](crate::output::UpdateClusterOutput) + pub fn builder() -> crate::output::update_cluster_output::Builder { + crate::output::update_cluster_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateCapacityProviderOutput { + ///

      Details about the capacity provider.

      + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for UpdateCapacityProviderOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateCapacityProviderOutput"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} +/// See [`UpdateCapacityProviderOutput`](crate::output::UpdateCapacityProviderOutput) +pub mod update_capacity_provider_output { + /// A builder for [`UpdateCapacityProviderOutput`](crate::output::UpdateCapacityProviderOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider: std::option::Option, + } + impl Builder { + ///

      Details about the capacity provider.

      + pub fn capacity_provider(mut self, inp: crate::model::CapacityProvider) -> Self { + self.capacity_provider = Some(inp); + self + } + pub fn set_capacity_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider = inp; + self + } + /// Consumes the builder and constructs a [`UpdateCapacityProviderOutput`](crate::output::UpdateCapacityProviderOutput) + pub fn build(self) -> crate::output::UpdateCapacityProviderOutput { + crate::output::UpdateCapacityProviderOutput { + capacity_provider: self.capacity_provider, + } + } + } +} +impl UpdateCapacityProviderOutput { + /// Creates a new builder-style object to manufacture [`UpdateCapacityProviderOutput`](crate::output::UpdateCapacityProviderOutput) + pub fn builder() -> crate::output::update_capacity_provider_output::Builder { + crate::output::update_capacity_provider_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 SubmitTaskStateChangeOutput { + ///

      Acknowledgement of the state change.

      + pub acknowledgment: std::option::Option, +} +impl std::fmt::Debug for SubmitTaskStateChangeOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitTaskStateChangeOutput"); + formatter.field("acknowledgment", &self.acknowledgment); + formatter.finish() + } +} +/// See [`SubmitTaskStateChangeOutput`](crate::output::SubmitTaskStateChangeOutput) +pub mod submit_task_state_change_output { + /// A builder for [`SubmitTaskStateChangeOutput`](crate::output::SubmitTaskStateChangeOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) acknowledgment: std::option::Option, + } + impl Builder { + ///

      Acknowledgement of the state change.

      + pub fn acknowledgment(mut self, inp: impl Into) -> Self { + self.acknowledgment = Some(inp.into()); + self + } + pub fn set_acknowledgment(mut self, inp: std::option::Option) -> Self { + self.acknowledgment = inp; + self + } + /// Consumes the builder and constructs a [`SubmitTaskStateChangeOutput`](crate::output::SubmitTaskStateChangeOutput) + pub fn build(self) -> crate::output::SubmitTaskStateChangeOutput { + crate::output::SubmitTaskStateChangeOutput { + acknowledgment: self.acknowledgment, + } + } + } +} +impl SubmitTaskStateChangeOutput { + /// Creates a new builder-style object to manufacture [`SubmitTaskStateChangeOutput`](crate::output::SubmitTaskStateChangeOutput) + pub fn builder() -> crate::output::submit_task_state_change_output::Builder { + crate::output::submit_task_state_change_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitContainerStateChangeOutput { + ///

      Acknowledgement of the state change.

      + pub acknowledgment: std::option::Option, +} +impl std::fmt::Debug for SubmitContainerStateChangeOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitContainerStateChangeOutput"); + formatter.field("acknowledgment", &self.acknowledgment); + formatter.finish() + } +} +/// See [`SubmitContainerStateChangeOutput`](crate::output::SubmitContainerStateChangeOutput) +pub mod submit_container_state_change_output { + /// A builder for [`SubmitContainerStateChangeOutput`](crate::output::SubmitContainerStateChangeOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) acknowledgment: std::option::Option, + } + impl Builder { + ///

      Acknowledgement of the state change.

      + pub fn acknowledgment(mut self, inp: impl Into) -> Self { + self.acknowledgment = Some(inp.into()); + self + } + pub fn set_acknowledgment(mut self, inp: std::option::Option) -> Self { + self.acknowledgment = inp; + self + } + /// Consumes the builder and constructs a [`SubmitContainerStateChangeOutput`](crate::output::SubmitContainerStateChangeOutput) + pub fn build(self) -> crate::output::SubmitContainerStateChangeOutput { + crate::output::SubmitContainerStateChangeOutput { + acknowledgment: self.acknowledgment, + } + } + } +} +impl SubmitContainerStateChangeOutput { + /// Creates a new builder-style object to manufacture [`SubmitContainerStateChangeOutput`](crate::output::SubmitContainerStateChangeOutput) + pub fn builder() -> crate::output::submit_container_state_change_output::Builder { + crate::output::submit_container_state_change_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitAttachmentStateChangesOutput { + ///

      Acknowledgement of the state change.

      + pub acknowledgment: std::option::Option, +} +impl std::fmt::Debug for SubmitAttachmentStateChangesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitAttachmentStateChangesOutput"); + formatter.field("acknowledgment", &self.acknowledgment); + formatter.finish() + } +} +/// See [`SubmitAttachmentStateChangesOutput`](crate::output::SubmitAttachmentStateChangesOutput) +pub mod submit_attachment_state_changes_output { + /// A builder for [`SubmitAttachmentStateChangesOutput`](crate::output::SubmitAttachmentStateChangesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) acknowledgment: std::option::Option, + } + impl Builder { + ///

      Acknowledgement of the state change.

      + pub fn acknowledgment(mut self, inp: impl Into) -> Self { + self.acknowledgment = Some(inp.into()); + self + } + pub fn set_acknowledgment(mut self, inp: std::option::Option) -> Self { + self.acknowledgment = inp; + self + } + /// Consumes the builder and constructs a [`SubmitAttachmentStateChangesOutput`](crate::output::SubmitAttachmentStateChangesOutput) + pub fn build(self) -> crate::output::SubmitAttachmentStateChangesOutput { + crate::output::SubmitAttachmentStateChangesOutput { + acknowledgment: self.acknowledgment, + } + } + } +} +impl SubmitAttachmentStateChangesOutput { + /// Creates a new builder-style object to manufacture [`SubmitAttachmentStateChangesOutput`](crate::output::SubmitAttachmentStateChangesOutput) + pub fn builder() -> crate::output::submit_attachment_state_changes_output::Builder { + crate::output::submit_attachment_state_changes_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StopTaskOutput { + ///

      The task that was stopped.

      + pub task: std::option::Option, +} +impl std::fmt::Debug for StopTaskOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StopTaskOutput"); + formatter.field("task", &self.task); + formatter.finish() + } +} +/// See [`StopTaskOutput`](crate::output::StopTaskOutput) +pub mod stop_task_output { + /// A builder for [`StopTaskOutput`](crate::output::StopTaskOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task: std::option::Option, + } + impl Builder { + ///

      The task that was stopped.

      + pub fn task(mut self, inp: crate::model::Task) -> Self { + self.task = Some(inp); + self + } + pub fn set_task(mut self, inp: std::option::Option) -> Self { + self.task = inp; + self + } + /// Consumes the builder and constructs a [`StopTaskOutput`](crate::output::StopTaskOutput) + pub fn build(self) -> crate::output::StopTaskOutput { + crate::output::StopTaskOutput { task: self.task } + } + } +} +impl StopTaskOutput { + /// Creates a new builder-style object to manufacture [`StopTaskOutput`](crate::output::StopTaskOutput) + pub fn builder() -> crate::output::stop_task_output::Builder { + crate::output::stop_task_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StartTaskOutput { + ///

      A full description of the tasks that were started. Each task that was successfully + /// placed on your container instances is described.

      + pub tasks: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for StartTaskOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StartTaskOutput"); + formatter.field("tasks", &self.tasks); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`StartTaskOutput`](crate::output::StartTaskOutput) +pub mod start_task_output { + /// A builder for [`StartTaskOutput`](crate::output::StartTaskOutput) + #[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) failures: std::option::Option>, + } + impl Builder { + pub fn tasks(mut self, inp: impl Into) -> Self { + let mut v = self.tasks.unwrap_or_default(); + v.push(inp.into()); + self.tasks = Some(v); + self + } + pub fn set_tasks( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tasks = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`StartTaskOutput`](crate::output::StartTaskOutput) + pub fn build(self) -> crate::output::StartTaskOutput { + crate::output::StartTaskOutput { + tasks: self.tasks, + failures: self.failures, + } + } + } +} +impl StartTaskOutput { + /// Creates a new builder-style object to manufacture [`StartTaskOutput`](crate::output::StartTaskOutput) + pub fn builder() -> crate::output::start_task_output::Builder { + crate::output::start_task_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RunTaskOutput { + ///

      A full description of the tasks that were run. The tasks that were successfully placed + /// on your cluster are described here.

      + pub tasks: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for RunTaskOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RunTaskOutput"); + formatter.field("tasks", &self.tasks); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`RunTaskOutput`](crate::output::RunTaskOutput) +pub mod run_task_output { + /// A builder for [`RunTaskOutput`](crate::output::RunTaskOutput) + #[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) failures: std::option::Option>, + } + impl Builder { + pub fn tasks(mut self, inp: impl Into) -> Self { + let mut v = self.tasks.unwrap_or_default(); + v.push(inp.into()); + self.tasks = Some(v); + self + } + pub fn set_tasks( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tasks = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`RunTaskOutput`](crate::output::RunTaskOutput) + pub fn build(self) -> crate::output::RunTaskOutput { + crate::output::RunTaskOutput { + tasks: self.tasks, + failures: self.failures, + } + } + } +} +impl RunTaskOutput { + /// Creates a new builder-style object to manufacture [`RunTaskOutput`](crate::output::RunTaskOutput) + pub fn builder() -> crate::output::run_task_output::Builder { + crate::output::run_task_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterTaskDefinitionOutput { + ///

      The full description of the registered task definition.

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

      The list of tags associated with the task definition.

      + pub tags: std::option::Option>, +} +impl std::fmt::Debug for RegisterTaskDefinitionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterTaskDefinitionOutput"); + formatter.field("task_definition", &self.task_definition); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`RegisterTaskDefinitionOutput`](crate::output::RegisterTaskDefinitionOutput) +pub mod register_task_definition_output { + /// A builder for [`RegisterTaskDefinitionOutput`](crate::output::RegisterTaskDefinitionOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The full description of the registered task definition.

      + pub fn task_definition(mut self, inp: crate::model::TaskDefinition) -> Self { + self.task_definition = Some(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`RegisterTaskDefinitionOutput`](crate::output::RegisterTaskDefinitionOutput) + pub fn build(self) -> crate::output::RegisterTaskDefinitionOutput { + crate::output::RegisterTaskDefinitionOutput { + task_definition: self.task_definition, + tags: self.tags, + } + } + } +} +impl RegisterTaskDefinitionOutput { + /// Creates a new builder-style object to manufacture [`RegisterTaskDefinitionOutput`](crate::output::RegisterTaskDefinitionOutput) + pub fn builder() -> crate::output::register_task_definition_output::Builder { + crate::output::register_task_definition_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterContainerInstanceOutput { + ///

      The container instance that was registered.

      + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for RegisterContainerInstanceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterContainerInstanceOutput"); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} +/// See [`RegisterContainerInstanceOutput`](crate::output::RegisterContainerInstanceOutput) +pub mod register_container_instance_output { + /// A builder for [`RegisterContainerInstanceOutput`](crate::output::RegisterContainerInstanceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instance: std::option::Option, + } + impl Builder { + ///

      The container instance that was registered.

      + pub fn container_instance(mut self, inp: crate::model::ContainerInstance) -> Self { + self.container_instance = Some(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + /// Consumes the builder and constructs a [`RegisterContainerInstanceOutput`](crate::output::RegisterContainerInstanceOutput) + pub fn build(self) -> crate::output::RegisterContainerInstanceOutput { + crate::output::RegisterContainerInstanceOutput { + container_instance: self.container_instance, + } + } + } +} +impl RegisterContainerInstanceOutput { + /// Creates a new builder-style object to manufacture [`RegisterContainerInstanceOutput`](crate::output::RegisterContainerInstanceOutput) + pub fn builder() -> crate::output::register_container_instance_output::Builder { + crate::output::register_container_instance_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutClusterCapacityProvidersOutput { + ///

      Details about the cluster.

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for PutClusterCapacityProvidersOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutClusterCapacityProvidersOutput"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} +/// See [`PutClusterCapacityProvidersOutput`](crate::output::PutClusterCapacityProvidersOutput) +pub mod put_cluster_capacity_providers_output { + /// A builder for [`PutClusterCapacityProvidersOutput`](crate::output::PutClusterCapacityProvidersOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + } + impl Builder { + ///

      Details about the cluster.

      + pub fn cluster(mut self, inp: crate::model::Cluster) -> Self { + self.cluster = Some(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`PutClusterCapacityProvidersOutput`](crate::output::PutClusterCapacityProvidersOutput) + pub fn build(self) -> crate::output::PutClusterCapacityProvidersOutput { + crate::output::PutClusterCapacityProvidersOutput { + cluster: self.cluster, + } + } + } +} +impl PutClusterCapacityProvidersOutput { + /// Creates a new builder-style object to manufacture [`PutClusterCapacityProvidersOutput`](crate::output::PutClusterCapacityProvidersOutput) + pub fn builder() -> crate::output::put_cluster_capacity_providers_output::Builder { + crate::output::put_cluster_capacity_providers_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAttributesOutput { + ///

      The attributes applied to your resource.

      + pub attributes: std::option::Option>, +} +impl std::fmt::Debug for PutAttributesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAttributesOutput"); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} +/// See [`PutAttributesOutput`](crate::output::PutAttributesOutput) +pub mod put_attributes_output { + /// A builder for [`PutAttributesOutput`](crate::output::PutAttributesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attributes: std::option::Option>, + } + impl Builder { + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`PutAttributesOutput`](crate::output::PutAttributesOutput) + pub fn build(self) -> crate::output::PutAttributesOutput { + crate::output::PutAttributesOutput { + attributes: self.attributes, + } + } + } +} +impl PutAttributesOutput { + /// Creates a new builder-style object to manufacture [`PutAttributesOutput`](crate::output::PutAttributesOutput) + pub fn builder() -> crate::output::put_attributes_output::Builder { + crate::output::put_attributes_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingDefaultOutput { + ///

      The current setting for a resource.

      + pub setting: std::option::Option, +} +impl std::fmt::Debug for PutAccountSettingDefaultOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingDefaultOutput"); + formatter.field("setting", &self.setting); + formatter.finish() + } +} +/// See [`PutAccountSettingDefaultOutput`](crate::output::PutAccountSettingDefaultOutput) +pub mod put_account_setting_default_output { + /// A builder for [`PutAccountSettingDefaultOutput`](crate::output::PutAccountSettingDefaultOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) setting: std::option::Option, + } + impl Builder { + ///

      The current setting for a resource.

      + pub fn setting(mut self, inp: crate::model::Setting) -> Self { + self.setting = Some(inp); + self + } + pub fn set_setting(mut self, inp: std::option::Option) -> Self { + self.setting = inp; + self + } + /// Consumes the builder and constructs a [`PutAccountSettingDefaultOutput`](crate::output::PutAccountSettingDefaultOutput) + pub fn build(self) -> crate::output::PutAccountSettingDefaultOutput { + crate::output::PutAccountSettingDefaultOutput { + setting: self.setting, + } + } + } +} +impl PutAccountSettingDefaultOutput { + /// Creates a new builder-style object to manufacture [`PutAccountSettingDefaultOutput`](crate::output::PutAccountSettingDefaultOutput) + pub fn builder() -> crate::output::put_account_setting_default_output::Builder { + crate::output::put_account_setting_default_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingOutput { + ///

      The current account setting for a resource.

      + pub setting: std::option::Option, +} +impl std::fmt::Debug for PutAccountSettingOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingOutput"); + formatter.field("setting", &self.setting); + formatter.finish() + } +} +/// See [`PutAccountSettingOutput`](crate::output::PutAccountSettingOutput) +pub mod put_account_setting_output { + /// A builder for [`PutAccountSettingOutput`](crate::output::PutAccountSettingOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) setting: std::option::Option, + } + impl Builder { + ///

      The current account setting for a resource.

      + pub fn setting(mut self, inp: crate::model::Setting) -> Self { + self.setting = Some(inp); + self + } + pub fn set_setting(mut self, inp: std::option::Option) -> Self { + self.setting = inp; + self + } + /// Consumes the builder and constructs a [`PutAccountSettingOutput`](crate::output::PutAccountSettingOutput) + pub fn build(self) -> crate::output::PutAccountSettingOutput { + crate::output::PutAccountSettingOutput { + setting: self.setting, + } + } + } +} +impl PutAccountSettingOutput { + /// Creates a new builder-style object to manufacture [`PutAccountSettingOutput`](crate::output::PutAccountSettingOutput) + pub fn builder() -> crate::output::put_account_setting_output::Builder { + crate::output::put_account_setting_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTasksOutput { + ///

      The list of task ARN entries for the ListTasks request.

      + pub task_arns: std::option::Option>, + ///

      The nextToken value to include in a future ListTasks + /// request. When the results of a ListTasks request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + 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("task_arns", &self.task_arns); + 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) task_arns: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn task_arns(mut self, inp: impl Into) -> Self { + let mut v = self.task_arns.unwrap_or_default(); + v.push(inp.into()); + self.task_arns = Some(v); + self + } + pub fn set_task_arns( + mut self, + inp: std::option::Option>, + ) -> Self { + self.task_arns = inp; + self + } + ///

      The nextToken value to include in a future ListTasks + /// request. When the results of a ListTasks request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListTasksOutput`](crate::output::ListTasksOutput) + pub fn build(self) -> crate::output::ListTasksOutput { + crate::output::ListTasksOutput { + task_arns: self.task_arns, + 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 ListTaskDefinitionsOutput { + ///

      The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions + /// request.

      + pub task_definition_arns: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListTaskDefinitions request. When the results of a + /// ListTaskDefinitions request exceed maxResults, this value + /// can be used to retrieve the next page of results. This value is null when + /// there are no more results to return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTaskDefinitionsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionsOutput"); + formatter.field("task_definition_arns", &self.task_definition_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListTaskDefinitionsOutput`](crate::output::ListTaskDefinitionsOutput) +pub mod list_task_definitions_output { + /// A builder for [`ListTaskDefinitionsOutput`](crate::output::ListTaskDefinitionsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition_arns: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn task_definition_arns(mut self, inp: impl Into) -> Self { + let mut v = self.task_definition_arns.unwrap_or_default(); + v.push(inp.into()); + self.task_definition_arns = Some(v); + self + } + pub fn set_task_definition_arns( + mut self, + inp: std::option::Option>, + ) -> Self { + self.task_definition_arns = inp; + self + } + ///

      The nextToken value to include in a future + /// ListTaskDefinitions request. When the results of a + /// ListTaskDefinitions request exceed maxResults, this value + /// can be used to retrieve the next page of results. This value is null when + /// there are no more results to return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListTaskDefinitionsOutput`](crate::output::ListTaskDefinitionsOutput) + pub fn build(self) -> crate::output::ListTaskDefinitionsOutput { + crate::output::ListTaskDefinitionsOutput { + task_definition_arns: self.task_definition_arns, + next_token: self.next_token, + } + } + } +} +impl ListTaskDefinitionsOutput { + /// Creates a new builder-style object to manufacture [`ListTaskDefinitionsOutput`](crate::output::ListTaskDefinitionsOutput) + pub fn builder() -> crate::output::list_task_definitions_output::Builder { + crate::output::list_task_definitions_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTaskDefinitionFamiliesOutput { + ///

      The list of task definition family names that match the + /// ListTaskDefinitionFamilies request.

      + pub families: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListTaskDefinitionFamilies request. When the results of a + /// ListTaskDefinitionFamilies request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTaskDefinitionFamiliesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionFamiliesOutput"); + formatter.field("families", &self.families); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListTaskDefinitionFamiliesOutput`](crate::output::ListTaskDefinitionFamiliesOutput) +pub mod list_task_definition_families_output { + /// A builder for [`ListTaskDefinitionFamiliesOutput`](crate::output::ListTaskDefinitionFamiliesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) families: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn families(mut self, inp: impl Into) -> Self { + let mut v = self.families.unwrap_or_default(); + v.push(inp.into()); + self.families = Some(v); + self + } + pub fn set_families( + mut self, + inp: std::option::Option>, + ) -> Self { + self.families = inp; + self + } + ///

      The nextToken value to include in a future + /// ListTaskDefinitionFamilies request. When the results of a + /// ListTaskDefinitionFamilies request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListTaskDefinitionFamiliesOutput`](crate::output::ListTaskDefinitionFamiliesOutput) + pub fn build(self) -> crate::output::ListTaskDefinitionFamiliesOutput { + crate::output::ListTaskDefinitionFamiliesOutput { + families: self.families, + next_token: self.next_token, + } + } + } +} +impl ListTaskDefinitionFamiliesOutput { + /// Creates a new builder-style object to manufacture [`ListTaskDefinitionFamiliesOutput`](crate::output::ListTaskDefinitionFamiliesOutput) + pub fn builder() -> crate::output::list_task_definition_families_output::Builder { + crate::output::list_task_definition_families_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTagsForResourceOutput { + ///

      The tags for the resource.

      + 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>, + } + impl Builder { + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + 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() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListServicesOutput { + ///

      The list of full ARN entries for each service associated with the specified + /// cluster.

      + pub service_arns: std::option::Option>, + ///

      The nextToken value to include in a future ListServices + /// request. When the results of a ListServices request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListServicesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListServicesOutput"); + formatter.field("service_arns", &self.service_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListServicesOutput`](crate::output::ListServicesOutput) +pub mod list_services_output { + /// A builder for [`ListServicesOutput`](crate::output::ListServicesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) service_arns: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn service_arns(mut self, inp: impl Into) -> Self { + let mut v = self.service_arns.unwrap_or_default(); + v.push(inp.into()); + self.service_arns = Some(v); + self + } + pub fn set_service_arns( + mut self, + inp: std::option::Option>, + ) -> Self { + self.service_arns = inp; + self + } + ///

      The nextToken value to include in a future ListServices + /// request. When the results of a ListServices request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListServicesOutput`](crate::output::ListServicesOutput) + pub fn build(self) -> crate::output::ListServicesOutput { + crate::output::ListServicesOutput { + service_arns: self.service_arns, + next_token: self.next_token, + } + } + } +} +impl ListServicesOutput { + /// Creates a new builder-style object to manufacture [`ListServicesOutput`](crate::output::ListServicesOutput) + pub fn builder() -> crate::output::list_services_output::Builder { + crate::output::list_services_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListContainerInstancesOutput { + ///

      The list of container instances with full ARN entries for each container instance + /// associated with the specified cluster.

      + pub container_instance_arns: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListContainerInstances request. When the results of a + /// ListContainerInstances request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListContainerInstancesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListContainerInstancesOutput"); + formatter.field("container_instance_arns", &self.container_instance_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListContainerInstancesOutput`](crate::output::ListContainerInstancesOutput) +pub mod list_container_instances_output { + /// A builder for [`ListContainerInstancesOutput`](crate::output::ListContainerInstancesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instance_arns: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn container_instance_arns(mut self, inp: impl Into) -> Self { + let mut v = self.container_instance_arns.unwrap_or_default(); + v.push(inp.into()); + self.container_instance_arns = Some(v); + self + } + pub fn set_container_instance_arns( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_instance_arns = inp; + self + } + ///

      The nextToken value to include in a future + /// ListContainerInstances request. When the results of a + /// ListContainerInstances request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListContainerInstancesOutput`](crate::output::ListContainerInstancesOutput) + pub fn build(self) -> crate::output::ListContainerInstancesOutput { + crate::output::ListContainerInstancesOutput { + container_instance_arns: self.container_instance_arns, + next_token: self.next_token, + } + } + } +} +impl ListContainerInstancesOutput { + /// Creates a new builder-style object to manufacture [`ListContainerInstancesOutput`](crate::output::ListContainerInstancesOutput) + pub fn builder() -> crate::output::list_container_instances_output::Builder { + crate::output::list_container_instances_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListClustersOutput { + ///

      The list of full Amazon Resource Name (ARN) entries for each cluster associated with your + /// account.

      + pub cluster_arns: std::option::Option>, + ///

      The nextToken value to include in a future ListClusters + /// request. When the results of a ListClusters request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListClustersOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListClustersOutput"); + formatter.field("cluster_arns", &self.cluster_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListClustersOutput`](crate::output::ListClustersOutput) +pub mod list_clusters_output { + /// A builder for [`ListClustersOutput`](crate::output::ListClustersOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster_arns: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn cluster_arns(mut self, inp: impl Into) -> Self { + let mut v = self.cluster_arns.unwrap_or_default(); + v.push(inp.into()); + self.cluster_arns = Some(v); + self + } + pub fn set_cluster_arns( + mut self, + inp: std::option::Option>, + ) -> Self { + self.cluster_arns = inp; + self + } + ///

      The nextToken value to include in a future ListClusters + /// request. When the results of a ListClusters request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListClustersOutput`](crate::output::ListClustersOutput) + pub fn build(self) -> crate::output::ListClustersOutput { + crate::output::ListClustersOutput { + cluster_arns: self.cluster_arns, + next_token: self.next_token, + } + } + } +} +impl ListClustersOutput { + /// Creates a new builder-style object to manufacture [`ListClustersOutput`](crate::output::ListClustersOutput) + pub fn builder() -> crate::output::list_clusters_output::Builder { + crate::output::list_clusters_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAttributesOutput { + ///

      A list of attribute objects that meet the criteria of the request.

      + pub attributes: std::option::Option>, + ///

      The nextToken value to include in a future ListAttributes + /// request. When the results of a ListAttributes request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAttributesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAttributesOutput"); + formatter.field("attributes", &self.attributes); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListAttributesOutput`](crate::output::ListAttributesOutput) +pub mod list_attributes_output { + /// A builder for [`ListAttributesOutput`](crate::output::ListAttributesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attributes: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + ///

      The nextToken value to include in a future ListAttributes + /// request. When the results of a ListAttributes request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListAttributesOutput`](crate::output::ListAttributesOutput) + pub fn build(self) -> crate::output::ListAttributesOutput { + crate::output::ListAttributesOutput { + attributes: self.attributes, + next_token: self.next_token, + } + } + } +} +impl ListAttributesOutput { + /// Creates a new builder-style object to manufacture [`ListAttributesOutput`](crate::output::ListAttributesOutput) + pub fn builder() -> crate::output::list_attributes_output::Builder { + crate::output::list_attributes_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAccountSettingsOutput { + ///

      The account settings for the resource.

      + pub settings: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListAccountSettings request. When the results of a + /// ListAccountSettings request exceed maxResults, this value + /// can be used to retrieve the next page of results. This value is null when + /// there are no more results to return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAccountSettingsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAccountSettingsOutput"); + formatter.field("settings", &self.settings); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListAccountSettingsOutput`](crate::output::ListAccountSettingsOutput) +pub mod list_account_settings_output { + /// A builder for [`ListAccountSettingsOutput`](crate::output::ListAccountSettingsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) settings: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn settings(mut self, inp: impl Into) -> Self { + let mut v = self.settings.unwrap_or_default(); + v.push(inp.into()); + self.settings = Some(v); + self + } + pub fn set_settings( + mut self, + inp: std::option::Option>, + ) -> Self { + self.settings = inp; + self + } + ///

      The nextToken value to include in a future + /// ListAccountSettings request. When the results of a + /// ListAccountSettings request exceed maxResults, this value + /// can be used to retrieve the next page of results. This value is null when + /// there are no more results to return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListAccountSettingsOutput`](crate::output::ListAccountSettingsOutput) + pub fn build(self) -> crate::output::ListAccountSettingsOutput { + crate::output::ListAccountSettingsOutput { + settings: self.settings, + next_token: self.next_token, + } + } + } +} +impl ListAccountSettingsOutput { + /// Creates a new builder-style object to manufacture [`ListAccountSettingsOutput`](crate::output::ListAccountSettingsOutput) + pub fn builder() -> crate::output::list_account_settings_output::Builder { + crate::output::list_account_settings_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ExecuteCommandOutput { + ///

      The Amazon Resource Name (ARN) of the cluster.

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

      The Amazon Resource Name (ARN) of the container.

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

      The name of the container.

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

      Whether or not the execute command session is running in interactive mode. Amazon ECS only + /// supports initiating interactive sessions, so you must specify true for this + /// value.

      + pub interactive: bool, + ///

      The details of the SSM session that was created for this instance of + /// execute-command.

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

      The Amazon Resource Name (ARN) of the task.

      + pub task_arn: std::option::Option, +} +impl std::fmt::Debug for ExecuteCommandOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecuteCommandOutput"); + formatter.field("cluster_arn", &self.cluster_arn); + formatter.field("container_arn", &self.container_arn); + formatter.field("container_name", &self.container_name); + formatter.field("interactive", &self.interactive); + formatter.field("session", &self.session); + formatter.field("task_arn", &self.task_arn); + formatter.finish() + } +} +/// See [`ExecuteCommandOutput`](crate::output::ExecuteCommandOutput) +pub mod execute_command_output { + /// A builder for [`ExecuteCommandOutput`](crate::output::ExecuteCommandOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster_arn: std::option::Option, + pub(crate) container_arn: std::option::Option, + pub(crate) container_name: std::option::Option, + pub(crate) interactive: std::option::Option, + pub(crate) session: std::option::Option, + pub(crate) task_arn: std::option::Option, + } + impl Builder { + ///

      The Amazon Resource Name (ARN) of the cluster.

      + pub fn cluster_arn(mut self, inp: impl Into) -> Self { + self.cluster_arn = Some(inp.into()); + self + } + pub fn set_cluster_arn(mut self, inp: std::option::Option) -> Self { + self.cluster_arn = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the container.

      + pub fn container_arn(mut self, inp: impl Into) -> Self { + self.container_arn = Some(inp.into()); + self + } + pub fn set_container_arn(mut self, inp: std::option::Option) -> Self { + self.container_arn = inp; + self + } + ///

      The name of the container.

      + pub fn container_name(mut self, inp: impl Into) -> Self { + self.container_name = Some(inp.into()); + self + } + pub fn set_container_name(mut self, inp: std::option::Option) -> Self { + self.container_name = inp; + self + } + ///

      Whether or not the execute command session is running in interactive mode. Amazon ECS only + /// supports initiating interactive sessions, so you must specify true for this + /// value.

      + pub fn interactive(mut self, inp: bool) -> Self { + self.interactive = Some(inp); + self + } + pub fn set_interactive(mut self, inp: bool) -> Self { + self.interactive = Some(inp); + self + } + ///

      The details of the SSM session that was created for this instance of + /// execute-command.

      + pub fn session(mut self, inp: crate::model::Session) -> Self { + self.session = Some(inp); + self + } + pub fn set_session(mut self, inp: std::option::Option) -> Self { + self.session = inp; + self + } + ///

      The Amazon Resource Name (ARN) of the task.

      + pub fn task_arn(mut self, inp: impl Into) -> Self { + self.task_arn = Some(inp.into()); + self + } + pub fn set_task_arn(mut self, inp: std::option::Option) -> Self { + self.task_arn = inp; + self + } + /// Consumes the builder and constructs a [`ExecuteCommandOutput`](crate::output::ExecuteCommandOutput) + pub fn build(self) -> crate::output::ExecuteCommandOutput { + crate::output::ExecuteCommandOutput { + cluster_arn: self.cluster_arn, + container_arn: self.container_arn, + container_name: self.container_name, + interactive: self.interactive.unwrap_or_default(), + session: self.session, + task_arn: self.task_arn, + } + } + } +} +impl ExecuteCommandOutput { + /// Creates a new builder-style object to manufacture [`ExecuteCommandOutput`](crate::output::ExecuteCommandOutput) + pub fn builder() -> crate::output::execute_command_output::Builder { + crate::output::execute_command_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DiscoverPollEndpointOutput { + ///

      The endpoint for the Amazon ECS agent to poll.

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

      The telemetry endpoint for the Amazon ECS agent.

      + pub telemetry_endpoint: std::option::Option, +} +impl std::fmt::Debug for DiscoverPollEndpointOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DiscoverPollEndpointOutput"); + formatter.field("endpoint", &self.endpoint); + formatter.field("telemetry_endpoint", &self.telemetry_endpoint); + formatter.finish() + } +} +/// See [`DiscoverPollEndpointOutput`](crate::output::DiscoverPollEndpointOutput) +pub mod discover_poll_endpoint_output { + /// A builder for [`DiscoverPollEndpointOutput`](crate::output::DiscoverPollEndpointOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) endpoint: std::option::Option, + pub(crate) telemetry_endpoint: std::option::Option, + } + impl Builder { + ///

      The endpoint for the Amazon ECS agent to poll.

      + pub fn endpoint(mut self, inp: impl Into) -> Self { + self.endpoint = Some(inp.into()); + self + } + pub fn set_endpoint(mut self, inp: std::option::Option) -> Self { + self.endpoint = inp; + self + } + ///

      The telemetry endpoint for the Amazon ECS agent.

      + pub fn telemetry_endpoint(mut self, inp: impl Into) -> Self { + self.telemetry_endpoint = Some(inp.into()); + self + } + pub fn set_telemetry_endpoint( + mut self, + inp: std::option::Option, + ) -> Self { + self.telemetry_endpoint = inp; + self + } + /// Consumes the builder and constructs a [`DiscoverPollEndpointOutput`](crate::output::DiscoverPollEndpointOutput) + pub fn build(self) -> crate::output::DiscoverPollEndpointOutput { + crate::output::DiscoverPollEndpointOutput { + endpoint: self.endpoint, + telemetry_endpoint: self.telemetry_endpoint, + } + } + } +} +impl DiscoverPollEndpointOutput { + /// Creates a new builder-style object to manufacture [`DiscoverPollEndpointOutput`](crate::output::DiscoverPollEndpointOutput) + pub fn builder() -> crate::output::discover_poll_endpoint_output::Builder { + crate::output::discover_poll_endpoint_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskSetsOutput { + ///

      The list of task sets described.

      + pub task_sets: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskSetsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskSetsOutput"); + formatter.field("task_sets", &self.task_sets); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`DescribeTaskSetsOutput`](crate::output::DescribeTaskSetsOutput) +pub mod describe_task_sets_output { + /// A builder for [`DescribeTaskSetsOutput`](crate::output::DescribeTaskSetsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_sets: std::option::Option>, + pub(crate) failures: std::option::Option>, + } + impl Builder { + pub fn task_sets(mut self, inp: impl Into) -> Self { + let mut v = self.task_sets.unwrap_or_default(); + v.push(inp.into()); + self.task_sets = Some(v); + self + } + pub fn set_task_sets( + mut self, + inp: std::option::Option>, + ) -> Self { + self.task_sets = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`DescribeTaskSetsOutput`](crate::output::DescribeTaskSetsOutput) + pub fn build(self) -> crate::output::DescribeTaskSetsOutput { + crate::output::DescribeTaskSetsOutput { + task_sets: self.task_sets, + failures: self.failures, + } + } + } +} +impl DescribeTaskSetsOutput { + /// Creates a new builder-style object to manufacture [`DescribeTaskSetsOutput`](crate::output::DescribeTaskSetsOutput) + pub fn builder() -> crate::output::describe_task_sets_output::Builder { + crate::output::describe_task_sets_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTasksOutput { + ///

      The list of tasks.

      + pub tasks: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeTasksOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTasksOutput"); + formatter.field("tasks", &self.tasks); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`DescribeTasksOutput`](crate::output::DescribeTasksOutput) +pub mod describe_tasks_output { + /// A builder for [`DescribeTasksOutput`](crate::output::DescribeTasksOutput) + #[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) failures: std::option::Option>, + } + impl Builder { + pub fn tasks(mut self, inp: impl Into) -> Self { + let mut v = self.tasks.unwrap_or_default(); + v.push(inp.into()); + self.tasks = Some(v); + self + } + pub fn set_tasks( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tasks = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`DescribeTasksOutput`](crate::output::DescribeTasksOutput) + pub fn build(self) -> crate::output::DescribeTasksOutput { + crate::output::DescribeTasksOutput { + tasks: self.tasks, + failures: self.failures, + } + } + } +} +impl DescribeTasksOutput { + /// Creates a new builder-style object to manufacture [`DescribeTasksOutput`](crate::output::DescribeTasksOutput) + pub fn builder() -> crate::output::describe_tasks_output::Builder { + crate::output::describe_tasks_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskDefinitionOutput { + ///

      The full task definition description.

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

      The metadata that is applied to the task definition to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskDefinitionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskDefinitionOutput"); + formatter.field("task_definition", &self.task_definition); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`DescribeTaskDefinitionOutput`](crate::output::DescribeTaskDefinitionOutput) +pub mod describe_task_definition_output { + /// A builder for [`DescribeTaskDefinitionOutput`](crate::output::DescribeTaskDefinitionOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

      The full task definition description.

      + pub fn task_definition(mut self, inp: crate::model::TaskDefinition) -> Self { + self.task_definition = Some(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + pub fn tags(mut self, inp: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(inp.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`DescribeTaskDefinitionOutput`](crate::output::DescribeTaskDefinitionOutput) + pub fn build(self) -> crate::output::DescribeTaskDefinitionOutput { + crate::output::DescribeTaskDefinitionOutput { + task_definition: self.task_definition, + tags: self.tags, + } + } + } +} +impl DescribeTaskDefinitionOutput { + /// Creates a new builder-style object to manufacture [`DescribeTaskDefinitionOutput`](crate::output::DescribeTaskDefinitionOutput) + pub fn builder() -> crate::output::describe_task_definition_output::Builder { + crate::output::describe_task_definition_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeServicesOutput { + ///

      The list of services described.

      + pub services: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeServicesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeServicesOutput"); + formatter.field("services", &self.services); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`DescribeServicesOutput`](crate::output::DescribeServicesOutput) +pub mod describe_services_output { + /// A builder for [`DescribeServicesOutput`](crate::output::DescribeServicesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) services: std::option::Option>, + pub(crate) failures: std::option::Option>, + } + impl Builder { + pub fn services(mut self, inp: impl Into) -> Self { + let mut v = self.services.unwrap_or_default(); + v.push(inp.into()); + self.services = Some(v); + self + } + pub fn set_services( + mut self, + inp: std::option::Option>, + ) -> Self { + self.services = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`DescribeServicesOutput`](crate::output::DescribeServicesOutput) + pub fn build(self) -> crate::output::DescribeServicesOutput { + crate::output::DescribeServicesOutput { + services: self.services, + failures: self.failures, + } + } + } +} +impl DescribeServicesOutput { + /// Creates a new builder-style object to manufacture [`DescribeServicesOutput`](crate::output::DescribeServicesOutput) + pub fn builder() -> crate::output::describe_services_output::Builder { + crate::output::describe_services_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeContainerInstancesOutput { + ///

      The list of container instances.

      + pub container_instances: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeContainerInstancesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeContainerInstancesOutput"); + formatter.field("container_instances", &self.container_instances); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`DescribeContainerInstancesOutput`](crate::output::DescribeContainerInstancesOutput) +pub mod describe_container_instances_output { + /// A builder for [`DescribeContainerInstancesOutput`](crate::output::DescribeContainerInstancesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instances: + std::option::Option>, + pub(crate) failures: std::option::Option>, + } + impl Builder { + pub fn container_instances( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.container_instances.unwrap_or_default(); + v.push(inp.into()); + self.container_instances = Some(v); + self + } + pub fn set_container_instances( + mut self, + inp: std::option::Option>, + ) -> Self { + self.container_instances = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`DescribeContainerInstancesOutput`](crate::output::DescribeContainerInstancesOutput) + pub fn build(self) -> crate::output::DescribeContainerInstancesOutput { + crate::output::DescribeContainerInstancesOutput { + container_instances: self.container_instances, + failures: self.failures, + } + } + } +} +impl DescribeContainerInstancesOutput { + /// Creates a new builder-style object to manufacture [`DescribeContainerInstancesOutput`](crate::output::DescribeContainerInstancesOutput) + pub fn builder() -> crate::output::describe_container_instances_output::Builder { + crate::output::describe_container_instances_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeClustersOutput { + ///

      The list of clusters.

      + pub clusters: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeClustersOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeClustersOutput"); + formatter.field("clusters", &self.clusters); + formatter.field("failures", &self.failures); + formatter.finish() + } +} +/// See [`DescribeClustersOutput`](crate::output::DescribeClustersOutput) +pub mod describe_clusters_output { + /// A builder for [`DescribeClustersOutput`](crate::output::DescribeClustersOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) clusters: std::option::Option>, + pub(crate) failures: std::option::Option>, + } + impl Builder { + pub fn clusters(mut self, inp: impl Into) -> Self { + let mut v = self.clusters.unwrap_or_default(); + v.push(inp.into()); + self.clusters = Some(v); + self + } + pub fn set_clusters( + mut self, + inp: std::option::Option>, + ) -> Self { + self.clusters = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + /// Consumes the builder and constructs a [`DescribeClustersOutput`](crate::output::DescribeClustersOutput) + pub fn build(self) -> crate::output::DescribeClustersOutput { + crate::output::DescribeClustersOutput { + clusters: self.clusters, + failures: self.failures, + } + } + } +} +impl DescribeClustersOutput { + /// Creates a new builder-style object to manufacture [`DescribeClustersOutput`](crate::output::DescribeClustersOutput) + pub fn builder() -> crate::output::describe_clusters_output::Builder { + crate::output::describe_clusters_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeCapacityProvidersOutput { + ///

      The list of capacity providers.

      + pub capacity_providers: std::option::Option>, + ///

      Any failures associated with the call.

      + pub failures: std::option::Option>, + ///

      The nextToken value to include in a future + /// DescribeCapacityProviders request. When the results of a + /// DescribeCapacityProviders request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + pub next_token: std::option::Option, +} +impl std::fmt::Debug for DescribeCapacityProvidersOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeCapacityProvidersOutput"); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field("failures", &self.failures); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`DescribeCapacityProvidersOutput`](crate::output::DescribeCapacityProvidersOutput) +pub mod describe_capacity_providers_output { + /// A builder for [`DescribeCapacityProvidersOutput`](crate::output::DescribeCapacityProvidersOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_providers: + std::option::Option>, + pub(crate) failures: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn capacity_providers( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.capacity_providers.unwrap_or_default(); + v.push(inp.into()); + self.capacity_providers = Some(v); + self + } + pub fn set_capacity_providers( + mut self, + inp: std::option::Option>, + ) -> Self { + self.capacity_providers = inp; + self + } + pub fn failures(mut self, inp: impl Into) -> Self { + let mut v = self.failures.unwrap_or_default(); + v.push(inp.into()); + self.failures = Some(v); + self + } + pub fn set_failures( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failures = inp; + self + } + ///

      The nextToken value to include in a future + /// DescribeCapacityProviders request. When the results of a + /// DescribeCapacityProviders request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`DescribeCapacityProvidersOutput`](crate::output::DescribeCapacityProvidersOutput) + pub fn build(self) -> crate::output::DescribeCapacityProvidersOutput { + crate::output::DescribeCapacityProvidersOutput { + capacity_providers: self.capacity_providers, + failures: self.failures, + next_token: self.next_token, + } + } + } +} +impl DescribeCapacityProvidersOutput { + /// Creates a new builder-style object to manufacture [`DescribeCapacityProvidersOutput`](crate::output::DescribeCapacityProvidersOutput) + pub fn builder() -> crate::output::describe_capacity_providers_output::Builder { + crate::output::describe_capacity_providers_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterTaskDefinitionOutput { + ///

      The full description of the deregistered task.

      + pub task_definition: std::option::Option, +} +impl std::fmt::Debug for DeregisterTaskDefinitionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterTaskDefinitionOutput"); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} +/// See [`DeregisterTaskDefinitionOutput`](crate::output::DeregisterTaskDefinitionOutput) +pub mod deregister_task_definition_output { + /// A builder for [`DeregisterTaskDefinitionOutput`](crate::output::DeregisterTaskDefinitionOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_definition: std::option::Option, + } + impl Builder { + ///

      The full description of the deregistered task.

      + pub fn task_definition(mut self, inp: crate::model::TaskDefinition) -> Self { + self.task_definition = Some(inp); + self + } + pub fn set_task_definition( + mut self, + inp: std::option::Option, + ) -> Self { + self.task_definition = inp; + self + } + /// Consumes the builder and constructs a [`DeregisterTaskDefinitionOutput`](crate::output::DeregisterTaskDefinitionOutput) + pub fn build(self) -> crate::output::DeregisterTaskDefinitionOutput { + crate::output::DeregisterTaskDefinitionOutput { + task_definition: self.task_definition, + } + } + } +} +impl DeregisterTaskDefinitionOutput { + /// Creates a new builder-style object to manufacture [`DeregisterTaskDefinitionOutput`](crate::output::DeregisterTaskDefinitionOutput) + pub fn builder() -> crate::output::deregister_task_definition_output::Builder { + crate::output::deregister_task_definition_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterContainerInstanceOutput { + ///

      The container instance that was deregistered.

      + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for DeregisterContainerInstanceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterContainerInstanceOutput"); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} +/// See [`DeregisterContainerInstanceOutput`](crate::output::DeregisterContainerInstanceOutput) +pub mod deregister_container_instance_output { + /// A builder for [`DeregisterContainerInstanceOutput`](crate::output::DeregisterContainerInstanceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) container_instance: std::option::Option, + } + impl Builder { + ///

      The container instance that was deregistered.

      + pub fn container_instance(mut self, inp: crate::model::ContainerInstance) -> Self { + self.container_instance = Some(inp); + self + } + pub fn set_container_instance( + mut self, + inp: std::option::Option, + ) -> Self { + self.container_instance = inp; + self + } + /// Consumes the builder and constructs a [`DeregisterContainerInstanceOutput`](crate::output::DeregisterContainerInstanceOutput) + pub fn build(self) -> crate::output::DeregisterContainerInstanceOutput { + crate::output::DeregisterContainerInstanceOutput { + container_instance: self.container_instance, + } + } + } +} +impl DeregisterContainerInstanceOutput { + /// Creates a new builder-style object to manufacture [`DeregisterContainerInstanceOutput`](crate::output::DeregisterContainerInstanceOutput) + pub fn builder() -> crate::output::deregister_container_instance_output::Builder { + crate::output::deregister_container_instance_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteTaskSetOutput { + ///

      Details about the task set.

      + pub task_set: std::option::Option, +} +impl std::fmt::Debug for DeleteTaskSetOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteTaskSetOutput"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} +/// See [`DeleteTaskSetOutput`](crate::output::DeleteTaskSetOutput) +pub mod delete_task_set_output { + /// A builder for [`DeleteTaskSetOutput`](crate::output::DeleteTaskSetOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_set: std::option::Option, + } + impl Builder { + ///

      Details about the task set.

      + pub fn task_set(mut self, inp: crate::model::TaskSet) -> Self { + self.task_set = Some(inp); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.task_set = inp; + self + } + /// Consumes the builder and constructs a [`DeleteTaskSetOutput`](crate::output::DeleteTaskSetOutput) + pub fn build(self) -> crate::output::DeleteTaskSetOutput { + crate::output::DeleteTaskSetOutput { + task_set: self.task_set, + } + } + } +} +impl DeleteTaskSetOutput { + /// Creates a new builder-style object to manufacture [`DeleteTaskSetOutput`](crate::output::DeleteTaskSetOutput) + pub fn builder() -> crate::output::delete_task_set_output::Builder { + crate::output::delete_task_set_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteServiceOutput { + ///

      The full description of the deleted service.

      + pub service: std::option::Option, +} +impl std::fmt::Debug for DeleteServiceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteServiceOutput"); + formatter.field("service", &self.service); + formatter.finish() + } +} +/// See [`DeleteServiceOutput`](crate::output::DeleteServiceOutput) +pub mod delete_service_output { + /// A builder for [`DeleteServiceOutput`](crate::output::DeleteServiceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) service: std::option::Option, + } + impl Builder { + ///

      The full description of the deleted service.

      + pub fn service(mut self, inp: crate::model::Service) -> Self { + self.service = Some(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + /// Consumes the builder and constructs a [`DeleteServiceOutput`](crate::output::DeleteServiceOutput) + pub fn build(self) -> crate::output::DeleteServiceOutput { + crate::output::DeleteServiceOutput { + service: self.service, + } + } + } +} +impl DeleteServiceOutput { + /// Creates a new builder-style object to manufacture [`DeleteServiceOutput`](crate::output::DeleteServiceOutput) + pub fn builder() -> crate::output::delete_service_output::Builder { + crate::output::delete_service_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteClusterOutput { + ///

      The full description of the deleted cluster.

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for DeleteClusterOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteClusterOutput"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} +/// See [`DeleteClusterOutput`](crate::output::DeleteClusterOutput) +pub mod delete_cluster_output { + /// A builder for [`DeleteClusterOutput`](crate::output::DeleteClusterOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + } + impl Builder { + ///

      The full description of the deleted cluster.

      + pub fn cluster(mut self, inp: crate::model::Cluster) -> Self { + self.cluster = Some(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`DeleteClusterOutput`](crate::output::DeleteClusterOutput) + pub fn build(self) -> crate::output::DeleteClusterOutput { + crate::output::DeleteClusterOutput { + cluster: self.cluster, + } + } + } +} +impl DeleteClusterOutput { + /// Creates a new builder-style object to manufacture [`DeleteClusterOutput`](crate::output::DeleteClusterOutput) + pub fn builder() -> crate::output::delete_cluster_output::Builder { + crate::output::delete_cluster_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCapacityProviderOutput { + ///

      The details of the capacity provider.

      + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for DeleteCapacityProviderOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCapacityProviderOutput"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} +/// See [`DeleteCapacityProviderOutput`](crate::output::DeleteCapacityProviderOutput) +pub mod delete_capacity_provider_output { + /// A builder for [`DeleteCapacityProviderOutput`](crate::output::DeleteCapacityProviderOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider: std::option::Option, + } + impl Builder { + ///

      The details of the capacity provider.

      + pub fn capacity_provider(mut self, inp: crate::model::CapacityProvider) -> Self { + self.capacity_provider = Some(inp); + self + } + pub fn set_capacity_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider = inp; + self + } + /// Consumes the builder and constructs a [`DeleteCapacityProviderOutput`](crate::output::DeleteCapacityProviderOutput) + pub fn build(self) -> crate::output::DeleteCapacityProviderOutput { + crate::output::DeleteCapacityProviderOutput { + capacity_provider: self.capacity_provider, + } + } + } +} +impl DeleteCapacityProviderOutput { + /// Creates a new builder-style object to manufacture [`DeleteCapacityProviderOutput`](crate::output::DeleteCapacityProviderOutput) + pub fn builder() -> crate::output::delete_capacity_provider_output::Builder { + crate::output::delete_capacity_provider_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAttributesOutput { + ///

      A list of attribute objects that were successfully deleted from your resource.

      + pub attributes: std::option::Option>, +} +impl std::fmt::Debug for DeleteAttributesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAttributesOutput"); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} +/// See [`DeleteAttributesOutput`](crate::output::DeleteAttributesOutput) +pub mod delete_attributes_output { + /// A builder for [`DeleteAttributesOutput`](crate::output::DeleteAttributesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attributes: std::option::Option>, + } + impl Builder { + pub fn attributes(mut self, inp: impl Into) -> Self { + let mut v = self.attributes.unwrap_or_default(); + v.push(inp.into()); + self.attributes = Some(v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`DeleteAttributesOutput`](crate::output::DeleteAttributesOutput) + pub fn build(self) -> crate::output::DeleteAttributesOutput { + crate::output::DeleteAttributesOutput { + attributes: self.attributes, + } + } + } +} +impl DeleteAttributesOutput { + /// Creates a new builder-style object to manufacture [`DeleteAttributesOutput`](crate::output::DeleteAttributesOutput) + pub fn builder() -> crate::output::delete_attributes_output::Builder { + crate::output::delete_attributes_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAccountSettingOutput { + ///

      The account setting for the specified principal ARN.

      + pub setting: std::option::Option, +} +impl std::fmt::Debug for DeleteAccountSettingOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAccountSettingOutput"); + formatter.field("setting", &self.setting); + formatter.finish() + } +} +/// See [`DeleteAccountSettingOutput`](crate::output::DeleteAccountSettingOutput) +pub mod delete_account_setting_output { + /// A builder for [`DeleteAccountSettingOutput`](crate::output::DeleteAccountSettingOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) setting: std::option::Option, + } + impl Builder { + ///

      The account setting for the specified principal ARN.

      + pub fn setting(mut self, inp: crate::model::Setting) -> Self { + self.setting = Some(inp); + self + } + pub fn set_setting(mut self, inp: std::option::Option) -> Self { + self.setting = inp; + self + } + /// Consumes the builder and constructs a [`DeleteAccountSettingOutput`](crate::output::DeleteAccountSettingOutput) + pub fn build(self) -> crate::output::DeleteAccountSettingOutput { + crate::output::DeleteAccountSettingOutput { + setting: self.setting, + } + } + } +} +impl DeleteAccountSettingOutput { + /// Creates a new builder-style object to manufacture [`DeleteAccountSettingOutput`](crate::output::DeleteAccountSettingOutput) + pub fn builder() -> crate::output::delete_account_setting_output::Builder { + crate::output::delete_account_setting_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateTaskSetOutput { + ///

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an + /// EXTERNAL deployment. A task set includes details such as the desired + /// number of tasks, how many tasks are running, and whether the task set serves production + /// traffic.

      + pub task_set: std::option::Option, +} +impl std::fmt::Debug for CreateTaskSetOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateTaskSetOutput"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} +/// See [`CreateTaskSetOutput`](crate::output::CreateTaskSetOutput) +pub mod create_task_set_output { + /// A builder for [`CreateTaskSetOutput`](crate::output::CreateTaskSetOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_set: std::option::Option, + } + impl Builder { + ///

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an + /// EXTERNAL deployment. A task set includes details such as the desired + /// number of tasks, how many tasks are running, and whether the task set serves production + /// traffic.

      + pub fn task_set(mut self, inp: crate::model::TaskSet) -> Self { + self.task_set = Some(inp); + self + } + pub fn set_task_set(mut self, inp: std::option::Option) -> Self { + self.task_set = inp; + self + } + /// Consumes the builder and constructs a [`CreateTaskSetOutput`](crate::output::CreateTaskSetOutput) + pub fn build(self) -> crate::output::CreateTaskSetOutput { + crate::output::CreateTaskSetOutput { + task_set: self.task_set, + } + } + } +} +impl CreateTaskSetOutput { + /// Creates a new builder-style object to manufacture [`CreateTaskSetOutput`](crate::output::CreateTaskSetOutput) + pub fn builder() -> crate::output::create_task_set_output::Builder { + crate::output::create_task_set_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateServiceOutput { + ///

      The full description of your service following the create call.

      + ///

      If a service is using the ECS deployment controller, the + /// deploymentController and taskSets parameters will not be + /// returned.

      + ///

      If the service is using the CODE_DEPLOY deployment controller, the + /// deploymentController, taskSets and + /// deployments parameters will be returned, however the + /// deployments parameter will be an empty list.

      + pub service: std::option::Option, +} +impl std::fmt::Debug for CreateServiceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateServiceOutput"); + formatter.field("service", &self.service); + formatter.finish() + } +} +/// See [`CreateServiceOutput`](crate::output::CreateServiceOutput) +pub mod create_service_output { + /// A builder for [`CreateServiceOutput`](crate::output::CreateServiceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) service: std::option::Option, + } + impl Builder { + ///

      The full description of your service following the create call.

      + ///

      If a service is using the ECS deployment controller, the + /// deploymentController and taskSets parameters will not be + /// returned.

      + ///

      If the service is using the CODE_DEPLOY deployment controller, the + /// deploymentController, taskSets and + /// deployments parameters will be returned, however the + /// deployments parameter will be an empty list.

      + pub fn service(mut self, inp: crate::model::Service) -> Self { + self.service = Some(inp); + self + } + pub fn set_service(mut self, inp: std::option::Option) -> Self { + self.service = inp; + self + } + /// Consumes the builder and constructs a [`CreateServiceOutput`](crate::output::CreateServiceOutput) + pub fn build(self) -> crate::output::CreateServiceOutput { + crate::output::CreateServiceOutput { + service: self.service, + } + } + } +} +impl CreateServiceOutput { + /// Creates a new builder-style object to manufacture [`CreateServiceOutput`](crate::output::CreateServiceOutput) + pub fn builder() -> crate::output::create_service_output::Builder { + crate::output::create_service_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateClusterOutput { + ///

      The full description of your new cluster.

      + pub cluster: std::option::Option, +} +impl std::fmt::Debug for CreateClusterOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateClusterOutput"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} +/// See [`CreateClusterOutput`](crate::output::CreateClusterOutput) +pub mod create_cluster_output { + /// A builder for [`CreateClusterOutput`](crate::output::CreateClusterOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) cluster: std::option::Option, + } + impl Builder { + ///

      The full description of your new cluster.

      + pub fn cluster(mut self, inp: crate::model::Cluster) -> Self { + self.cluster = Some(inp); + self + } + pub fn set_cluster(mut self, inp: std::option::Option) -> Self { + self.cluster = inp; + self + } + /// Consumes the builder and constructs a [`CreateClusterOutput`](crate::output::CreateClusterOutput) + pub fn build(self) -> crate::output::CreateClusterOutput { + crate::output::CreateClusterOutput { + cluster: self.cluster, + } + } + } +} +impl CreateClusterOutput { + /// Creates a new builder-style object to manufacture [`CreateClusterOutput`](crate::output::CreateClusterOutput) + pub fn builder() -> crate::output::create_cluster_output::Builder { + crate::output::create_cluster_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateCapacityProviderOutput { + ///

      The full description of the new capacity provider.

      + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for CreateCapacityProviderOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateCapacityProviderOutput"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} +/// See [`CreateCapacityProviderOutput`](crate::output::CreateCapacityProviderOutput) +pub mod create_capacity_provider_output { + /// A builder for [`CreateCapacityProviderOutput`](crate::output::CreateCapacityProviderOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) capacity_provider: std::option::Option, + } + impl Builder { + ///

      The full description of the new capacity provider.

      + pub fn capacity_provider(mut self, inp: crate::model::CapacityProvider) -> Self { + self.capacity_provider = Some(inp); + self + } + pub fn set_capacity_provider( + mut self, + inp: std::option::Option, + ) -> Self { + self.capacity_provider = inp; + self + } + /// Consumes the builder and constructs a [`CreateCapacityProviderOutput`](crate::output::CreateCapacityProviderOutput) + pub fn build(self) -> crate::output::CreateCapacityProviderOutput { + crate::output::CreateCapacityProviderOutput { + capacity_provider: self.capacity_provider, + } + } + } +} +impl CreateCapacityProviderOutput { + /// Creates a new builder-style object to manufacture [`CreateCapacityProviderOutput`](crate::output::CreateCapacityProviderOutput) + pub fn builder() -> crate::output::create_capacity_provider_output::Builder { + crate::output::create_capacity_provider_output::Builder::default() + } +} diff --git a/sdk/ecs/src/serde_util.rs b/sdk/ecs/src/serde_util.rs new file mode 100644 index 000000000000..df4f10659097 --- /dev/null +++ b/sdk/ecs/src/serde_util.rs @@ -0,0 +1,13 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( + _deser: D, +) -> Result, D::Error> +where + D: serde::Deserializer<'de>, +{ + use serde::Deserialize; + Ok( + std::option::Option::::deserialize(_deser)? + .map(|el| el.0), + ) +} diff --git a/sdk/ecs/src/serializer.rs b/sdk/ecs/src/serializer.rs new file mode 100644 index 000000000000..489757374a03 --- /dev/null +++ b/sdk/ecs/src/serializer.rs @@ -0,0 +1,3606 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateCapacityProviderInputBody<'a> { + ///

      The name of the capacity provider. Up to 255 characters are allowed, including letters + /// (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed + /// with "aws", "ecs", or "fargate".

      + pub name: &'a std::option::Option, + ///

      The details of the Auto Scaling group for the capacity provider.

      + pub auto_scaling_group_provider: + &'a std::option::Option, + ///

      The metadata that you apply to the capacity provider to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for CreateCapacityProviderInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateCapacityProviderInputBody"); + formatter.field("name", &self.name); + formatter.field( + "auto_scaling_group_provider", + &self.auto_scaling_group_provider, + ); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateClusterInputBody<'a> { + ///

      The name of your cluster. If you do not specify a name for your cluster, you create a + /// cluster named default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

      + pub cluster_name: &'a std::option::Option, + ///

      The metadata that you apply to the cluster to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, + ///

      The setting to use when creating a cluster. This parameter is used to enable CloudWatch + /// Container Insights for a cluster. If this value is specified, it will override the + /// containerInsights value set with PutAccountSetting or + /// PutAccountSettingDefault.

      + pub settings: &'a std::option::Option>, + ///

      The execute command configuration for the cluster.

      + pub configuration: &'a std::option::Option, + ///

      The short name of one or more capacity providers to associate with the cluster. A + /// capacity provider must be associated with a cluster before it can be included as part of + /// the default capacity provider strategy of the cluster or used in a capacity provider + /// strategy when calling the CreateService or RunTask + /// actions.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created and not already associated with another cluster. New + /// Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + pub capacity_providers: &'a 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 + /// 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, + /// it can be defined later with the PutClusterCapacityProviders API + /// operation.

      + pub default_capacity_provider_strategy: + &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for CreateClusterInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateClusterInputBody"); + formatter.field("cluster_name", &self.cluster_name); + formatter.field("tags", &self.tags); + formatter.field("settings", &self.settings); + formatter.field("configuration", &self.configuration); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field( + "default_capacity_provider_strategy", + &self.default_capacity_provider_strategy, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateServiceInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a 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 + /// Region or across multiple Regions.

      + pub service_name: &'a std::option::Option, + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used.

      + ///

      A task definition must be specified if the service is using either the + /// ECS or CODE_DEPLOY deployment controllers.

      + pub task_definition: &'a std::option::Option, + ///

      A load balancer object representing the load balancers to use with your service. For + /// more information, see Service Load Balancing in the + /// Amazon Elastic Container Service Developer Guide.

      + ///

      If the service is using the rolling update (ECS) deployment controller + /// and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to + /// attach to the service. The service-linked role is required for services that make use of + /// multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///

      If the service is using the CODE_DEPLOY deployment controller, the + /// service is required to use either an Application Load Balancer or Network Load Balancer. When creating an AWS CodeDeploy deployment + /// group, you specify two target groups (referred to as a targetGroupPair). + /// During a deployment, AWS CodeDeploy determines which task set in your service has the status + /// PRIMARY and associates one target group with it, and then associates + /// the other target group with the replacement task set. The load balancer can also have up + /// to two listeners: a required listener for production traffic and an optional listener + /// that allows you perform validation tests with Lambda functions before routing production + /// traffic to it.

      + ///

      After you create a service using the ECS deployment controller, the load + /// balancer name or target group ARN, container name, and container port specified in the + /// service definition are immutable. If you are using the CODE_DEPLOY + /// deployment controller, these values can be changed when updating the service.

      + ///

      For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, + /// the container name (as it appears in a container definition), and the container port to + /// access from the load balancer. The load balancer name parameter must be omitted. When a + /// task from this service is placed on a container instance, the container instance and + /// port combination is registered as a target in the target group specified here.

      + ///

      For Classic Load Balancers, this object must contain the load balancer name, the container name (as it + /// appears in a container definition), and the container port to access from the load + /// balancer. The target group ARN parameter must be omitted. When a task from this service + /// is placed on a container instance, the container instance is registered with the load + /// balancer specified here.

      + ///

      Services with tasks that use the awsvpc network mode (for example, those + /// with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are + /// not supported. Also, when you create any target groups for these services, you must + /// choose ip as the target type, not instance, because tasks that + /// use the awsvpc network mode are associated with an elastic network + /// interface, not an Amazon EC2 instance.

      + pub load_balancers: &'a std::option::Option>, + ///

      The details of the service discovery registry to associate with this service. For more + /// information, see Service + /// discovery.

      + /// + ///

      Each service may be associated with one service registry. Multiple service + /// registries per service isn't supported.

      + ///
      + pub service_registries: &'a std::option::Option>, + ///

      The number of instantiations of the specified task definition to place and keep + /// running on your cluster.

      + ///

      This is required if schedulingStrategy is REPLICA or is not + /// specified. If schedulingStrategy is DAEMON then this is not + /// required.

      + pub desired_count: &'a std::option::Option, + ///

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

      + pub client_token: &'a std::option::Option, + ///

      The infrastructure on which to run your service. For more information, see Amazon ECS + /// launch types in the Amazon Elastic Container Service Developer Guide.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A service can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub launch_type: &'a std::option::Option, + ///

      The capacity provider strategy to use for the service.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + pub capacity_provider_strategy: + &'a std::option::Option>, + ///

      The platform version that your tasks in the service are running on. A platform version + /// is specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default. For more + /// information, see AWS Fargate platform + /// versions in the Amazon Elastic Container Service Developer Guide.

      + pub platform_version: &'a std::option::Option, + ///

      The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your + /// load balancer on your behalf. This parameter is only permitted if you are using a load + /// balancer with your service and your task definition does not use the awsvpc + /// network mode. If you specify the role parameter, you must also specify a + /// load balancer object with the loadBalancers parameter.

      + /// + ///

      If your account has already created the Amazon ECS service-linked role, that role is + /// used by default for your service unless you specify a role here. The service-linked + /// role is required if your task definition uses the awsvpc network mode + /// or if the service is configured to use service discovery, an external deployment + /// controller, multiple target groups, or Elastic Inference accelerators in which case + /// you should not specify a role here. For more information, see Using + /// service-linked roles for Amazon ECS in the + /// Amazon Elastic Container Service Developer Guide.

      + ///
      + ///

      If your specified role has a path other than /, then you must either + /// specify the full role ARN (this is recommended) or prefix the role name with the path. + /// For example, if a role with the name bar has a path of /foo/ + /// then you would specify /foo/bar as the role name. For more information, see + /// Friendly names and paths in the IAM User Guide.

      + pub role: &'a std::option::Option, + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub deployment_configuration: &'a 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).

      + pub placement_constraints: + &'a 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.

      + pub placement_strategy: &'a 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 + /// network interface, and it is not supported for other network modes. For more + /// information, see Task networking + /// in the Amazon Elastic Container Service Developer Guide.

      + pub network_configuration: &'a std::option::Option, + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used + /// when your service is configured to use a load balancer. If your service has a load + /// balancer defined and you don't specify a health check grace period value, the default + /// value of 0 is used.

      + ///

      If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you + /// can specify a health check grace period of up to 2,147,483,647 seconds. During that + /// time, the Amazon ECS service scheduler ignores health check status. This grace period can + /// prevent the service scheduler from marking tasks as unhealthy and stopping them before + /// they have time to come up.

      + pub health_check_grace_period_seconds: &'a std::option::Option, + ///

      The scheduling strategy to use for the service. For more information, see Services.

      + ///

      There are two service scheduler strategies available:

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

        + /// REPLICA-The replica scheduling strategy places and + /// maintains the desired number of tasks across your cluster. By default, the + /// service scheduler spreads tasks across Availability Zones. You can use task + /// placement strategies and constraints to customize task placement decisions. This + /// scheduler strategy is required if the service is using the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types.

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

        + /// DAEMON-The daemon scheduling strategy deploys exactly one + /// task on each active container instance that meets all of the task placement + /// constraints that you specify in your cluster. The service scheduler also + /// evaluates the task placement constraints for running tasks and will stop tasks + /// that do not meet the placement constraints. When you're using this strategy, you + /// don't need to specify a desired number of tasks, a task placement strategy, or + /// use Service Auto Scaling policies.

        + /// + ///

        Tasks using the Fargate launch type or the + /// CODE_DEPLOY or EXTERNAL deployment controller + /// types don't support the DAEMON scheduling strategy.

        + ///
        + ///
      • + ///
      + pub scheduling_strategy: &'a std::option::Option, + ///

      The deployment controller to use for the service. If no deployment controller is + /// specified, the default value of ECS is used.

      + pub deployment_controller: &'a std::option::Option, + ///

      The metadata that you apply to the service to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define. When a + /// service is deleted, the tags are deleted as well.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, + ///

      Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For + /// more information, see Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub enable_ecs_managed_tags: &'a bool, + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// tasks in the service. If no value is specified, the tags are not propagated. Tags can + /// only be propagated to the tasks within the service during service creation. To add tags + /// to a task after service creation, use the TagResource API + /// action.

      + pub propagate_tags: &'a std::option::Option, + ///

      Whether or not the execute command functionality is enabled for the service. If + /// true, this enables execute command functionality on all containers in + /// the service tasks.

      + pub enable_execute_command: &'a bool, +} +impl<'a> std::fmt::Debug for CreateServiceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateServiceInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service_name", &self.service_name); + formatter.field("task_definition", &self.task_definition); + formatter.field("load_balancers", &self.load_balancers); + formatter.field("service_registries", &self.service_registries); + formatter.field("desired_count", &self.desired_count); + formatter.field("client_token", &self.client_token); + formatter.field("launch_type", &self.launch_type); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("platform_version", &self.platform_version); + formatter.field("role", &self.role); + formatter.field("deployment_configuration", &self.deployment_configuration); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("network_configuration", &self.network_configuration); + formatter.field( + "health_check_grace_period_seconds", + &self.health_check_grace_period_seconds, + ); + formatter.field("scheduling_strategy", &self.scheduling_strategy); + formatter.field("deployment_controller", &self.deployment_controller); + formatter.field("tags", &self.tags); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateTaskSetInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

      + pub service: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the + /// task set in.

      + pub cluster: &'a std::option::Option, + ///

      An optional non-unique tag that identifies this task set in external systems. If the + /// task set is associated with a service discovery registry, the tasks in this task set + /// will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided + /// value.

      + pub external_id: &'a std::option::Option, + ///

      The task definition for the tasks in the task set to use.

      + pub task_definition: &'a std::option::Option, + ///

      An object representing the network configuration for a task set.

      + pub network_configuration: &'a std::option::Option, + ///

      A load balancer object representing the load balancer to use with the task set. The + /// supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

      + pub load_balancers: &'a std::option::Option>, + ///

      The details of the service discovery registries to assign to this task set. For more + /// information, see Service + /// Discovery.

      + pub service_registries: &'a std::option::Option>, + ///

      The launch type that new tasks in the task set will use. For more information, see + /// Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

      + ///

      If a launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub launch_type: &'a std::option::Option, + ///

      The capacity provider strategy to use for the task set.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + pub capacity_provider_strategy: + &'a std::option::Option>, + ///

      The platform version that the tasks in the task set should use. A platform version is + /// specified only for tasks using the Fargate launch type. If one isn't + /// specified, the LATEST platform version is used by default.

      + pub platform_version: &'a std::option::Option, + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub scale: &'a std::option::Option, + ///

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 32 ASCII characters are allowed.

      + pub client_token: &'a std::option::Option, + ///

      The metadata that you apply to the task set to help you categorize and organize them. + /// Each tag consists of a key and an optional value, both of which you define. When a + /// service is deleted, the tags are deleted as well.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for CreateTaskSetInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateTaskSetInputBody"); + formatter.field("service", &self.service); + formatter.field("cluster", &self.cluster); + formatter.field("external_id", &self.external_id); + formatter.field("task_definition", &self.task_definition); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("load_balancers", &self.load_balancers); + formatter.field("service_registries", &self.service_registries); + formatter.field("launch_type", &self.launch_type); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("platform_version", &self.platform_version); + formatter.field("scale", &self.scale); + formatter.field("client_token", &self.client_token); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAccountSettingInputBody<'a> { + ///

      The resource name for which to disable the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected.

      + pub name: &'a std::option::Option, + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it disables the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + pub principal_arn: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeleteAccountSettingInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAccountSettingInputBody"); + formatter.field("name", &self.name); + formatter.field("principal_arn", &self.principal_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAttributesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete + /// attributes. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The attributes to delete from your resource. You can specify up to 10 attributes per + /// request. For custom attributes, specify the attribute name and target ID, but do not + /// specify the value. If you specify the target ID using the short form, you must also + /// specify the target type.

      + pub attributes: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DeleteAttributesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAttributesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCapacityProviderInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

      + pub capacity_provider: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeleteCapacityProviderInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCapacityProviderInputBody"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteClusterInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to delete.

      + pub cluster: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeleteClusterInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteClusterInputBody"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteServiceInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The name of the service to delete.

      + pub service: &'a std::option::Option, + ///

      If true, allows you to delete a service even if it has not been scaled + /// down to zero tasks. It is only necessary to use this if the service is using the + /// REPLICA scheduling strategy.

      + pub force: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeleteServiceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteServiceInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("force", &self.force); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteTaskSetInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in to delete.

      + pub cluster: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to + /// delete.

      + pub service: &'a std::option::Option, + ///

      The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

      + pub task_set: &'a std::option::Option, + ///

      If true, this allows you to delete a task set even if it hasn't been + /// scaled down to zero.

      + pub force: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeleteTaskSetInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteTaskSetInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("task_set", &self.task_set); + formatter.field("force", &self.force); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterContainerInstanceInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// deregister. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a 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 AWS 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: &'a 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 + /// tasks remain running until you terminate the instance or the tasks stop through some + /// other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If + /// an orphaned task on your container instance is part of an Amazon ECS service, then the + /// service scheduler starts another copy of that task, on a different container instance if + /// possible.

      + ///

      Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer + /// target group are deregistered. They begin connection draining according to the settings + /// on the load balancer or target group.

      + pub force: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeregisterContainerInstanceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterContainerInstanceInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instance", &self.container_instance); + formatter.field("force", &self.force); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterTaskDefinitionInputBody<'a> { + ///

      The family and revision (family:revision) or + /// full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a + /// revision.

      + pub task_definition: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DeregisterTaskDefinitionInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterTaskDefinitionInputBody"); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeCapacityProvidersInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to + /// 100 capacity providers can be described in an action.

      + pub capacity_providers: &'a std::option::Option>, + ///

      Specifies whether or not you want to see the resource tags for the capacity provider. + /// If TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: &'a std::option::Option>, + ///

      The maximum number of account setting results returned by + /// DescribeCapacityProviders in paginated output. When this parameter is + /// used, DescribeCapacityProviders only returns maxResults + /// results in a single page along with a nextToken response element. The + /// remaining results of the initial request can be seen by sending another + /// DescribeCapacityProviders request with the returned + /// nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then DescribeCapacityProviders returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub max_results: &'a std::option::Option, + ///

      The nextToken value returned from a previous paginated + /// DescribeCapacityProviders request where maxResults was + /// used and the results exceeded the value of that parameter. Pagination continues from the + /// end of the previous results that returned the nextToken value.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DescribeCapacityProvidersInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeCapacityProvidersInputBody"); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field("include", &self.include); + 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 DescribeClustersInputBody<'a> { + ///

      A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub clusters: &'a std::option::Option>, + ///

      Whether to include additional information about your clusters in the response. If this + /// field is omitted, the attachments, statistics, and tags are not included.

      + ///

      If ATTACHMENTS is specified, the attachments for the container instances + /// or tasks within the cluster are included.

      + ///

      If SETTINGS is specified, the settings for the cluster are + /// included.

      + ///

      If STATISTICS is specified, the following additional information, + /// separated by launch type, is included:

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

        runningEC2TasksCount

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

        runningFargateTasksCount

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

        pendingEC2TasksCount

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

        pendingFargateTasksCount

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

        activeEC2ServiceCount

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

        activeFargateServiceCount

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

        drainingEC2ServiceCount

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

        drainingFargateServiceCount

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

      If TAGS is specified, the metadata tags associated with the cluster are + /// included.

      + pub include: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DescribeClustersInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeClustersInputBody"); + formatter.field("clusters", &self.clusters); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeContainerInstancesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance + /// or container instances you are describing were launched in any cluster other than the + /// default cluster.

      + pub cluster: &'a std::option::Option, + ///

      A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

      + pub container_instances: &'a std::option::Option>, + ///

      Specifies whether you want to see the resource tags for the container instance. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DescribeContainerInstancesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeContainerInstancesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instances", &self.container_instances); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeServicesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. + /// If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are + /// describing were launched in any cluster other than the default cluster.

      + pub cluster: &'a std::option::Option, + ///

      A list of services to describe. You may specify up to 10 services to describe in a + /// single operation.

      + pub services: &'a std::option::Option>, + ///

      Specifies whether you want to see the resource tags for the service. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DescribeServicesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeServicesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("services", &self.services); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskDefinitionInputBody<'a> { + ///

      The family for the latest ACTIVE revision, + /// family and revision (family:revision) for a + /// specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to + /// describe.

      + pub task_definition: &'a std::option::Option, + ///

      Specifies whether to see the resource tags for the task definition. If + /// TAGS is specified, the tags are included in the response. If this field + /// is omitted, tags are not included in the response.

      + pub include: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DescribeTaskDefinitionInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskDefinitionInputBody"); + formatter.field("task_definition", &self.task_definition); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTasksInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to + /// describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you + /// are describing were launched in any cluster other than the default cluster.

      + pub cluster: &'a std::option::Option, + ///

      A list of up to 100 task IDs or full ARN entries.

      + pub tasks: &'a std::option::Option>, + ///

      Specifies whether you want to see the resource tags for the task. If TAGS + /// is specified, the tags are included in the response. If this field is omitted, tags are + /// not included in the response.

      + pub include: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DescribeTasksInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTasksInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("tasks", &self.tasks); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskSetsInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// sets exist in.

      + pub cluster: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

      + pub service: &'a std::option::Option, + ///

      The ID or full Amazon Resource Name (ARN) of task sets to + /// describe.

      + pub task_sets: &'a std::option::Option>, + ///

      Specifies whether to see the resource tags for the task set. If TAGS is + /// specified, the tags are included in the response. If this field is omitted, tags are not + /// included in the response.

      + pub include: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for DescribeTaskSetsInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskSetsInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("task_sets", &self.task_sets); + formatter.field("include", &self.include); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DiscoverPollEndpointInputBody<'a> { + ///

      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 AWS 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: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance + /// belongs.

      + pub cluster: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for DiscoverPollEndpointInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DiscoverPollEndpointInputBody"); + formatter.field("container_instance", &self.container_instance); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ExecuteCommandInputBody<'a> { + ///

      The Amazon Resource Name (ARN) or short name of the cluster the task is running in. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The name of the container to execute the command on. A container name only needs to be + /// specified for tasks containing multiple containers.

      + pub container: &'a std::option::Option, + ///

      The command to run on the container.

      + pub command: &'a std::option::Option, + ///

      Use this flag to run your command in interactive mode.

      + pub interactive: &'a bool, + ///

      The Amazon Resource Name (ARN) or ID of the task the container is part of.

      + pub task: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ExecuteCommandInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecuteCommandInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container", &self.container); + formatter.field("command", &self.command); + formatter.field("interactive", &self.interactive); + formatter.field("task", &self.task); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAccountSettingsInputBody<'a> { + ///

      The name of the account setting you want to list the settings for.

      + pub name: &'a std::option::Option, + ///

      The value of the account settings with which to filter results. You must also specify + /// an account setting name to use this parameter.

      + pub value: &'a std::option::Option, + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + /// this field is omitted, the account settings are listed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub principal_arn: &'a std::option::Option, + ///

      Specifies whether to return the effective settings. If true, the account + /// settings for the root user or the default setting for the principalArn are + /// returned. If false, the account settings for the principalArn + /// are returned if they are set. Otherwise, no account settings are returned.

      + pub effective_settings: &'a bool, + ///

      The nextToken value returned from a ListAccountSettings + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of account setting results returned by + /// ListAccountSettings in paginated output. When this parameter is used, + /// ListAccountSettings only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListAccountSettings + /// request with the returned nextToken value. This value can be between + /// 1 and 10. If this + /// parameter is not used, then ListAccountSettings returns up to + /// 10 results and a nextToken value + /// if applicable.

      + pub max_results: &'a i32, +} +impl<'a> std::fmt::Debug for ListAccountSettingsInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAccountSettingsInputBody"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.field("principal_arn", &self.principal_arn); + formatter.field("effective_settings", &self.effective_settings); + 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 ListAttributesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The type of the target with which to list attributes.

      + pub target_type: &'a std::option::Option, + ///

      The name of the attribute with which to filter the results.

      + pub attribute_name: &'a std::option::Option, + ///

      The value of the attribute with which to filter results. You must also specify an + /// attribute name to use this parameter.

      + pub attribute_value: &'a std::option::Option, + ///

      The nextToken value returned from a ListAttributes request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of cluster results returned by ListAttributes in + /// paginated output. When this parameter is used, ListAttributes only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListAttributes request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListAttributes returns up to + /// 100 results and a nextToken value if applicable.

      + pub max_results: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListAttributesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAttributesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("target_type", &self.target_type); + formatter.field("attribute_name", &self.attribute_name); + formatter.field("attribute_value", &self.attribute_value); + 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 ListClustersInputBody<'a> { + ///

      The nextToken value returned from a ListClusters request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of cluster results returned by ListClusters in + /// paginated output. When this parameter is used, ListClusters only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListClusters request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListClusters returns up to + /// 100 results and a nextToken value if applicable.

      + pub max_results: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListClustersInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListClustersInputBody"); + 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 ListContainerInstancesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + /// list. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      You can filter the results of a ListContainerInstances operation with + /// cluster query language statements. For more information, see Cluster Query Language in the + /// Amazon Elastic Container Service Developer Guide.

      + pub filter: &'a std::option::Option, + ///

      The nextToken value returned from a ListContainerInstances + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of container instance results returned by + /// ListContainerInstances in paginated output. When this parameter is + /// used, ListContainerInstances only returns maxResults results + /// in a single page along with a nextToken response element. The remaining + /// results of the initial request can be seen by sending another + /// ListContainerInstances request with the returned nextToken + /// value. This value can be between 1 and 100. If this + /// parameter is not used, then ListContainerInstances returns up to + /// 100 results and a nextToken value if applicable.

      + pub max_results: &'a std::option::Option, + ///

      Filters the container instances by status. For example, if you specify the + /// DRAINING status, the results include only container instances that have + /// been set to DRAINING using UpdateContainerInstancesState. + /// If you do not specify this parameter, the default is to include container instances set + /// to all states other than INACTIVE.

      + pub status: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListContainerInstancesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListContainerInstancesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("filter", &self.filter); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("status", &self.status); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListServicesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListServices results. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The nextToken value returned from a ListServices request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of service results returned by ListServices in + /// paginated output. When this parameter is used, ListServices only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListServices request with the returned nextToken + /// value. This value can be between 1 and 100. If + /// this parameter is not used, then ListServices returns up to + /// 10 results and a nextToken value if + /// applicable.

      + pub max_results: &'a std::option::Option, + ///

      The launch type to use when filtering the ListServices results.

      + pub launch_type: &'a std::option::Option, + ///

      The scheduling strategy to use when filtering the ListServices + /// results.

      + pub scheduling_strategy: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListServicesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListServicesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("launch_type", &self.launch_type); + formatter.field("scheduling_strategy", &self.scheduling_strategy); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTagsForResourceInputBody<'a> { + ///

      The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the + /// supported resources are Amazon ECS tasks, services, task definitions, clusters, and container + /// instances.

      + pub resource_arn: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListTagsForResourceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTagsForResourceInputBody"); + formatter.field("resource_arn", &self.resource_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTaskDefinitionFamiliesInputBody<'a> { + ///

      The familyPrefix is a string that is used to filter the results of + /// ListTaskDefinitionFamilies. If you specify a familyPrefix, + /// only task definition family names that begin with the familyPrefix string + /// are returned.

      + pub family_prefix: &'a std::option::Option, + ///

      The task definition family status with which to filter the + /// ListTaskDefinitionFamilies results. By default, both + /// ACTIVE and INACTIVE task definition families are listed. + /// If this parameter is set to ACTIVE, only task definition families that have + /// an ACTIVE task definition revision are returned. If this parameter is set + /// to INACTIVE, only task definition families that do not have any + /// ACTIVE task definition revisions are returned. If you paginate the + /// resulting output, be sure to keep the status value constant in each + /// subsequent request.

      + pub status: &'a std::option::Option, + ///

      The nextToken value returned from a + /// ListTaskDefinitionFamilies request indicating that more results are + /// available to fulfill the request and further calls will be needed. If + /// maxResults was provided, it is possible the number of results to be + /// fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of task definition family results returned by + /// ListTaskDefinitionFamilies in paginated output. When this parameter is + /// used, ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another + /// ListTaskDefinitionFamilies request with the returned + /// nextToken value. This value can be between 1 and + /// 100. If this parameter is not used, then + /// ListTaskDefinitionFamilies returns up to 100 results + /// and a nextToken value if applicable.

      + pub max_results: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListTaskDefinitionFamiliesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionFamiliesInputBody"); + formatter.field("family_prefix", &self.family_prefix); + formatter.field("status", &self.status); + 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 ListTaskDefinitionsInputBody<'a> { + ///

      The full family name with which to filter the ListTaskDefinitions + /// results. Specifying a familyPrefix limits the listed task definitions to + /// task definition revisions that belong to that family.

      + pub family_prefix: &'a std::option::Option, + ///

      The task definition status with which to filter the ListTaskDefinitions + /// results. By default, only ACTIVE task definitions are listed. By setting + /// this parameter to INACTIVE, you can view task definitions that are + /// INACTIVE as long as an active task or service still references them. If + /// you paginate the resulting output, be sure to keep the status value + /// constant in each subsequent request.

      + pub status: &'a std::option::Option, + ///

      The order in which to sort the results. Valid values are ASC and + /// DESC. By default (ASC), task definitions are listed + /// lexicographically by family name and in ascending numerical order by revision so that + /// the newest task definitions in a family are listed last. Setting this parameter to + /// DESC reverses the sort order on family name and revision so that the + /// newest task definitions in a family are listed first.

      + pub sort: &'a std::option::Option, + ///

      The nextToken value returned from a ListTaskDefinitions + /// request indicating that more results are available to fulfill the request and further + /// calls will be needed. If maxResults was provided, it is possible the number + /// of results to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of task definition results returned by + /// ListTaskDefinitions in paginated output. When this parameter is used, + /// ListTaskDefinitions only returns maxResults results in a + /// single page along with a nextToken response element. The remaining results + /// of the initial request can be seen by sending another ListTaskDefinitions + /// request with the returned nextToken value. This value can be between + /// 1 and 100. If this parameter is not used, then + /// ListTaskDefinitions returns up to 100 results and a + /// nextToken value if applicable.

      + pub max_results: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListTaskDefinitionsInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionsInputBody"); + formatter.field("family_prefix", &self.family_prefix); + formatter.field("status", &self.status); + formatter.field("sort", &self.sort); + 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 ListTasksInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the + /// ListTasks results. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The container instance ID or full ARN of the container instance to use when + /// filtering the ListTasks results. Specifying a + /// containerInstance limits the results to tasks that belong to that + /// container instance.

      + pub container_instance: &'a std::option::Option, + ///

      The name of the task definition family to use when filtering the + /// ListTasks results. Specifying a family limits the results + /// to tasks that belong to that family.

      + pub family: &'a std::option::Option, + ///

      The nextToken value returned from a ListTasks request + /// indicating that more results are available to fulfill the request and further calls will + /// be needed. If maxResults was provided, it is possible the number of results + /// to be fewer than maxResults.

      + /// + ///

      This token should be treated as an opaque identifier that is only used to + /// retrieve the next items in a list and not for other programmatic purposes.

      + ///
      + pub next_token: &'a std::option::Option, + ///

      The maximum number of task results returned by ListTasks in paginated + /// output. When this parameter is used, ListTasks only returns + /// maxResults results in a single page along with a nextToken + /// response element. The remaining results of the initial request can be seen by sending + /// another ListTasks request with the returned nextToken value. + /// This value can be between 1 and 100. If this parameter is + /// not used, then ListTasks returns up to 100 results and a + /// nextToken value if applicable.

      + pub max_results: &'a std::option::Option, + ///

      The startedBy value with which to filter the task results. Specifying a + /// startedBy value limits the results to tasks that were started with that + /// value.

      + pub started_by: &'a std::option::Option, + ///

      The name of the service to use when filtering the ListTasks results. + /// Specifying a serviceName limits the results to tasks that belong to that + /// service.

      + pub service_name: &'a std::option::Option, + ///

      The task desired status to use when filtering the ListTasks results. + /// Specifying a desiredStatus of STOPPED limits the results to + /// tasks that Amazon ECS has set the desired status to STOPPED. This can be useful + /// for debugging tasks that are not starting properly or have died or finished. The default + /// status filter is RUNNING, which shows tasks that Amazon ECS has set the desired + /// status to RUNNING.

      + /// + ///

      Although you can filter results based on a desired status of PENDING, + /// this does not return any results. Amazon ECS never sets the desired status of a task to + /// that value (only a task's lastStatus may have a value of + /// PENDING).

      + ///
      + pub desired_status: &'a std::option::Option, + ///

      The launch type to use when filtering the ListTasks results.

      + pub launch_type: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for ListTasksInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTasksInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instance", &self.container_instance); + formatter.field("family", &self.family); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("started_by", &self.started_by); + formatter.field("service_name", &self.service_name); + formatter.field("desired_status", &self.desired_status); + formatter.field("launch_type", &self.launch_type); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingInputBody<'a> { + ///

      The Amazon ECS resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the elastic network interface (ENI) limit + /// for your Amazon ECS container instances is affected. If containerInsights is + /// specified, the default setting for CloudWatch Container Insights for your clusters is + /// affected.

      + pub name: &'a std::option::Option, + ///

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub value: &'a std::option::Option, + ///

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + /// specify the root user, it modifies the account setting for all IAM users, IAM roles, and + /// the root user of the account unless an IAM user or role explicitly overrides these + /// settings. If this field is omitted, the setting is changed only for the authenticated + /// user.

      + /// + ///

      Federated users assume the account setting of the root user and can't have + /// explicit account settings set for them.

      + ///
      + pub principal_arn: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for PutAccountSettingInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingInputBody"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.field("principal_arn", &self.principal_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingDefaultInputBody<'a> { + ///

      The resource name for which to modify the account setting. If + /// serviceLongArnFormat is specified, the ARN for your Amazon ECS services is + /// affected. If taskLongArnFormat is specified, the ARN and resource ID for + /// your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is + /// specified, the ARN and resource ID for your Amazon ECS container instances is affected. If + /// awsvpcTrunking is specified, the ENI limit for your Amazon ECS container + /// instances is affected. If containerInsights is specified, the default + /// setting for CloudWatch Container Insights for your clusters is affected.

      + pub name: &'a std::option::Option, + ///

      The account setting value for the specified principal ARN. Accepted values are + /// enabled and disabled.

      + pub value: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for PutAccountSettingDefaultInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingDefaultInputBody"); + formatter.field("name", &self.name); + formatter.field("value", &self.value); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAttributesInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply + /// attributes. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The attributes to apply to your resource. You can specify up to 10 custom attributes + /// per resource. You can specify up to 10 attributes in a single call.

      + pub attributes: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for PutAttributesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAttributesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutClusterCapacityProvidersInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider + /// settings for. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The name of one or more capacity providers to associate with the cluster.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + pub capacity_providers: &'a std::option::Option>, + ///

      The capacity provider strategy to use by default for the cluster.

      + ///

      When creating a service or running a task on a cluster, if no capacity provider or + /// launch type is specified then the default capacity provider strategy for the cluster is + /// used.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + pub default_capacity_provider_strategy: + &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for PutClusterCapacityProvidersInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutClusterCapacityProvidersInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field( + "default_capacity_provider_strategy", + &self.default_capacity_provider_strategy, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterContainerInstanceInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container + /// instance. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The instance identity document for the EC2 instance to register. This document can be + /// found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/document/ + ///

      + pub instance_identity_document: &'a std::option::Option, + ///

      The instance identity document signature for the EC2 instance to register. This + /// signature can be found by running the following command from the instance: curl + /// http://169.254.169.254/latest/dynamic/instance-identity/signature/ + ///

      + pub instance_identity_document_signature: &'a std::option::Option, + ///

      The resources available on the instance.

      + pub total_resources: &'a std::option::Option>, + ///

      The version information for the Amazon ECS container agent and Docker daemon running on the + /// container instance.

      + pub version_info: &'a std::option::Option, + ///

      The ARN of the container instance (if it was previously registered).

      + pub container_instance_arn: &'a std::option::Option, + ///

      The container instance attributes that this container instance supports.

      + pub attributes: &'a std::option::Option>, + ///

      The devices that are available on the container instance. The only supported device + /// type is a GPU.

      + pub platform_devices: &'a std::option::Option>, + ///

      The metadata that you apply to the container instance to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for RegisterContainerInstanceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterContainerInstanceInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field( + "instance_identity_document", + &self.instance_identity_document, + ); + formatter.field( + "instance_identity_document_signature", + &self.instance_identity_document_signature, + ); + formatter.field("total_resources", &self.total_resources); + formatter.field("version_info", &self.version_info); + formatter.field("container_instance_arn", &self.container_instance_arn); + formatter.field("attributes", &self.attributes); + formatter.field("platform_devices", &self.platform_devices); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterTaskDefinitionInputBody<'a> { + ///

      You must specify a family for a task definition, which allows you to + /// track multiple versions of the same task definition. The family is used as + /// a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

      + pub family: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can + /// assume. All containers in this task are granted the permissions that are specified in + /// this role. For more information, see IAM Roles for + /// Tasks in the Amazon Elastic Container Service Developer Guide.

      + pub task_role_arn: &'a std::option::Option, + ///

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + /// permission to make AWS API calls on your behalf. The task execution IAM role is required + /// depending on the requirements of your task. For more information, see Amazon ECS task + /// execution IAM role in the Amazon Elastic Container Service Developer Guide.

      + pub execution_role_arn: &'a std::option::Option, + ///

      The Docker networking mode to use for the containers in the task. The valid values are + /// none, bridge, awsvpc, and host. + /// If no network mode is specified, the default is bridge.

      + ///

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. + /// For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network + /// mode is set to none, you cannot specify port mappings in your container + /// definitions, and the tasks containers do not have external connectivity. The + /// host and awsvpc network modes offer the highest networking + /// performance for containers because they use the EC2 network stack instead of the + /// virtualized network stack provided by the bridge mode.

      + ///

      With the host and awsvpc network modes, exposed container + /// ports are mapped directly to the corresponding host port (for the host + /// network mode) or the attached elastic network interface port (for the + /// awsvpc network mode), so you cannot take advantage of dynamic host port + /// mappings.

      + /// + ///

      When using the host network mode, you should not run + /// containers using the root user (UID 0). It is considered best practice + /// to use a non-root user.

      + ///
      + ///

      If the network mode is awsvpc, the task is allocated an elastic network + /// interface, and you must specify a NetworkConfiguration value when you create + /// a service or run a task with the task definition. For more information, see Task Networking in the + /// Amazon Elastic Container Service Developer Guide.

      + /// + ///

      Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + /// ecs-init package, or AWS Fargate infrastructure support the + /// awsvpc network mode.

      + ///
      + ///

      If the network mode is host, you cannot run multiple instantiations of the + /// same task on a single container instance when port mappings are used.

      + ///

      Docker for Windows uses different network modes than Docker for Linux. When you + /// register a task definition with Windows containers, you must not specify a network mode. + /// If you use the console to register a task definition with Windows containers, you must + /// choose the network mode object.

      + ///

      For more information, see Network + /// settings in the Docker run reference.

      + pub network_mode: &'a std::option::Option, + ///

      A list of container definitions in JSON format that describe the different containers + /// that make up your task.

      + pub container_definitions: + &'a std::option::Option>, + ///

      A list of volume definitions in JSON format that containers in your task may + /// use.

      + pub volumes: &'a std::option::Option>, + ///

      An array of placement constraint objects to use for the task. You can specify a + /// maximum of 10 constraints per task (this limit includes constraints in the task + /// definition and those specified at runtime).

      + pub placement_constraints: + &'a std::option::Option>, + ///

      The task launch type that Amazon ECS should validate the task definition against. A client + /// exception is returned if the task definition doesn't validate against the + /// compatibilities specified. If no value is specified, the parameter is omitted from the + /// response.

      + pub requires_compatibilities: + &'a std::option::Option>, + ///

      The number of CPU units used by the task. It can be expressed as an integer using CPU + /// units, for example 1024, or as a string using vCPUs, for example 1 + /// vCPU or 1 vcpu, in a task definition. String values are + /// converted to an integer indicating the CPU units when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If you are using the EC2 launch type, this field is optional. Supported + /// values are between 128 CPU units (0.125 vCPUs) and + /// 10240 CPU units (10 vCPUs).

      + ///

      If you are using the Fargate launch type, this field is required and you + /// must use one of the following values, which determines your range of supported values + /// for the memory parameter:

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

        256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

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

        512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

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

        1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

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

        2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

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

        4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

        + ///
      • + ///
      + pub cpu: &'a std::option::Option, + ///

      The amount of memory (in MiB) used by the task. It can be expressed as an integer + /// using MiB, for example 1024, or as a string using GB, for example + /// 1GB or 1 GB, in a task definition. String values are + /// converted to an integer indicating the MiB when the task definition is + /// registered.

      + /// + ///

      Task-level CPU and memory parameters are ignored for Windows containers. We + /// recommend specifying container-level resources for Windows containers.

      + ///
      + ///

      If using the EC2 launch type, this field is optional.

      + ///

      If using the Fargate launch type, this field is required and you must + /// use one of the following values, which determines your range of supported values for the + /// cpu parameter:

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

        512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

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

        1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

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

        2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

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

        Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

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

        Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

        + ///
      • + ///
      + pub memory: &'a std::option::Option, + ///

      The metadata that you apply to the task definition to help you categorize and organize + /// them. Each tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, + ///

      The process namespace to use for the containers in the task. The valid + /// values are host or task. If host + /// is specified, then all containers within the tasks that specified the + /// host PID mode on the same container instance share the + /// same process namespace with the host Amazon EC2 instance. If task is + /// specified, all containers within the specified task share the same + /// process namespace. If no value is specified, the default is a private + /// namespace. For more information, see PID settings in the Docker run + /// reference.

      + ///

      If the host PID mode is used, be aware that there is a + /// heightened risk of undesired process namespace expose. For more + /// information, see Docker + /// security.

      + /// + ///

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub pid_mode: &'a std::option::Option, + ///

      The IPC resource namespace to use for the containers in the task. The valid values are + /// host, task, or none. If host is + /// specified, then all containers within the tasks that specified the host IPC + /// mode on the same container instance share the same IPC resources with the host Amazon EC2 + /// instance. If task is specified, all containers within the specified task + /// share the same IPC resources. If none is specified, then IPC resources + /// within the containers of a task are private and not shared with other containers in a + /// task or on the container instance. If no value is specified, then the IPC resource + /// namespace sharing depends on the Docker daemon setting on the container instance. For + /// more information, see IPC + /// settings in the Docker run reference.

      + ///

      If the host IPC mode is used, be aware that there is a heightened risk of + /// undesired IPC namespace expose. For more information, see Docker + /// security.

      + ///

      If you are setting namespaced kernel parameters using systemControls for + /// the containers in the task, the following will apply to your IPC resource namespace. For + /// more information, see System + /// Controls in the Amazon Elastic Container Service Developer Guide.

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

        For tasks that use the host IPC mode, IPC namespace related + /// systemControls are not supported.

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

        For tasks that use the task IPC mode, IPC namespace related + /// systemControls will apply to all containers within a + /// task.

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

      This parameter is not supported for Windows containers or tasks run on AWS Fargate.

      + ///
      + pub ipc_mode: &'a std::option::Option, + ///

      The configuration details for the App Mesh proxy.

      + ///

      For tasks hosted on Amazon EC2 instances, the container instances require at least version + /// 1.26.0 of the container agent and at least version + /// 1.26.0-1 of the ecs-init package to enable a proxy + /// configuration. If your container instances are launched from the Amazon ECS-optimized + /// AMI version 20190301 or later, then they contain the required versions of + /// the container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the + /// Amazon Elastic Container Service Developer Guide.

      + pub proxy_configuration: &'a std::option::Option, + ///

      The Elastic Inference accelerators to use for the containers in the task.

      + pub inference_accelerators: + &'a std::option::Option>, + ///

      The amount of ephemeral storage to allocate for the task. This parameter is used to + /// expand the total amount of ephemeral storage available, beyond the default amount, for + /// tasks hosted on AWS Fargate. For more information, see Fargate task + /// storage in the Amazon ECS User Guide for AWS Fargate.

      + /// + ///

      This parameter is only supported for tasks hosted on AWS Fargate using platform + /// version 1.4.0 or later.

      + ///
      + pub ephemeral_storage: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for RegisterTaskDefinitionInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterTaskDefinitionInputBody"); + formatter.field("family", &self.family); + formatter.field("task_role_arn", &self.task_role_arn); + formatter.field("execution_role_arn", &self.execution_role_arn); + formatter.field("network_mode", &self.network_mode); + formatter.field("container_definitions", &self.container_definitions); + formatter.field("volumes", &self.volumes); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("requires_compatibilities", &self.requires_compatibilities); + formatter.field("cpu", &self.cpu); + formatter.field("memory", &self.memory); + formatter.field("tags", &self.tags); + formatter.field("pid_mode", &self.pid_mode); + formatter.field("ipc_mode", &self.ipc_mode); + formatter.field("proxy_configuration", &self.proxy_configuration); + formatter.field("inference_accelerators", &self.inference_accelerators); + formatter.field("ephemeral_storage", &self.ephemeral_storage); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RunTaskInputBody<'a> { + ///

      The capacity provider strategy to use for the task.

      + ///

      If a capacityProviderStrategy is specified, the launchType + /// parameter must be omitted. If no capacityProviderStrategy or + /// launchType is specified, the + /// defaultCapacityProviderStrategy for the cluster is used.

      + pub capacity_provider_strategy: + &'a std::option::Option>, + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The number of instantiations of the specified task to place on your cluster. You can + /// specify up to 10 tasks per call.

      + pub count: &'a std::option::Option, + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub enable_ecs_managed_tags: &'a bool, + ///

      Whether or not to enable the execute command functionality for the containers in this + /// task. If true, this enables execute command functionality on all containers + /// in the task.

      + pub enable_execute_command: &'a 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).

      + pub group: &'a 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.

      + ///

      The FARGATE launch type runs your tasks on AWS Fargate On-Demand + /// infrastructure.

      + /// + ///

      Fargate Spot infrastructure is available for use but a capacity provider + /// strategy must be used. For more information, see AWS Fargate capacity providers in the + /// Amazon ECS User Guide for AWS Fargate.

      + ///
      + ///

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your + /// cluster.

      + ///

      The EXTERNAL launch type runs your tasks on your on-premise server or + /// virtual machine (VM) capacity registered to your cluster.

      + ///

      A task can use either a launch type or a capacity provider strategy. If a + /// launchType is specified, the capacityProviderStrategy + /// parameter must be omitted.

      + pub launch_type: &'a std::option::Option, + ///

      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 + /// in the Amazon Elastic Container Service Developer Guide.

      + pub network_configuration: &'a std::option::Option, + ///

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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: &'a 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: + &'a std::option::Option>, + ///

      The placement strategy objects to use for the task. You can specify a maximum of five + /// strategy rules per task.

      + pub placement_strategy: &'a 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 + /// AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub platform_version: &'a 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 + /// during task creation. To add tags to a task after task creation, use the TagResource API action.

      + /// + ///

      An error will be received if you specify the SERVICE option when + /// running a task.

      + ///
      + pub propagate_tags: &'a std::option::Option, + ///

      The reference ID to use for the task.

      + pub reference_id: &'a 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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

      + pub started_by: &'a std::option::Option, + ///

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub task_definition: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for RunTaskInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RunTaskInputBody"); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("cluster", &self.cluster); + formatter.field("count", &self.count); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.field("group", &self.group); + formatter.field("launch_type", &self.launch_type); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("overrides", &self.overrides); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("platform_version", &self.platform_version); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("reference_id", &self.reference_id); + formatter.field("started_by", &self.started_by); + formatter.field("tags", &self.tags); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StartTaskInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The container instance IDs or full ARN entries for the container instances on which + /// you would like to place your task. You can specify up to 10 container instances.

      + pub container_instances: &'a std::option::Option>, + ///

      Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + /// Tagging Your Amazon ECS + /// Resources in the Amazon Elastic Container Service Developer Guide.

      + pub enable_ecs_managed_tags: &'a bool, + ///

      Whether or not the execute command functionality is enabled for the task. If + /// true, this enables execute command functionality on all containers in + /// the task.

      + pub enable_execute_command: &'a 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).

      + pub group: &'a std::option::Option, + ///

      The VPC subnet and security group configuration for tasks that receive their own + /// elastic network interface by using the awsvpc networking mode.

      + pub network_configuration: &'a std::option::Option, + ///

      A list of container overrides in JSON format that specify the name of a container in + /// the specified task definition and the overrides it should receive. You can override the + /// default command for a container (that is specified in the task definition or Docker + /// 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: &'a std::option::Option, + ///

      Specifies whether to propagate the tags from the task definition or the service to the + /// task. If no value is specified, the tags are not propagated.

      + pub propagate_tags: &'a std::option::Option, + ///

      The reference ID to use for the task.

      + pub reference_id: &'a 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 + /// job to your task with the startedBy parameter. You can then identify which + /// tasks belong to that job by filtering the results of a ListTasks call + /// with the startedBy value. Up to 36 letters (uppercase and lowercase), + /// numbers, hyphens, and underscores are allowed.

      + ///

      If a task is started by an Amazon ECS service, then the startedBy parameter + /// contains the deployment ID of the service that starts it.

      + pub started_by: &'a std::option::Option, + ///

      The metadata that you apply to the task to help you categorize and organize them. Each + /// tag consists of a key and an optional value, both of which you define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to start. If a revision is not specified, + /// the latest ACTIVE revision is used.

      + pub task_definition: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for StartTaskInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StartTaskInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instances", &self.container_instances); + formatter.field("enable_ecs_managed_tags", &self.enable_ecs_managed_tags); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.field("group", &self.group); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("overrides", &self.overrides); + formatter.field("propagate_tags", &self.propagate_tags); + formatter.field("reference_id", &self.reference_id); + formatter.field("started_by", &self.started_by); + formatter.field("tags", &self.tags); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StopTaskInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The task ID or full Amazon Resource Name (ARN) of the task to stop.

      + pub task: &'a std::option::Option, + ///

      An optional message specified when a task is stopped. For example, if you are using a + /// custom scheduler, you can use this parameter to specify the reason for stopping the task + /// here, and the message appears in subsequent DescribeTasks API + /// operations on this task. Up to 255 characters are allowed in this message.

      + pub reason: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for StopTaskInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StopTaskInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("task", &self.task); + formatter.field("reason", &self.reason); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitAttachmentStateChangesInputBody<'a> { + ///

      The short name or full ARN of the cluster that hosts the container instance the + /// attachment belongs to.

      + pub cluster: &'a std::option::Option, + ///

      Any attachments associated with the state change request.

      + pub attachments: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for SubmitAttachmentStateChangesInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitAttachmentStateChangesInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("attachments", &self.attachments); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitContainerStateChangeInputBody<'a> { + ///

      The short name or full ARN of the cluster that hosts the container.

      + pub cluster: &'a std::option::Option, + ///

      The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

      + pub task: &'a std::option::Option, + ///

      The name of the container.

      + pub container_name: &'a std::option::Option, + ///

      The ID of the Docker container.

      + pub runtime_id: &'a std::option::Option, + ///

      The status of the state change request.

      + pub status: &'a std::option::Option, + ///

      The exit code returned for the state change request.

      + pub exit_code: &'a std::option::Option, + ///

      The reason for the state change request.

      + pub reason: &'a std::option::Option, + ///

      The network bindings of the container.

      + pub network_bindings: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for SubmitContainerStateChangeInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitContainerStateChangeInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("task", &self.task); + formatter.field("container_name", &self.container_name); + formatter.field("runtime_id", &self.runtime_id); + formatter.field("status", &self.status); + formatter.field("exit_code", &self.exit_code); + formatter.field("reason", &self.reason); + formatter.field("network_bindings", &self.network_bindings); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitTaskStateChangeInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

      + pub cluster: &'a std::option::Option, + ///

      The task ID or full ARN of the task in the state change request.

      + pub task: &'a std::option::Option, + ///

      The status of the state change request.

      + pub status: &'a std::option::Option, + ///

      The reason for the state change request.

      + pub reason: &'a std::option::Option, + ///

      Any containers associated with the state change request.

      + pub containers: &'a std::option::Option>, + ///

      Any attachments associated with the state change request.

      + pub attachments: &'a std::option::Option>, + ///

      The details for the managed agent associated with the task.

      + pub managed_agents: + &'a std::option::Option>, + ///

      The Unix timestamp for when the container image pull began.

      + pub pull_started_at: &'a std::option::Option, + ///

      The Unix timestamp for when the container image pull completed.

      + pub pull_stopped_at: &'a std::option::Option, + ///

      The Unix timestamp for when the task execution stopped.

      + pub execution_stopped_at: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for SubmitTaskStateChangeInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitTaskStateChangeInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("task", &self.task); + formatter.field("status", &self.status); + formatter.field("reason", &self.reason); + formatter.field("containers", &self.containers); + formatter.field("attachments", &self.attachments); + formatter.field("managed_agents", &self.managed_agents); + formatter.field("pull_started_at", &self.pull_started_at); + formatter.field("pull_stopped_at", &self.pull_stopped_at); + formatter.field("execution_stopped_at", &self.execution_stopped_at); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TagResourceInputBody<'a> { + ///

      The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources + /// are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + /// instances.

      + pub resource_arn: &'a std::option::Option, + ///

      The tags to add to the resource. A tag is an array of key-value pairs.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + pub tags: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TagResourceInputBody"); + 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 UntagResourceInputBody<'a> { + ///

      The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported + /// resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and + /// container instances.

      + pub resource_arn: &'a std::option::Option, + ///

      The keys of the tags to be removed.

      + pub tag_keys: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UntagResourceInputBody"); + 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 UpdateCapacityProviderInputBody<'a> { + ///

      The name of the capacity provider to update.

      + pub name: &'a std::option::Option, + ///

      An object representing the parameters to update for the Auto Scaling group capacity + /// provider.

      + pub auto_scaling_group_provider: + &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateCapacityProviderInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateCapacityProviderInputBody"); + formatter.field("name", &self.name); + formatter.field( + "auto_scaling_group_provider", + &self.auto_scaling_group_provider, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterInputBody<'a> { + ///

      The name of the cluster to modify the settings for.

      + pub cluster: &'a std::option::Option, + ///

      The cluster settings for your cluster.

      + pub settings: &'a std::option::Option>, + ///

      The execute command configuration for the cluster.

      + pub configuration: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateClusterInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("settings", &self.settings); + formatter.field("configuration", &self.configuration); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterSettingsInputBody<'a> { + ///

      The name of the cluster to modify the settings for.

      + pub cluster: &'a std::option::Option, + ///

      The setting to use by default for a cluster. This parameter is used to enable CloudWatch + /// Container Insights for a cluster. If this value is specified, it will override the + /// containerInsights value set with PutAccountSetting or + /// PutAccountSettingDefault.

      + pub settings: &'a std::option::Option>, +} +impl<'a> std::fmt::Debug for UpdateClusterSettingsInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterSettingsInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("settings", &self.settings); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerAgentInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is + /// running on. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The container instance ID or full ARN entries for the container instance on which + /// you would like to update the Amazon ECS container agent.

      + pub container_instance: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateContainerAgentInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerAgentInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerInstancesStateInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + /// update. If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      A list of container instance IDs or full ARN entries.

      + pub container_instances: &'a std::option::Option>, + ///

      The container instance state with which to update the container instance. The only + /// valid values for this action are ACTIVE and DRAINING. A + /// container instance can only be updated to DRAINING status once it has + /// reached an ACTIVE state. If a container instance is in + /// REGISTERING, DEREGISTERING, or + /// REGISTRATION_FAILED state you can describe the container instance but + /// will be unable to update the container instance state.

      + pub status: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateContainerInstancesStateInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerInstancesStateInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("container_instances", &self.container_instances); + formatter.field("status", &self.status); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServiceInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. + /// If you do not specify a cluster, the default cluster is assumed.

      + pub cluster: &'a std::option::Option, + ///

      The name of the service to update.

      + pub service: &'a std::option::Option, + ///

      The number of instantiations of the task to place and keep running in your + /// service.

      + pub desired_count: &'a std::option::Option, + ///

      The family and revision (family:revision) or + /// full ARN of the task definition to run in your service. If a revision is + /// not specified, the latest ACTIVE revision is used. If you modify the task + /// definition with UpdateService, Amazon ECS spawns a task with the new version of + /// the task definition and then stops an old task after the new version is running.

      + pub task_definition: &'a std::option::Option, + ///

      The capacity provider strategy to update the service to use.

      + ///

      If the service is using the default capacity provider strategy for the cluster, the + /// service can be updated to use one or more capacity providers as opposed to the default + /// capacity provider strategy. However, when a service is using a capacity provider + /// strategy that is not the default capacity provider strategy, the service cannot be + /// updated to use the cluster's default capacity provider strategy.

      + ///

      A capacity provider strategy consists of one or more capacity providers along with the + /// base and weight to assign to them. A capacity provider + /// must be associated with the cluster to be used in a capacity provider strategy. The + /// PutClusterCapacityProviders API is used to associate a capacity + /// provider with a cluster. Only capacity providers with an ACTIVE or + /// UPDATING status can be used.

      + ///

      If specifying a capacity provider that uses an Auto Scaling group, the capacity + /// provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      + ///

      To use a AWS Fargate capacity provider, specify either the FARGATE or + /// FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + /// available to all accounts and only need to be associated with a cluster to be + /// used.

      + ///

      The PutClusterCapacityProviders API operation is used to update the + /// list of available capacity providers for a cluster after the cluster is created.

      + ///

      + pub capacity_provider_strategy: + &'a std::option::Option>, + ///

      Optional deployment parameters that control how many tasks run during the deployment + /// and the ordering of stopping and starting tasks.

      + pub deployment_configuration: &'a std::option::Option, + ///

      An object representing the network configuration for the service.

      + pub network_configuration: &'a std::option::Option, + ///

      An array of task placement constraint objects to update the service to use. If no + /// value is specified, the existing placement constraints for the service will remain + /// unchanged. If this value is specified, it will override any existing placement + /// constraints defined for the service. To remove all existing placement constraints, + /// specify an empty array.

      + ///

      You can specify a maximum of 10 constraints per task (this limit includes constraints + /// in the task definition and those specified at runtime).

      + pub placement_constraints: + &'a std::option::Option>, + ///

      The task placement strategy objects to update the service to use. If no value is + /// specified, the existing placement strategy for the service will remain unchanged. If + /// this value is specified, it will override the existing placement strategy defined for + /// the service. To remove an existing placement strategy, specify an empty object.

      + ///

      You can specify a maximum of five strategy rules per service.

      + pub placement_strategy: &'a std::option::Option>, + ///

      The platform version on which your tasks in the service are running. A platform + /// version is only specified for tasks using the Fargate launch type. If a + /// platform version is not specified, the LATEST platform version is used by + /// default. For more information, see AWS Fargate Platform + /// Versions in the Amazon Elastic Container Service Developer Guide.

      + pub platform_version: &'a std::option::Option, + ///

      Whether to force a new deployment of the service. Deployments are not forced by + /// default. You can use this option to trigger a new deployment with no service definition + /// changes. For example, you can update a service's tasks to use a newer Docker image with + /// the same image/tag combination (my_image:latest) or to roll Fargate tasks + /// onto a newer platform version.

      + pub force_new_deployment: &'a bool, + ///

      The period of time, in seconds, that the Amazon ECS service scheduler should ignore + /// unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid + /// if your service is configured to use a load balancer. If your service's tasks take a + /// while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace + /// period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service + /// scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS + /// service scheduler from marking tasks as unhealthy and stopping them before they have + /// time to come up.

      + pub health_check_grace_period_seconds: &'a std::option::Option, + ///

      If true, this enables execute command functionality on all task + /// containers.

      + ///

      If you do not want to override the value that was set when the service was created, + /// you can set this to null when performing this action.

      + pub enable_execute_command: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateServiceInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServiceInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("desired_count", &self.desired_count); + formatter.field("task_definition", &self.task_definition); + formatter.field( + "capacity_provider_strategy", + &self.capacity_provider_strategy, + ); + formatter.field("deployment_configuration", &self.deployment_configuration); + formatter.field("network_configuration", &self.network_configuration); + formatter.field("placement_constraints", &self.placement_constraints); + formatter.field("placement_strategy", &self.placement_strategy); + formatter.field("platform_version", &self.platform_version); + formatter.field("force_new_deployment", &self.force_new_deployment); + formatter.field( + "health_check_grace_period_seconds", + &self.health_check_grace_period_seconds, + ); + formatter.field("enable_execute_command", &self.enable_execute_command); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServicePrimaryTaskSetInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

      + pub cluster: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

      + pub service: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the + /// deployment.

      + pub primary_task_set: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateServicePrimaryTaskSetInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServicePrimaryTaskSetInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("primary_task_set", &self.primary_task_set); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateTaskSetInputBody<'a> { + ///

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + /// set exists in.

      + pub cluster: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

      + pub service: &'a std::option::Option, + ///

      The short name or full Amazon Resource Name (ARN) of the task set to update.

      + pub task_set: &'a std::option::Option, + ///

      A floating-point percentage of the desired number of tasks to place and keep running + /// in the task set.

      + pub scale: &'a std::option::Option, +} +impl<'a> std::fmt::Debug for UpdateTaskSetInputBody<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateTaskSetInputBody"); + formatter.field("cluster", &self.cluster); + formatter.field("service", &self.service); + formatter.field("task_set", &self.task_set); + formatter.field("scale", &self.scale); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateCapacityProviderOutputBody { + ///

      The full description of the new capacity provider.

      + #[serde(rename = "capacityProvider")] + #[serde(default)] + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for CreateCapacityProviderOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateCapacityProviderOutputBody"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateClusterOutputBody { + ///

      The full description of your new cluster.

      + #[serde(rename = "cluster")] + #[serde(default)] + pub cluster: std::option::Option, +} +impl std::fmt::Debug for CreateClusterOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateClusterOutputBody"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateServiceOutputBody { + ///

      The full description of your service following the create call.

      + ///

      If a service is using the ECS deployment controller, the + /// deploymentController and taskSets parameters will not be + /// returned.

      + ///

      If the service is using the CODE_DEPLOY deployment controller, the + /// deploymentController, taskSets and + /// deployments parameters will be returned, however the + /// deployments parameter will be an empty list.

      + #[serde(rename = "service")] + #[serde(default)] + pub service: std::option::Option, +} +impl std::fmt::Debug for CreateServiceOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateServiceOutputBody"); + formatter.field("service", &self.service); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateTaskSetOutputBody { + ///

      Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an + /// EXTERNAL deployment. A task set includes details such as the desired + /// number of tasks, how many tasks are running, and whether the task set serves production + /// traffic.

      + #[serde(rename = "taskSet")] + #[serde(default)] + pub task_set: std::option::Option, +} +impl std::fmt::Debug for CreateTaskSetOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateTaskSetOutputBody"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAccountSettingOutputBody { + ///

      The account setting for the specified principal ARN.

      + #[serde(rename = "setting")] + #[serde(default)] + pub setting: std::option::Option, +} +impl std::fmt::Debug for DeleteAccountSettingOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAccountSettingOutputBody"); + formatter.field("setting", &self.setting); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAttributesOutputBody { + ///

      A list of attribute objects that were successfully deleted from your resource.

      + #[serde(rename = "attributes")] + #[serde(default)] + pub attributes: std::option::Option>, +} +impl std::fmt::Debug for DeleteAttributesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAttributesOutputBody"); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCapacityProviderOutputBody { + ///

      The details of the capacity provider.

      + #[serde(rename = "capacityProvider")] + #[serde(default)] + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for DeleteCapacityProviderOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCapacityProviderOutputBody"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteClusterOutputBody { + ///

      The full description of the deleted cluster.

      + #[serde(rename = "cluster")] + #[serde(default)] + pub cluster: std::option::Option, +} +impl std::fmt::Debug for DeleteClusterOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteClusterOutputBody"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteServiceOutputBody { + ///

      The full description of the deleted service.

      + #[serde(rename = "service")] + #[serde(default)] + pub service: std::option::Option, +} +impl std::fmt::Debug for DeleteServiceOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteServiceOutputBody"); + formatter.field("service", &self.service); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteTaskSetOutputBody { + ///

      Details about the task set.

      + #[serde(rename = "taskSet")] + #[serde(default)] + pub task_set: std::option::Option, +} +impl std::fmt::Debug for DeleteTaskSetOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteTaskSetOutputBody"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterContainerInstanceOutputBody { + ///

      The container instance that was deregistered.

      + #[serde(rename = "containerInstance")] + #[serde(default)] + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for DeregisterContainerInstanceOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterContainerInstanceOutputBody"); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DeregisterTaskDefinitionOutputBody { + ///

      The full description of the deregistered task.

      + #[serde(rename = "taskDefinition")] + #[serde(default)] + pub task_definition: std::option::Option, +} +impl std::fmt::Debug for DeregisterTaskDefinitionOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeregisterTaskDefinitionOutputBody"); + formatter.field("task_definition", &self.task_definition); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeCapacityProvidersOutputBody { + ///

      The list of capacity providers.

      + #[serde(rename = "capacityProviders")] + #[serde(default)] + pub capacity_providers: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, + ///

      The nextToken value to include in a future + /// DescribeCapacityProviders request. When the results of a + /// DescribeCapacityProviders request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for DescribeCapacityProvidersOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeCapacityProvidersOutputBody"); + formatter.field("capacity_providers", &self.capacity_providers); + formatter.field("failures", &self.failures); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeClustersOutputBody { + ///

      The list of clusters.

      + #[serde(rename = "clusters")] + #[serde(default)] + pub clusters: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeClustersOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeClustersOutputBody"); + formatter.field("clusters", &self.clusters); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeContainerInstancesOutputBody { + ///

      The list of container instances.

      + #[serde(rename = "containerInstances")] + #[serde(default)] + pub container_instances: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeContainerInstancesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeContainerInstancesOutputBody"); + formatter.field("container_instances", &self.container_instances); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeServicesOutputBody { + ///

      The list of services described.

      + #[serde(rename = "services")] + #[serde(default)] + pub services: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeServicesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeServicesOutputBody"); + formatter.field("services", &self.services); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskDefinitionOutputBody { + ///

      The full task definition description.

      + #[serde(rename = "taskDefinition")] + #[serde(default)] + pub task_definition: std::option::Option, + ///

      The metadata that is applied to the task definition to help you categorize and + /// organize them. Each tag consists of a key and an optional value, both of which you + /// define.

      + ///

      The following basic restrictions apply to tags:

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

        Maximum number of tags per resource - 50

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

        For each resource, each tag key must be unique, and each tag key can have only + /// one value.

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

        Maximum key length - 128 Unicode characters in UTF-8

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

        Maximum value length - 256 Unicode characters in UTF-8

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

        If your tagging schema is used across multiple services and resources, + /// remember that other services may have restrictions on allowed characters. + /// Generally allowed characters are: letters, numbers, and spaces representable in + /// UTF-8, and the following characters: + - = . _ : / @.

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

        Tag keys and values are case-sensitive.

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

        Do not use aws:, AWS:, or any upper or lowercase + /// combination of such as a prefix for either keys or values as it is reserved for + /// AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + /// this prefix do not count against your tags per resource limit.

        + ///
      • + ///
      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskDefinitionOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskDefinitionOutputBody"); + formatter.field("task_definition", &self.task_definition); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTasksOutputBody { + ///

      The list of tasks.

      + #[serde(rename = "tasks")] + #[serde(default)] + pub tasks: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeTasksOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTasksOutputBody"); + formatter.field("tasks", &self.tasks); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskSetsOutputBody { + ///

      The list of task sets described.

      + #[serde(rename = "taskSets")] + #[serde(default)] + pub task_sets: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskSetsOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskSetsOutputBody"); + formatter.field("task_sets", &self.task_sets); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct DiscoverPollEndpointOutputBody { + ///

      The endpoint for the Amazon ECS agent to poll.

      + #[serde(rename = "endpoint")] + #[serde(default)] + pub endpoint: std::option::Option, + ///

      The telemetry endpoint for the Amazon ECS agent.

      + #[serde(rename = "telemetryEndpoint")] + #[serde(default)] + pub telemetry_endpoint: std::option::Option, +} +impl std::fmt::Debug for DiscoverPollEndpointOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DiscoverPollEndpointOutputBody"); + formatter.field("endpoint", &self.endpoint); + formatter.field("telemetry_endpoint", &self.telemetry_endpoint); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ExecuteCommandOutputBody { + ///

      The Amazon Resource Name (ARN) of the cluster.

      + #[serde(rename = "clusterArn")] + #[serde(default)] + pub cluster_arn: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the container.

      + #[serde(rename = "containerArn")] + #[serde(default)] + pub container_arn: std::option::Option, + ///

      The name of the container.

      + #[serde(rename = "containerName")] + #[serde(default)] + pub container_name: std::option::Option, + ///

      Whether or not the execute command session is running in interactive mode. Amazon ECS only + /// supports initiating interactive sessions, so you must specify true for this + /// value.

      + #[serde(rename = "interactive")] + pub interactive: bool, + ///

      The details of the SSM session that was created for this instance of + /// execute-command.

      + #[serde(rename = "session")] + #[serde(default)] + pub session: std::option::Option, + ///

      The Amazon Resource Name (ARN) of the task.

      + #[serde(rename = "taskArn")] + #[serde(default)] + pub task_arn: std::option::Option, +} +impl std::fmt::Debug for ExecuteCommandOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecuteCommandOutputBody"); + formatter.field("cluster_arn", &self.cluster_arn); + formatter.field("container_arn", &self.container_arn); + formatter.field("container_name", &self.container_name); + formatter.field("interactive", &self.interactive); + formatter.field("session", &self.session); + formatter.field("task_arn", &self.task_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAccountSettingsOutputBody { + ///

      The account settings for the resource.

      + #[serde(rename = "settings")] + #[serde(default)] + pub settings: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListAccountSettings request. When the results of a + /// ListAccountSettings request exceed maxResults, this value + /// can be used to retrieve the next page of results. This value is null when + /// there are no more results to return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAccountSettingsOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAccountSettingsOutputBody"); + formatter.field("settings", &self.settings); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAttributesOutputBody { + ///

      A list of attribute objects that meet the criteria of the request.

      + #[serde(rename = "attributes")] + #[serde(default)] + pub attributes: std::option::Option>, + ///

      The nextToken value to include in a future ListAttributes + /// request. When the results of a ListAttributes request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAttributesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAttributesOutputBody"); + formatter.field("attributes", &self.attributes); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListClustersOutputBody { + ///

      The list of full Amazon Resource Name (ARN) entries for each cluster associated with your + /// account.

      + #[serde(rename = "clusterArns")] + #[serde(default)] + pub cluster_arns: std::option::Option>, + ///

      The nextToken value to include in a future ListClusters + /// request. When the results of a ListClusters request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListClustersOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListClustersOutputBody"); + formatter.field("cluster_arns", &self.cluster_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListContainerInstancesOutputBody { + ///

      The list of container instances with full ARN entries for each container instance + /// associated with the specified cluster.

      + #[serde(rename = "containerInstanceArns")] + #[serde(default)] + pub container_instance_arns: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListContainerInstances request. When the results of a + /// ListContainerInstances request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListContainerInstancesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListContainerInstancesOutputBody"); + formatter.field("container_instance_arns", &self.container_instance_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListServicesOutputBody { + ///

      The list of full ARN entries for each service associated with the specified + /// cluster.

      + #[serde(rename = "serviceArns")] + #[serde(default)] + pub service_arns: std::option::Option>, + ///

      The nextToken value to include in a future ListServices + /// request. When the results of a ListServices request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListServicesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListServicesOutputBody"); + formatter.field("service_arns", &self.service_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTagsForResourceOutputBody { + ///

      The tags for the resource.

      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, +} +impl std::fmt::Debug for ListTagsForResourceOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTagsForResourceOutputBody"); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTaskDefinitionFamiliesOutputBody { + ///

      The list of task definition family names that match the + /// ListTaskDefinitionFamilies request.

      + #[serde(rename = "families")] + #[serde(default)] + pub families: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListTaskDefinitionFamilies request. When the results of a + /// ListTaskDefinitionFamilies request exceed maxResults, this + /// value can be used to retrieve the next page of results. This value is null + /// when there are no more results to return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTaskDefinitionFamiliesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionFamiliesOutputBody"); + formatter.field("families", &self.families); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTaskDefinitionsOutputBody { + ///

      The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions + /// request.

      + #[serde(rename = "taskDefinitionArns")] + #[serde(default)] + pub task_definition_arns: std::option::Option>, + ///

      The nextToken value to include in a future + /// ListTaskDefinitions request. When the results of a + /// ListTaskDefinitions request exceed maxResults, this value + /// can be used to retrieve the next page of results. This value is null when + /// there are no more results to return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTaskDefinitionsOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTaskDefinitionsOutputBody"); + formatter.field("task_definition_arns", &self.task_definition_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTasksOutputBody { + ///

      The list of task ARN entries for the ListTasks request.

      + #[serde(rename = "taskArns")] + #[serde(default)] + pub task_arns: std::option::Option>, + ///

      The nextToken value to include in a future ListTasks + /// request. When the results of a ListTasks request exceed + /// maxResults, this value can be used to retrieve the next page of + /// results. This value is null when there are no more results to + /// return.

      + #[serde(rename = "nextToken")] + #[serde(default)] + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTasksOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTasksOutputBody"); + formatter.field("task_arns", &self.task_arns); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingOutputBody { + ///

      The current account setting for a resource.

      + #[serde(rename = "setting")] + #[serde(default)] + pub setting: std::option::Option, +} +impl std::fmt::Debug for PutAccountSettingOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingOutputBody"); + formatter.field("setting", &self.setting); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAccountSettingDefaultOutputBody { + ///

      The current setting for a resource.

      + #[serde(rename = "setting")] + #[serde(default)] + pub setting: std::option::Option, +} +impl std::fmt::Debug for PutAccountSettingDefaultOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAccountSettingDefaultOutputBody"); + formatter.field("setting", &self.setting); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAttributesOutputBody { + ///

      The attributes applied to your resource.

      + #[serde(rename = "attributes")] + #[serde(default)] + pub attributes: std::option::Option>, +} +impl std::fmt::Debug for PutAttributesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAttributesOutputBody"); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct PutClusterCapacityProvidersOutputBody { + ///

      Details about the cluster.

      + #[serde(rename = "cluster")] + #[serde(default)] + pub cluster: std::option::Option, +} +impl std::fmt::Debug for PutClusterCapacityProvidersOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutClusterCapacityProvidersOutputBody"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterContainerInstanceOutputBody { + ///

      The container instance that was registered.

      + #[serde(rename = "containerInstance")] + #[serde(default)] + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for RegisterContainerInstanceOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterContainerInstanceOutputBody"); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct RegisterTaskDefinitionOutputBody { + ///

      The full description of the registered task definition.

      + #[serde(rename = "taskDefinition")] + #[serde(default)] + pub task_definition: std::option::Option, + ///

      The list of tags associated with the task definition.

      + #[serde(rename = "tags")] + #[serde(default)] + pub tags: std::option::Option>, +} +impl std::fmt::Debug for RegisterTaskDefinitionOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RegisterTaskDefinitionOutputBody"); + formatter.field("task_definition", &self.task_definition); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct RunTaskOutputBody { + ///

      A full description of the tasks that were run. The tasks that were successfully placed + /// on your cluster are described here.

      + #[serde(rename = "tasks")] + #[serde(default)] + pub tasks: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for RunTaskOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RunTaskOutputBody"); + formatter.field("tasks", &self.tasks); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct StartTaskOutputBody { + ///

      A full description of the tasks that were started. Each task that was successfully + /// placed on your container instances is described.

      + #[serde(rename = "tasks")] + #[serde(default)] + pub tasks: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for StartTaskOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StartTaskOutputBody"); + formatter.field("tasks", &self.tasks); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct StopTaskOutputBody { + ///

      The task that was stopped.

      + #[serde(rename = "task")] + #[serde(default)] + pub task: std::option::Option, +} +impl std::fmt::Debug for StopTaskOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StopTaskOutputBody"); + formatter.field("task", &self.task); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitAttachmentStateChangesOutputBody { + ///

      Acknowledgement of the state change.

      + #[serde(rename = "acknowledgment")] + #[serde(default)] + pub acknowledgment: std::option::Option, +} +impl std::fmt::Debug for SubmitAttachmentStateChangesOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitAttachmentStateChangesOutputBody"); + formatter.field("acknowledgment", &self.acknowledgment); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitContainerStateChangeOutputBody { + ///

      Acknowledgement of the state change.

      + #[serde(rename = "acknowledgment")] + #[serde(default)] + pub acknowledgment: std::option::Option, +} +impl std::fmt::Debug for SubmitContainerStateChangeOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitContainerStateChangeOutputBody"); + formatter.field("acknowledgment", &self.acknowledgment); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct SubmitTaskStateChangeOutputBody { + ///

      Acknowledgement of the state change.

      + #[serde(rename = "acknowledgment")] + #[serde(default)] + pub acknowledgment: std::option::Option, +} +impl std::fmt::Debug for SubmitTaskStateChangeOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SubmitTaskStateChangeOutputBody"); + formatter.field("acknowledgment", &self.acknowledgment); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateCapacityProviderOutputBody { + ///

      Details about the capacity provider.

      + #[serde(rename = "capacityProvider")] + #[serde(default)] + pub capacity_provider: std::option::Option, +} +impl std::fmt::Debug for UpdateCapacityProviderOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateCapacityProviderOutputBody"); + formatter.field("capacity_provider", &self.capacity_provider); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterOutputBody { + ///

      Details about the cluster.

      + #[serde(rename = "cluster")] + #[serde(default)] + pub cluster: std::option::Option, +} +impl std::fmt::Debug for UpdateClusterOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterOutputBody"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateClusterSettingsOutputBody { + ///

      Details about the cluster

      + #[serde(rename = "cluster")] + #[serde(default)] + pub cluster: std::option::Option, +} +impl std::fmt::Debug for UpdateClusterSettingsOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateClusterSettingsOutputBody"); + formatter.field("cluster", &self.cluster); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerAgentOutputBody { + ///

      The container instance for which the container agent was updated.

      + #[serde(rename = "containerInstance")] + #[serde(default)] + pub container_instance: std::option::Option, +} +impl std::fmt::Debug for UpdateContainerAgentOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerAgentOutputBody"); + formatter.field("container_instance", &self.container_instance); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateContainerInstancesStateOutputBody { + ///

      The list of container instances.

      + #[serde(rename = "containerInstances")] + #[serde(default)] + pub container_instances: std::option::Option>, + ///

      Any failures associated with the call.

      + #[serde(rename = "failures")] + #[serde(default)] + pub failures: std::option::Option>, +} +impl std::fmt::Debug for UpdateContainerInstancesStateOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateContainerInstancesStateOutputBody"); + formatter.field("container_instances", &self.container_instances); + formatter.field("failures", &self.failures); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServiceOutputBody { + ///

      The full description of your service following the update call.

      + #[serde(rename = "service")] + #[serde(default)] + pub service: std::option::Option, +} +impl std::fmt::Debug for UpdateServiceOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServiceOutputBody"); + formatter.field("service", &self.service); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateServicePrimaryTaskSetOutputBody { + ///

      Details about the task set.

      + #[serde(rename = "taskSet")] + #[serde(default)] + pub task_set: std::option::Option, +} +impl std::fmt::Debug for UpdateServicePrimaryTaskSetOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateServicePrimaryTaskSetOutputBody"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::default::Default, serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateTaskSetOutputBody { + ///

      Details about the task set.

      + #[serde(rename = "taskSet")] + #[serde(default)] + pub task_set: std::option::Option, +} +impl std::fmt::Debug for UpdateTaskSetOutputBody { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateTaskSetOutputBody"); + formatter.field("task_set", &self.task_set); + formatter.finish() + } +} diff --git a/sdk/examples/ecs/Cargo.toml b/sdk/examples/ecs/Cargo.toml new file mode 100644 index 000000000000..cbb9736bfa73 --- /dev/null +++ b/sdk/examples/ecs/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "ecs" +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] +tokio = { version = "1", features = ["full"]} +aws-sdk-ecs = { path = "../../ecs" } diff --git a/sdk/examples/ecs/src/main.rs b/sdk/examples/ecs/src/main.rs new file mode 100644 index 000000000000..65058faf8112 --- /dev/null +++ b/sdk/examples/ecs/src/main.rs @@ -0,0 +1,18 @@ +#[tokio::main] +async fn main() -> Result<(), aws_sdk_ecs::Error> { + let client = aws_sdk_ecs::Client::from_env(); + let cluster = client + .create_cluster() + .cluster_name("test_cluster") + .send() + .await?; + println!("cluster created: {:?}", cluster); + + let cluster_deleted = client + .delete_cluster() + .cluster("test_cluster") + .send() + .await?; + println!("cluster deleted: {:?}", cluster_deleted); + Ok(()) +} diff --git a/sdk/examples/s3-helloworld/Cargo.toml b/sdk/examples/s3-helloworld/Cargo.toml index 0ae2354e1b8d..233e0f3528a6 100644 --- a/sdk/examples/s3-helloworld/Cargo.toml +++ b/sdk/examples/s3-helloworld/Cargo.toml @@ -8,7 +8,6 @@ edition = "2018" [dependencies] s3 = { package = "aws-sdk-s3", path = "../../s3" } -smithy-http = { path = "../../smithy-http" } tokio = { version = "1", features = ["full"] } tracing-subscriber = "0.2.18" diff --git a/sdk/examples/s3-helloworld/src/main.rs b/sdk/examples/s3-helloworld/src/main.rs index 4cbc8a052784..2c09918410fc 100644 --- a/sdk/examples/s3-helloworld/src/main.rs +++ b/sdk/examples/s3-helloworld/src/main.rs @@ -1,5 +1,5 @@ +use s3::ByteStream; use s3::Region; -use smithy_http::byte_stream::ByteStream; use std::error::Error; use std::path::Path; use tracing_subscriber::fmt::format::FmtSpan; diff --git a/sdk/examples/sqs/Cargo.toml b/sdk/examples/sqs/Cargo.toml new file mode 100644 index 000000000000..ac8d15ec4c7c --- /dev/null +++ b/sdk/examples/sqs/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "sqs" +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] +sqs = { package = "aws-sdk-sqs", path = "../../sqs" } +tokio = { version = "1", features = ["full"] } +tracing-subscriber = "0.2.18" + +[[bin]] +name = "hello-world" diff --git a/sdk/examples/sqs/src/bin/hello-world.rs b/sdk/examples/sqs/src/bin/hello-world.rs new file mode 100644 index 000000000000..f585943101ba --- /dev/null +++ b/sdk/examples/sqs/src/bin/hello-world.rs @@ -0,0 +1,42 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::process::exit; + +#[tokio::main] +async fn main() -> Result<(), sqs::Error> { + tracing_subscriber::fmt::init(); + let client = sqs::Client::from_env(); + let queues = client.list_queues().send().await?; + let mut queue_urls = queues.queue_urls.unwrap_or_default(); + let queue_url = match queue_urls.pop() { + Some(url) => url, + None => { + eprintln!("No queues in this account. Please create a queue to proceed"); + exit(1); + } + }; + println!("sending a receiving on `{}`", queue_url); + + let rsp = client + .send_message() + .queue_url(&queue_url) + .message_body("hello from my queue") + .send() + .await?; + println!("sent a message: {:#?}", rsp); + + let rcv_message_output = client + .receive_message() + // TODO: this should not be required, https://github.com/awslabs/smithy-rs/issues/439 + .max_number_of_messages(1) + .queue_url(&queue_url) + .send() + .await?; + for message in rcv_message_output.messages.unwrap_or_default() { + println!("got a message: {:#?}", message); + } + Ok(()) +} diff --git a/sdk/kinesis/Cargo.toml b/sdk/kinesis/Cargo.toml index 29c69f3a219c..0a9ab95adcc1 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.5-alpha" +version = "0.0.6-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" @@ -32,6 +32,8 @@ version = "0.2" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [dependencies.bytes] version = "1" [features] diff --git a/sdk/kinesis/src/aws_json_errors.rs b/sdk/kinesis/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/kinesis/src/aws_json_errors.rs +++ b/sdk/kinesis/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/kinesis/src/client.rs b/sdk/kinesis/src/client.rs index 3c24776c3bb4..0579e08cad34 100644 --- a/sdk/kinesis/src/client.rs +++ b/sdk/kinesis/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,121 +33,93 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn add_tags_to_stream(&self) -> fluent_builders::AddTagsToStream { fluent_builders::AddTagsToStream::new(self.handle.clone()) } - pub fn create_stream(&self) -> fluent_builders::CreateStream { fluent_builders::CreateStream::new(self.handle.clone()) } - pub fn decrease_stream_retention_period( &self, ) -> fluent_builders::DecreaseStreamRetentionPeriod { fluent_builders::DecreaseStreamRetentionPeriod::new(self.handle.clone()) } - pub fn delete_stream(&self) -> fluent_builders::DeleteStream { fluent_builders::DeleteStream::new(self.handle.clone()) } - pub fn deregister_stream_consumer(&self) -> fluent_builders::DeregisterStreamConsumer { fluent_builders::DeregisterStreamConsumer::new(self.handle.clone()) } - pub fn describe_limits(&self) -> fluent_builders::DescribeLimits { fluent_builders::DescribeLimits::new(self.handle.clone()) } - pub fn describe_stream(&self) -> fluent_builders::DescribeStream { fluent_builders::DescribeStream::new(self.handle.clone()) } - pub fn describe_stream_consumer(&self) -> fluent_builders::DescribeStreamConsumer { fluent_builders::DescribeStreamConsumer::new(self.handle.clone()) } - pub fn describe_stream_summary(&self) -> fluent_builders::DescribeStreamSummary { fluent_builders::DescribeStreamSummary::new(self.handle.clone()) } - pub fn disable_enhanced_monitoring(&self) -> fluent_builders::DisableEnhancedMonitoring { fluent_builders::DisableEnhancedMonitoring::new(self.handle.clone()) } - pub fn enable_enhanced_monitoring(&self) -> fluent_builders::EnableEnhancedMonitoring { fluent_builders::EnableEnhancedMonitoring::new(self.handle.clone()) } - pub fn get_records(&self) -> fluent_builders::GetRecords { fluent_builders::GetRecords::new(self.handle.clone()) } - pub fn get_shard_iterator(&self) -> fluent_builders::GetShardIterator { fluent_builders::GetShardIterator::new(self.handle.clone()) } - pub fn increase_stream_retention_period( &self, ) -> fluent_builders::IncreaseStreamRetentionPeriod { fluent_builders::IncreaseStreamRetentionPeriod::new(self.handle.clone()) } - pub fn list_shards(&self) -> fluent_builders::ListShards { fluent_builders::ListShards::new(self.handle.clone()) } - pub fn list_stream_consumers(&self) -> fluent_builders::ListStreamConsumers { fluent_builders::ListStreamConsumers::new(self.handle.clone()) } - pub fn list_streams(&self) -> fluent_builders::ListStreams { fluent_builders::ListStreams::new(self.handle.clone()) } - pub fn list_tags_for_stream(&self) -> fluent_builders::ListTagsForStream { fluent_builders::ListTagsForStream::new(self.handle.clone()) } - pub fn merge_shards(&self) -> fluent_builders::MergeShards { fluent_builders::MergeShards::new(self.handle.clone()) } - pub fn put_record(&self) -> fluent_builders::PutRecord { fluent_builders::PutRecord::new(self.handle.clone()) } - pub fn put_records(&self) -> fluent_builders::PutRecords { fluent_builders::PutRecords::new(self.handle.clone()) } - pub fn register_stream_consumer(&self) -> fluent_builders::RegisterStreamConsumer { fluent_builders::RegisterStreamConsumer::new(self.handle.clone()) } - pub fn remove_tags_from_stream(&self) -> fluent_builders::RemoveTagsFromStream { fluent_builders::RemoveTagsFromStream::new(self.handle.clone()) } - pub fn split_shard(&self) -> fluent_builders::SplitShard { fluent_builders::SplitShard::new(self.handle.clone()) } - pub fn start_stream_encryption(&self) -> fluent_builders::StartStreamEncryption { fluent_builders::StartStreamEncryption::new(self.handle.clone()) } - pub fn stop_stream_encryption(&self) -> fluent_builders::StopStreamEncryption { fluent_builders::StopStreamEncryption::new(self.handle.clone()) } - pub fn update_shard_count(&self) -> fluent_builders::UpdateShardCount { fluent_builders::UpdateShardCount::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct AddTagsToStream { handle: std::sync::Arc, @@ -178,7 +148,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A set of up to 10 key-value pairs to use to create the tags.

      pub fn tags( mut self, @@ -207,7 +176,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateStream { handle: std::sync::Arc, @@ -236,7 +204,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A name to identify the stream. The stream name is scoped to the AWS account used by /// the application that creates the stream. It is also scoped by AWS Region. That is, two /// streams in two different AWS accounts can have the same name. Two streams in the same @@ -261,7 +228,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DecreaseStreamRetentionPeriod { handle: std::sync::Arc, @@ -290,7 +256,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The new retention period of the stream, in hours. Must be less than the current /// retention period.

      pub fn retention_period_hours(mut self, inp: i32) -> Self { @@ -311,7 +276,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteStream { handle: std::sync::Arc, @@ -340,7 +304,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream to delete.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -362,7 +325,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeregisterStreamConsumer { handle: std::sync::Arc, @@ -391,7 +353,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ARN of the Kinesis data stream that the consumer is registered with. For more /// information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

      pub fn stream_arn(mut self, inp: impl Into) -> Self { @@ -425,7 +386,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeLimits { handle: std::sync::Arc, @@ -455,7 +415,6 @@ pub mod fluent_builders { self.handle.client.call(op).await } } - #[derive(std::fmt::Debug)] pub struct DescribeStream { handle: std::sync::Arc, @@ -484,7 +443,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream to describe.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -517,7 +475,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeStreamConsumer { handle: std::sync::Arc, @@ -546,7 +503,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ARN of the Kinesis data stream that the consumer is registered with. For more /// information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

      pub fn stream_arn(mut self, inp: impl Into) -> Self { @@ -576,7 +532,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeStreamSummary { handle: std::sync::Arc, @@ -605,7 +560,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream to describe.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -616,7 +570,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DisableEnhancedMonitoring { handle: std::sync::Arc, @@ -645,7 +598,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      List of shard-level metrics to disable.

      ///

      The following are the valid shard-level metrics. The value "ALL" /// disables every metric.

      @@ -716,7 +668,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct EnableEnhancedMonitoring { handle: std::sync::Arc, @@ -745,7 +696,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream for which to enable enhanced monitoring.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -815,7 +765,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRecords { handle: std::sync::Arc, @@ -844,7 +793,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The position in the shard from which you want to start sequentially reading data /// records. A shard iterator specifies this position using the sequence number of a data /// record in the shard.

      @@ -868,7 +816,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetShardIterator { handle: std::sync::Arc, @@ -897,7 +844,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Determines how the shard iterator is used to start reading data records from the /// shard.

      ///

      The following are the valid Amazon Kinesis shard iterator types:

      @@ -983,7 +929,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct IncreaseStreamRetentionPeriod { handle: std::sync::Arc, @@ -1012,7 +957,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The new retention period of the stream, in hours. Must be more than the current /// retention period.

      pub fn retention_period_hours(mut self, inp: i32) -> Self { @@ -1033,7 +977,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListShards { handle: std::sync::Arc, @@ -1062,7 +1005,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The maximum number of shards to return in a single call to ListShards. /// The minimum value you can specify for this parameter is 1, and the maximum is 10,000, /// which is also the default.

      @@ -1165,7 +1107,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListStreamConsumers { handle: std::sync::Arc, @@ -1194,7 +1135,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      When the number of consumers that are registered with the data stream is greater than /// the default value for the MaxResults parameter, or if you explicitly /// specify a value for MaxResults that is less than the number of consumers @@ -1263,7 +1203,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListStreams { handle: std::sync::Arc, @@ -1292,7 +1231,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The maximum number of streams to list.

      pub fn limit(mut self, inp: i32) -> Self { self.inner = self.inner.limit(inp); @@ -1315,7 +1253,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListTagsForStream { handle: std::sync::Arc, @@ -1344,7 +1281,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The number of tags to return. If this number is less than the total number of tags /// associated with the stream, HasMoreTags is set to true. To /// list additional tags, set ExclusiveStartTagKey to the last key in the @@ -1381,7 +1317,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct MergeShards { handle: std::sync::Arc, @@ -1410,7 +1345,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The shard ID of the adjacent shard for the merge.

      pub fn adjacent_shard_to_merge(mut self, inp: impl Into) -> Self { self.inner = self.inner.adjacent_shard_to_merge(inp); @@ -1443,7 +1377,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutRecord { handle: std::sync::Arc, @@ -1472,7 +1405,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream to put the data record into.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -1539,7 +1471,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutRecords { handle: std::sync::Arc, @@ -1568,7 +1499,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The records associated with the request.

      pub fn records(mut self, inp: impl Into) -> Self { self.inner = self.inner.records(inp); @@ -1591,7 +1521,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RegisterStreamConsumer { handle: std::sync::Arc, @@ -1620,7 +1549,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      For a given Kinesis data stream, each consumer must have a unique name. However, /// consumer names don't have to be unique across data streams.

      pub fn consumer_name(mut self, inp: impl Into) -> Self { @@ -1642,7 +1570,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RemoveTagsFromStream { handle: std::sync::Arc, @@ -1671,7 +1598,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A list of tag keys. Each corresponding tag is removed from the stream.

      pub fn tag_keys(mut self, inp: impl Into) -> Self { self.inner = self.inner.tag_keys(inp); @@ -1694,7 +1620,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct SplitShard { handle: std::sync::Arc, @@ -1723,7 +1648,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The shard ID of the shard to split.

      pub fn shard_to_split(mut self, inp: impl Into) -> Self { self.inner = self.inner.shard_to_split(inp); @@ -1761,7 +1685,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StartStreamEncryption { handle: std::sync::Arc, @@ -1790,7 +1713,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream for which to start encrypting records.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -1852,7 +1774,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StopStreamEncryption { handle: std::sync::Arc, @@ -1881,7 +1802,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the stream on which to stop encrypting records.

      pub fn stream_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.stream_name(inp); @@ -1943,7 +1863,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateShardCount { handle: std::sync::Arc, @@ -1972,7 +1891,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The scaling type. Uniform scaling creates shards of equal size.

      pub fn scaling_type(mut self, inp: crate::model::ScalingType) -> Self { self.inner = self.inner.scaling_type(inp); diff --git a/sdk/kinesis/src/config.rs b/sdk/kinesis/src/config.rs index 51303bfc06c6..50504d16c3d8 100644 --- a/sdk/kinesis/src/config.rs +++ b/sdk/kinesis/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/kinesis/src/error.rs b/sdk/kinesis/src/error.rs index da1c590b9df8..bf8b21a2569f 100644 --- a/sdk/kinesis/src/error.rs +++ b/sdk/kinesis/src/error.rs @@ -12,7 +12,6 @@ pub enum AddTagsToStreamErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -35,7 +34,6 @@ impl smithy_types::retry::ProvideErrorKind for AddTagsToStreamError { None } } - impl AddTagsToStreamError { pub fn new(kind: AddTagsToStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -58,18 +56,21 @@ impl AddTagsToStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for AddTagsToStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -94,7 +95,6 @@ pub enum CreateStreamErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -116,7 +116,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateStreamError { None } } - impl CreateStreamError { pub fn new(kind: CreateStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -139,18 +138,21 @@ impl CreateStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -175,7 +177,6 @@ pub enum DecreaseStreamRetentionPeriodErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -198,7 +199,6 @@ impl smithy_types::retry::ProvideErrorKind for DecreaseStreamRetentionPeriodErro None } } - impl DecreaseStreamRetentionPeriodError { pub fn new(kind: DecreaseStreamRetentionPeriodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -221,18 +221,21 @@ impl DecreaseStreamRetentionPeriodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DecreaseStreamRetentionPeriodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -257,7 +260,6 @@ pub enum DeleteStreamErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -279,7 +281,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteStreamError { None } } - impl DeleteStreamError { pub fn new(kind: DeleteStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -302,18 +303,21 @@ impl DeleteStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -337,7 +341,6 @@ pub enum DeregisterStreamConsumerErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -359,7 +362,6 @@ impl smithy_types::retry::ProvideErrorKind for DeregisterStreamConsumerError { None } } - impl DeregisterStreamConsumerError { pub fn new(kind: DeregisterStreamConsumerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -382,18 +384,21 @@ impl DeregisterStreamConsumerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeregisterStreamConsumerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -415,7 +420,6 @@ pub struct DescribeLimitsError { #[derive(std::fmt::Debug)] pub enum DescribeLimitsErrorKind { LimitExceededError(crate::error::LimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -435,7 +439,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeLimitsError { None } } - impl DescribeLimitsError { pub fn new(kind: DescribeLimitsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -458,18 +461,21 @@ impl DescribeLimitsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeLimitsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -490,7 +496,6 @@ pub struct DescribeStreamError { pub enum DescribeStreamErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -511,7 +516,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeStreamError { None } } - impl DescribeStreamError { pub fn new(kind: DescribeStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -534,18 +538,21 @@ impl DescribeStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -568,7 +575,6 @@ pub enum DescribeStreamConsumerErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -590,7 +596,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeStreamConsumerError { None } } - impl DescribeStreamConsumerError { pub fn new(kind: DescribeStreamConsumerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -613,18 +618,21 @@ impl DescribeStreamConsumerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeStreamConsumerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -647,7 +655,6 @@ pub struct DescribeStreamSummaryError { pub enum DescribeStreamSummaryErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -668,7 +675,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeStreamSummaryError { None } } - impl DescribeStreamSummaryError { pub fn new(kind: DescribeStreamSummaryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -691,18 +697,21 @@ impl DescribeStreamSummaryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeStreamSummaryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -726,7 +735,6 @@ pub enum DisableEnhancedMonitoringErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -749,7 +757,6 @@ impl smithy_types::retry::ProvideErrorKind for DisableEnhancedMonitoringError { None } } - impl DisableEnhancedMonitoringError { pub fn new(kind: DisableEnhancedMonitoringErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -772,18 +779,21 @@ impl DisableEnhancedMonitoringError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DisableEnhancedMonitoringError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -809,7 +819,6 @@ pub enum EnableEnhancedMonitoringErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -832,7 +841,6 @@ impl smithy_types::retry::ProvideErrorKind for EnableEnhancedMonitoringError { None } } - impl EnableEnhancedMonitoringError { pub fn new(kind: EnableEnhancedMonitoringErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -855,18 +863,21 @@ impl EnableEnhancedMonitoringError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for EnableEnhancedMonitoringError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -898,7 +909,6 @@ pub enum GetRecordsErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), KMSInvalidStateError(crate::error::KMSInvalidStateError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -927,7 +937,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRecordsError { None } } - impl GetRecordsError { pub fn new(kind: GetRecordsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -950,18 +959,21 @@ impl GetRecordsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRecordsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -992,7 +1004,6 @@ pub enum GetShardIteratorErrorKind { ProvisionedThroughputExceededError(crate::error::ProvisionedThroughputExceededError), InvalidArgumentError(crate::error::InvalidArgumentError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1014,7 +1025,6 @@ impl smithy_types::retry::ProvideErrorKind for GetShardIteratorError { None } } - impl GetShardIteratorError { pub fn new(kind: GetShardIteratorErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1037,18 +1047,21 @@ impl GetShardIteratorError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetShardIteratorError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1073,7 +1086,6 @@ pub enum IncreaseStreamRetentionPeriodErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1096,7 +1108,6 @@ impl smithy_types::retry::ProvideErrorKind for IncreaseStreamRetentionPeriodErro None } } - impl IncreaseStreamRetentionPeriodError { pub fn new(kind: IncreaseStreamRetentionPeriodErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1119,18 +1130,21 @@ impl IncreaseStreamRetentionPeriodError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for IncreaseStreamRetentionPeriodError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1157,7 +1171,6 @@ pub enum ListShardsErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1181,7 +1194,6 @@ impl smithy_types::retry::ProvideErrorKind for ListShardsError { None } } - impl ListShardsError { pub fn new(kind: ListShardsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1204,18 +1216,21 @@ impl ListShardsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListShardsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1243,7 +1258,6 @@ pub enum ListStreamConsumersErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1267,7 +1281,6 @@ impl smithy_types::retry::ProvideErrorKind for ListStreamConsumersError { None } } - impl ListStreamConsumersError { pub fn new(kind: ListStreamConsumersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1290,18 +1303,21 @@ impl ListStreamConsumersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListStreamConsumersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1325,7 +1341,6 @@ pub struct ListStreamsError { #[derive(std::fmt::Debug)] pub enum ListStreamsErrorKind { LimitExceededError(crate::error::LimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1345,7 +1360,6 @@ impl smithy_types::retry::ProvideErrorKind for ListStreamsError { None } } - impl ListStreamsError { pub fn new(kind: ListStreamsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1368,18 +1382,21 @@ impl ListStreamsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListStreamsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1401,7 +1418,6 @@ pub enum ListTagsForStreamErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1423,7 +1439,6 @@ impl smithy_types::retry::ProvideErrorKind for ListTagsForStreamError { None } } - impl ListTagsForStreamError { pub fn new(kind: ListTagsForStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1446,18 +1461,21 @@ impl ListTagsForStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListTagsForStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1482,7 +1500,6 @@ pub enum MergeShardsErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1505,7 +1522,6 @@ impl smithy_types::retry::ProvideErrorKind for MergeShardsError { None } } - impl MergeShardsError { pub fn new(kind: MergeShardsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1528,18 +1544,21 @@ impl MergeShardsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for MergeShardsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1570,7 +1589,6 @@ pub enum PutRecordErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), KMSInvalidStateError(crate::error::KMSInvalidStateError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1598,7 +1616,6 @@ impl smithy_types::retry::ProvideErrorKind for PutRecordError { None } } - impl PutRecordError { pub fn new(kind: PutRecordErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1621,18 +1638,21 @@ impl PutRecordError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutRecordError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1668,7 +1688,6 @@ pub enum PutRecordsErrorKind { InvalidArgumentError(crate::error::InvalidArgumentError), KMSInvalidStateError(crate::error::KMSInvalidStateError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1696,7 +1715,6 @@ impl smithy_types::retry::ProvideErrorKind for PutRecordsError { None } } - impl PutRecordsError { pub fn new(kind: PutRecordsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1719,18 +1737,21 @@ impl PutRecordsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutRecordsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1761,7 +1782,6 @@ pub enum RegisterStreamConsumerErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1784,7 +1804,6 @@ impl smithy_types::retry::ProvideErrorKind for RegisterStreamConsumerError { None } } - impl RegisterStreamConsumerError { pub fn new(kind: RegisterStreamConsumerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1807,18 +1826,21 @@ impl RegisterStreamConsumerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RegisterStreamConsumerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1844,7 +1866,6 @@ pub enum RemoveTagsFromStreamErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1867,7 +1888,6 @@ impl smithy_types::retry::ProvideErrorKind for RemoveTagsFromStreamError { None } } - impl RemoveTagsFromStreamError { pub fn new(kind: RemoveTagsFromStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1890,18 +1910,21 @@ impl RemoveTagsFromStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RemoveTagsFromStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1927,7 +1950,6 @@ pub enum SplitShardErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1950,7 +1972,6 @@ impl smithy_types::retry::ProvideErrorKind for SplitShardError { None } } - impl SplitShardError { pub fn new(kind: SplitShardErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1973,18 +1994,21 @@ impl SplitShardError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for SplitShardError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2016,7 +2040,6 @@ pub enum StartStreamEncryptionErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2045,7 +2068,6 @@ impl smithy_types::retry::ProvideErrorKind for StartStreamEncryptionError { None } } - impl StartStreamEncryptionError { pub fn new(kind: StartStreamEncryptionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2068,18 +2090,21 @@ impl StartStreamEncryptionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StartStreamEncryptionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2111,7 +2136,6 @@ pub enum StopStreamEncryptionErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2134,7 +2158,6 @@ impl smithy_types::retry::ProvideErrorKind for StopStreamEncryptionError { None } } - impl StopStreamEncryptionError { pub fn new(kind: StopStreamEncryptionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2157,18 +2180,21 @@ impl StopStreamEncryptionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StopStreamEncryptionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2194,7 +2220,6 @@ pub enum UpdateShardCountErrorKind { ResourceInUseError(crate::error::ResourceInUseError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2217,7 +2242,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateShardCountError { None } } - impl UpdateShardCountError { pub fn new(kind: UpdateShardCountErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2240,18 +2264,21 @@ impl UpdateShardCountError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateShardCountError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2267,11 +2294,10 @@ impl std::error::Error for UpdateShardCountError { ///

      The requested resource could not be found. The stream might not be specified /// correctly.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotFoundError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2333,11 +2359,10 @@ impl ResourceNotFoundError { ///

      The requested resource exceeds the maximum number allowed, or the number of /// concurrent stream requests exceeds the maximum number allowed.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2399,11 +2424,10 @@ impl LimitExceededError { ///

      The resource is not available for this operation. For successful operation, the /// resource must be in the ACTIVE state.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceInUseError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2465,11 +2489,10 @@ impl ResourceInUseError { ///

      A specified parameter exceeds its restrictions, is not supported, or can't be used. /// For more information, see the returned message.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidArgumentError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2533,11 +2556,10 @@ impl InvalidArgumentError { /// Customer Master Key in the AWS Key Management Service Developer /// Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSInvalidStateError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2600,11 +2622,10 @@ impl KMSInvalidStateError { /// throttling, see Limits in /// the AWS Key Management Service Developer Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSThrottlingError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2665,11 +2686,10 @@ impl KMSThrottlingError { ///

      The AWS access key ID needs a subscription for the service.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSOptInRequired { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2731,11 +2751,10 @@ impl KMSOptInRequired { ///

      The request was rejected because the specified entity or resource can't be /// found.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSNotFoundError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2797,11 +2816,10 @@ impl KMSNotFoundError { ///

      The request was rejected because the specified customer master key (CMK) isn't /// enabled.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSDisabledError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2863,11 +2881,10 @@ impl KMSDisabledError { ///

      The ciphertext references a key that doesn't exist or that you don't have access /// to.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSAccessDeniedError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2933,11 +2950,10 @@ impl KMSAccessDeniedError { /// Exponential Backoff in AWS in the AWS General /// Reference.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedThroughputExceededError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -3001,10 +3017,9 @@ impl ProvisionedThroughputExceededError { ///

      The pagination token passed to the operation is expired.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExpiredNextTokenError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -3064,11 +3079,10 @@ impl ExpiredNextTokenError { ///

      The provided iterator exceeds the maximum age allowed.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExpiredIteratorError { ///

      A message that provides information about the error.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/kinesis/src/input.rs b/sdk/kinesis/src/input.rs index 753f89944ba0..b4e14c6fc1b8 100644 --- a/sdk/kinesis/src/input.rs +++ b/sdk/kinesis/src/input.rs @@ -66,47 +66,38 @@ impl AddTagsToStreamInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_add_tags_to_stream_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_add_tags_to_stream(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::AddTagsToStream::new(), @@ -115,7 +106,6 @@ impl AddTagsToStreamInput { "AddTagsToStream", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -125,7 +115,6 @@ impl AddTagsToStreamInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -205,46 +194,38 @@ impl CreateStreamInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_stream_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_stream(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateStream::new(), @@ -253,7 +234,6 @@ impl CreateStreamInput { "CreateStream", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -263,7 +243,6 @@ impl CreateStreamInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -342,45 +321,39 @@ impl DecreaseStreamRetentionPeriodInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_decrease_stream_retention_period_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_decrease_stream_retention_period(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DecreaseStreamRetentionPeriod::new(), @@ -389,7 +362,6 @@ impl DecreaseStreamRetentionPeriodInput { "DecreaseStreamRetentionPeriod", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -399,7 +371,6 @@ impl DecreaseStreamRetentionPeriodInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -479,46 +450,38 @@ impl DeleteStreamInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_stream_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_stream(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteStream::new(), @@ -527,7 +490,6 @@ impl DeleteStreamInput { "DeleteStream", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -537,7 +499,6 @@ impl DeleteStreamInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -629,49 +590,38 @@ impl DeregisterStreamConsumerInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_deregister_stream_consumer_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_deregister_stream_consumer(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeregisterStreamConsumer::new(), @@ -680,7 +630,6 @@ impl DeregisterStreamConsumerInput { "DeregisterStreamConsumer", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -690,7 +639,6 @@ impl DeregisterStreamConsumerInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -743,41 +691,33 @@ impl DescribeLimitsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeLimits::new(), @@ -786,7 +726,6 @@ impl DescribeLimitsInput { "DescribeLimits", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -796,7 +735,6 @@ impl DescribeLimitsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -886,46 +824,37 @@ impl DescribeStreamInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_stream_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_stream(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeStream::new(), @@ -934,7 +863,6 @@ impl DescribeStreamInput { "DescribeStream", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -944,7 +872,6 @@ impl DescribeStreamInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1032,49 +959,38 @@ impl DescribeStreamConsumerInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_stream_consumer_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_stream_consumer(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeStreamConsumer::new(), @@ -1083,7 +999,6 @@ impl DescribeStreamConsumerInput { "DescribeStreamConsumer", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1093,7 +1008,6 @@ impl DescribeStreamConsumerInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1158,47 +1072,38 @@ impl DescribeStreamSummaryInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_stream_summary_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_stream_summary(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeStreamSummary::new(), @@ -1207,7 +1112,6 @@ impl DescribeStreamSummaryInput { "DescribeStreamSummary", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1217,7 +1121,6 @@ impl DescribeStreamSummaryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1299,49 +1202,38 @@ impl DisableEnhancedMonitoringInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_disable_enhanced_monitoring_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_disable_enhanced_monitoring(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DisableEnhancedMonitoring::new(), @@ -1350,7 +1242,6 @@ impl DisableEnhancedMonitoringInput { "DisableEnhancedMonitoring", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1360,7 +1251,6 @@ impl DisableEnhancedMonitoringInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1441,49 +1331,38 @@ impl EnableEnhancedMonitoringInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_enable_enhanced_monitoring_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_enable_enhanced_monitoring(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::EnableEnhancedMonitoring::new(), @@ -1492,7 +1371,6 @@ impl EnableEnhancedMonitoringInput { "EnableEnhancedMonitoring", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1502,7 +1380,6 @@ impl EnableEnhancedMonitoringInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1581,46 +1458,38 @@ impl GetRecordsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_records_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_records(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRecords::new(), @@ -1629,7 +1498,6 @@ impl GetRecordsInput { "GetRecords", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1639,7 +1507,6 @@ impl GetRecordsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1787,47 +1654,38 @@ impl GetShardIteratorInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_shard_iterator_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_shard_iterator(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetShardIterator::new(), @@ -1836,7 +1694,6 @@ impl GetShardIteratorInput { "GetShardIterator", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1846,7 +1703,6 @@ impl GetShardIteratorInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1925,45 +1781,39 @@ impl IncreaseStreamRetentionPeriodInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_increase_stream_retention_period_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_increase_stream_retention_period(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::IncreaseStreamRetentionPeriod::new(), @@ -1972,7 +1822,6 @@ impl IncreaseStreamRetentionPeriodInput { "IncreaseStreamRetentionPeriod", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1982,7 +1831,6 @@ impl IncreaseStreamRetentionPeriodInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2151,46 +1999,38 @@ impl ListShardsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_shards_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_shards(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListShards::new(), @@ -2199,7 +2039,6 @@ impl ListShardsInput { "ListShards", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2209,7 +2048,6 @@ impl ListShardsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2338,47 +2176,38 @@ impl ListStreamConsumersInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_stream_consumers_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_list_stream_consumers(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListStreamConsumers::new(), @@ -2387,7 +2216,6 @@ impl ListStreamConsumersInput { "ListStreamConsumers", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2397,7 +2225,6 @@ impl ListStreamConsumersInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2475,46 +2302,38 @@ impl ListStreamsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_streams_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_streams(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListStreams::new(), @@ -2523,7 +2342,6 @@ impl ListStreamsInput { "ListStreams", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2533,7 +2351,6 @@ impl ListStreamsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2628,47 +2445,38 @@ impl ListTagsForStreamInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_tags_for_stream_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_tags_for_stream(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListTagsForStream::new(), @@ -2677,7 +2485,6 @@ impl ListTagsForStreamInput { "ListTagsForStream", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2687,7 +2494,6 @@ impl ListTagsForStreamInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2777,46 +2583,38 @@ impl MergeShardsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_merge_shards_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_merge_shards(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::MergeShards::new(), @@ -2825,7 +2623,6 @@ impl MergeShardsInput { "MergeShards", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2835,7 +2632,6 @@ impl MergeShardsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2963,53 +2759,44 @@ impl PutRecordInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_record_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_record(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::PutRecord::new()) .with_metadata(smithy_http::operation::Metadata::new( "PutRecord", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3019,7 +2806,6 @@ impl PutRecordInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3099,46 +2885,38 @@ impl PutRecordsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_records_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_records(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutRecords::new(), @@ -3147,7 +2925,6 @@ impl PutRecordsInput { "PutRecords", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3157,7 +2934,6 @@ impl PutRecordsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3235,49 +3011,38 @@ impl RegisterStreamConsumerInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_register_stream_consumer_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_register_stream_consumer(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RegisterStreamConsumer::new(), @@ -3286,7 +3051,6 @@ impl RegisterStreamConsumerInput { "RegisterStreamConsumer", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3296,7 +3060,6 @@ impl RegisterStreamConsumerInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3376,47 +3139,38 @@ impl RemoveTagsFromStreamInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_remove_tags_from_stream_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_remove_tags_from_stream(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RemoveTagsFromStream::new(), @@ -3425,7 +3179,6 @@ impl RemoveTagsFromStreamInput { "RemoveTagsFromStream", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3435,7 +3188,6 @@ impl RemoveTagsFromStreamInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3530,46 +3282,38 @@ impl SplitShardInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_split_shard_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_split_shard(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::SplitShard::new(), @@ -3578,7 +3322,6 @@ impl SplitShardInput { "SplitShard", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3588,7 +3331,6 @@ impl SplitShardInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3708,47 +3450,38 @@ impl StartStreamEncryptionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_start_stream_encryption_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_start_stream_encryption(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StartStreamEncryption::new(), @@ -3757,7 +3490,6 @@ impl StartStreamEncryptionInput { "StartStreamEncryption", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3767,7 +3499,6 @@ impl StartStreamEncryptionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3887,47 +3618,38 @@ impl StopStreamEncryptionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_stop_stream_encryption_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_stop_stream_encryption(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StopStreamEncryption::new(), @@ -3936,7 +3658,6 @@ impl StopStreamEncryptionInput { "StopStreamEncryption", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3946,7 +3667,6 @@ impl StopStreamEncryptionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4055,47 +3775,38 @@ impl UpdateShardCountInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_shard_count_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_shard_count(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateShardCount::new(), @@ -4104,7 +3815,6 @@ impl UpdateShardCountInput { "UpdateShardCount", "kinesis", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4114,7 +3824,6 @@ impl UpdateShardCountInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") diff --git a/sdk/kinesis/src/json_deser.rs b/sdk/kinesis/src/json_deser.rs index 7647cdf44fdf..5aac4a054b07 100644 --- a/sdk/kinesis/src/json_deser.rs +++ b/sdk/kinesis/src/json_deser.rs @@ -11,7 +11,6 @@ pub fn describe_limits_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_open_shard_count(parsed_body.open_shard_count); builder = builder.set_shard_limit(parsed_body.shard_limit); Ok(builder) @@ -29,7 +28,6 @@ pub fn describe_stream_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream_description(parsed_body.stream_description); Ok(builder) } @@ -46,7 +44,6 @@ pub fn describe_stream_consumer_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_consumer_description(parsed_body.consumer_description); Ok(builder) } @@ -63,7 +60,6 @@ pub fn describe_stream_summary_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream_description_summary(parsed_body.stream_description_summary); Ok(builder) } @@ -80,7 +76,6 @@ pub fn disable_enhanced_monitoring_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_desired_shard_level_metrics(parsed_body.desired_shard_level_metrics); builder = builder.set_stream_name(parsed_body.stream_name); builder = builder.set_current_shard_level_metrics(parsed_body.current_shard_level_metrics); @@ -99,7 +94,6 @@ pub fn enable_enhanced_monitoring_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_desired_shard_level_metrics(parsed_body.desired_shard_level_metrics); builder = builder.set_stream_name(parsed_body.stream_name); builder = builder.set_current_shard_level_metrics(parsed_body.current_shard_level_metrics); @@ -118,7 +112,6 @@ pub fn get_records_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_shard_iterator(parsed_body.next_shard_iterator); builder = builder.set_records(parsed_body.records); builder = builder.set_millis_behind_latest(parsed_body.millis_behind_latest); @@ -138,7 +131,6 @@ pub fn get_shard_iterator_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_shard_iterator(parsed_body.shard_iterator); Ok(builder) } @@ -155,7 +147,6 @@ pub fn list_shards_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_token(parsed_body.next_token); builder = builder.set_shards(parsed_body.shards); Ok(builder) @@ -173,7 +164,6 @@ pub fn list_stream_consumers_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_consumers(parsed_body.consumers); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -191,7 +181,6 @@ pub fn list_streams_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream_names(parsed_body.stream_names); builder = builder.set_has_more_streams(parsed_body.has_more_streams); Ok(builder) @@ -209,7 +198,6 @@ pub fn list_tags_for_stream_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tags(parsed_body.tags); builder = builder.set_has_more_tags(parsed_body.has_more_tags); Ok(builder) @@ -227,7 +215,6 @@ pub fn put_record_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_shard_id(parsed_body.shard_id); builder = builder.set_sequence_number(parsed_body.sequence_number); builder = builder.set_encryption_type(parsed_body.encryption_type); @@ -246,7 +233,6 @@ pub fn put_records_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_records(parsed_body.records); builder = builder.set_encryption_type(parsed_body.encryption_type); builder = builder.set_failed_record_count(parsed_body.failed_record_count); @@ -265,7 +251,6 @@ pub fn register_stream_consumer_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_consumer(parsed_body.consumer); Ok(builder) } @@ -282,7 +267,6 @@ pub fn update_shard_count_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream_name(parsed_body.stream_name); builder = builder.set_target_shard_count(parsed_body.target_shard_count); builder = builder.set_current_shard_count(parsed_body.current_shard_count); diff --git a/sdk/kinesis/src/json_ser.rs b/sdk/kinesis/src/json_ser.rs new file mode 100644 index 000000000000..0f4dc614f626 --- /dev/null +++ b/sdk/kinesis/src/json_ser.rs @@ -0,0 +1,468 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_add_tags_to_stream_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::AddTagsToStreamInput, +) { + if let Some(var_1) = &input.tags { + let mut object_2 = object.key("Tags").start_object(); + for (key_3, value_4) in var_1 { + object_2.key(key_3).string(value_4); + } + object_2.finish(); + } + if let Some(var_5) = &input.stream_name { + object.key("StreamName").string(var_5); + } +} + +pub fn serialize_structure_create_stream_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateStreamInput, +) { + if let Some(var_6) = &input.stream_name { + object.key("StreamName").string(var_6); + } + if let Some(var_7) = &input.shard_count { + object.key("ShardCount").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_7).into()), + ); + } +} + +pub fn serialize_structure_decrease_stream_retention_period_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DecreaseStreamRetentionPeriodInput, +) { + if let Some(var_8) = &input.retention_period_hours { + object.key("RetentionPeriodHours").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_8).into()), + ); + } + if let Some(var_9) = &input.stream_name { + object.key("StreamName").string(var_9); + } +} + +pub fn serialize_structure_delete_stream_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteStreamInput, +) { + if let Some(var_10) = &input.stream_name { + object.key("StreamName").string(var_10); + } + if let Some(var_11) = &input.enforce_consumer_deletion { + object.key("EnforceConsumerDeletion").boolean(*var_11); + } +} + +pub fn serialize_structure_deregister_stream_consumer_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterStreamConsumerInput, +) { + if let Some(var_12) = &input.stream_arn { + object.key("StreamARN").string(var_12); + } + if let Some(var_13) = &input.consumer_name { + object.key("ConsumerName").string(var_13); + } + if let Some(var_14) = &input.consumer_arn { + object.key("ConsumerARN").string(var_14); + } +} + +pub fn serialize_structure_describe_stream_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeStreamInput, +) { + if let Some(var_15) = &input.stream_name { + object.key("StreamName").string(var_15); + } + if let Some(var_16) = &input.exclusive_start_shard_id { + object.key("ExclusiveStartShardId").string(var_16); + } + if let Some(var_17) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_17).into()), + ); + } +} + +pub fn serialize_structure_describe_stream_consumer_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeStreamConsumerInput, +) { + if let Some(var_18) = &input.stream_arn { + object.key("StreamARN").string(var_18); + } + if let Some(var_19) = &input.consumer_name { + object.key("ConsumerName").string(var_19); + } + if let Some(var_20) = &input.consumer_arn { + object.key("ConsumerARN").string(var_20); + } +} + +pub fn serialize_structure_describe_stream_summary_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeStreamSummaryInput, +) { + if let Some(var_21) = &input.stream_name { + object.key("StreamName").string(var_21); + } +} + +pub fn serialize_structure_disable_enhanced_monitoring_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DisableEnhancedMonitoringInput, +) { + if let Some(var_22) = &input.shard_level_metrics { + let mut array_23 = object.key("ShardLevelMetrics").start_array(); + for item_24 in var_22 { + array_23.value().string(item_24.as_str()); + } + array_23.finish(); + } + if let Some(var_25) = &input.stream_name { + object.key("StreamName").string(var_25); + } +} + +pub fn serialize_structure_enable_enhanced_monitoring_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::EnableEnhancedMonitoringInput, +) { + if let Some(var_26) = &input.stream_name { + object.key("StreamName").string(var_26); + } + if let Some(var_27) = &input.shard_level_metrics { + let mut array_28 = object.key("ShardLevelMetrics").start_array(); + for item_29 in var_27 { + array_28.value().string(item_29.as_str()); + } + array_28.finish(); + } +} + +pub fn serialize_structure_get_records_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetRecordsInput, +) { + if let Some(var_30) = &input.shard_iterator { + object.key("ShardIterator").string(var_30); + } + if let Some(var_31) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_31).into()), + ); + } +} + +pub fn serialize_structure_get_shard_iterator_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetShardIteratorInput, +) { + if let Some(var_32) = &input.shard_iterator_type { + object.key("ShardIteratorType").string(var_32.as_str()); + } + if let Some(var_33) = &input.shard_id { + object.key("ShardId").string(var_33); + } + if let Some(var_34) = &input.starting_sequence_number { + object.key("StartingSequenceNumber").string(var_34); + } + if let Some(var_35) = &input.timestamp { + object + .key("Timestamp") + .instant(var_35, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_36) = &input.stream_name { + object.key("StreamName").string(var_36); + } +} + +pub fn serialize_structure_increase_stream_retention_period_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::IncreaseStreamRetentionPeriodInput, +) { + if let Some(var_37) = &input.retention_period_hours { + object.key("RetentionPeriodHours").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_37).into()), + ); + } + if let Some(var_38) = &input.stream_name { + object.key("StreamName").string(var_38); + } +} + +pub fn serialize_structure_list_shards_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListShardsInput, +) { + if let Some(var_39) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_39).into()), + ); + } + if let Some(var_40) = &input.stream_creation_timestamp { + object + .key("StreamCreationTimestamp") + .instant(var_40, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_41) = &input.next_token { + object.key("NextToken").string(var_41); + } + if let Some(var_42) = &input.exclusive_start_shard_id { + object.key("ExclusiveStartShardId").string(var_42); + } + if let Some(var_43) = &input.shard_filter { + let mut object_44 = object.key("ShardFilter").start_object(); + crate::json_ser::serialize_structure_shard_filter(&mut object_44, var_43); + object_44.finish(); + } + if let Some(var_45) = &input.stream_name { + object.key("StreamName").string(var_45); + } +} + +pub fn serialize_structure_list_stream_consumers_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListStreamConsumersInput, +) { + if let Some(var_46) = &input.next_token { + object.key("NextToken").string(var_46); + } + if let Some(var_47) = &input.stream_creation_timestamp { + object + .key("StreamCreationTimestamp") + .instant(var_47, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_48) = &input.stream_arn { + object.key("StreamARN").string(var_48); + } + if let Some(var_49) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_49).into()), + ); + } +} + +pub fn serialize_structure_list_streams_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListStreamsInput, +) { + if let Some(var_50) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_50).into()), + ); + } + if let Some(var_51) = &input.exclusive_start_stream_name { + object.key("ExclusiveStartStreamName").string(var_51); + } +} + +pub fn serialize_structure_list_tags_for_stream_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTagsForStreamInput, +) { + if let Some(var_52) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_52).into()), + ); + } + if let Some(var_53) = &input.exclusive_start_tag_key { + object.key("ExclusiveStartTagKey").string(var_53); + } + if let Some(var_54) = &input.stream_name { + object.key("StreamName").string(var_54); + } +} + +pub fn serialize_structure_merge_shards_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::MergeShardsInput, +) { + if let Some(var_55) = &input.adjacent_shard_to_merge { + object.key("AdjacentShardToMerge").string(var_55); + } + if let Some(var_56) = &input.stream_name { + object.key("StreamName").string(var_56); + } + if let Some(var_57) = &input.shard_to_merge { + object.key("ShardToMerge").string(var_57); + } +} + +pub fn serialize_structure_put_record_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutRecordInput, +) { + if let Some(var_58) = &input.stream_name { + object.key("StreamName").string(var_58); + } + if let Some(var_59) = &input.explicit_hash_key { + object.key("ExplicitHashKey").string(var_59); + } + if let Some(var_60) = &input.sequence_number_for_ordering { + object.key("SequenceNumberForOrdering").string(var_60); + } + if let Some(var_61) = &input.partition_key { + object.key("PartitionKey").string(var_61); + } + if let Some(var_62) = &input.data { + object + .key("Data") + .string_unchecked(&smithy_http::base64::encode(var_62)); + } +} + +pub fn serialize_structure_put_records_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutRecordsInput, +) { + if let Some(var_63) = &input.records { + let mut array_64 = object.key("Records").start_array(); + for item_65 in var_63 { + let mut object_66 = array_64.value().start_object(); + crate::json_ser::serialize_structure_put_records_request_entry(&mut object_66, item_65); + object_66.finish(); + } + array_64.finish(); + } + if let Some(var_67) = &input.stream_name { + object.key("StreamName").string(var_67); + } +} + +pub fn serialize_structure_register_stream_consumer_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterStreamConsumerInput, +) { + if let Some(var_68) = &input.consumer_name { + object.key("ConsumerName").string(var_68); + } + if let Some(var_69) = &input.stream_arn { + object.key("StreamARN").string(var_69); + } +} + +pub fn serialize_structure_remove_tags_from_stream_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RemoveTagsFromStreamInput, +) { + if let Some(var_70) = &input.tag_keys { + let mut array_71 = object.key("TagKeys").start_array(); + for item_72 in var_70 { + array_71.value().string(item_72); + } + array_71.finish(); + } + if let Some(var_73) = &input.stream_name { + object.key("StreamName").string(var_73); + } +} + +pub fn serialize_structure_split_shard_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SplitShardInput, +) { + if let Some(var_74) = &input.shard_to_split { + object.key("ShardToSplit").string(var_74); + } + if let Some(var_75) = &input.new_starting_hash_key { + object.key("NewStartingHashKey").string(var_75); + } + if let Some(var_76) = &input.stream_name { + object.key("StreamName").string(var_76); + } +} + +pub fn serialize_structure_start_stream_encryption_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartStreamEncryptionInput, +) { + if let Some(var_77) = &input.stream_name { + object.key("StreamName").string(var_77); + } + if let Some(var_78) = &input.encryption_type { + object.key("EncryptionType").string(var_78.as_str()); + } + if let Some(var_79) = &input.key_id { + object.key("KeyId").string(var_79); + } +} + +pub fn serialize_structure_stop_stream_encryption_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StopStreamEncryptionInput, +) { + if let Some(var_80) = &input.stream_name { + object.key("StreamName").string(var_80); + } + if let Some(var_81) = &input.encryption_type { + object.key("EncryptionType").string(var_81.as_str()); + } + if let Some(var_82) = &input.key_id { + object.key("KeyId").string(var_82); + } +} + +pub fn serialize_structure_update_shard_count_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateShardCountInput, +) { + if let Some(var_83) = &input.scaling_type { + object.key("ScalingType").string(var_83.as_str()); + } + if let Some(var_84) = &input.stream_name { + object.key("StreamName").string(var_84); + } + if let Some(var_85) = &input.target_shard_count { + object.key("TargetShardCount").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_85).into()), + ); + } +} + +pub fn serialize_structure_shard_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ShardFilter, +) { + if let Some(var_86) = &input.shard_id { + object.key("ShardId").string(var_86); + } + if let Some(var_87) = &input.timestamp { + object + .key("Timestamp") + .instant(var_87, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_88) = &input.r#type { + object.key("Type").string(var_88.as_str()); + } +} + +pub fn serialize_structure_put_records_request_entry( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PutRecordsRequestEntry, +) { + if let Some(var_89) = &input.data { + object + .key("Data") + .string_unchecked(&smithy_http::base64::encode(var_89)); + } + if let Some(var_90) = &input.partition_key { + object.key("PartitionKey").string(var_90); + } + if let Some(var_91) = &input.explicit_hash_key { + object.key("ExplicitHashKey").string(var_91); + } +} diff --git a/sdk/kinesis/src/lib.rs b/sdk/kinesis/src/lib.rs index 08f85133fea0..804385af0a3b 100644 --- a/sdk/kinesis/src/lib.rs +++ b/sdk/kinesis/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! Amazon Kinesis Data Streams Service API Reference //!

      Amazon Kinesis Data Streams is a managed service that scales elastically for //! real-time processing of streaming big data.

      @@ -21,6 +22,7 @@ mod error_meta; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_ser; @@ -28,6 +30,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/kinesis/src/model.rs b/sdk/kinesis/src/model.rs index 5ae082f5cdf7..ef6e571d9134 100644 --- a/sdk/kinesis/src/model.rs +++ b/sdk/kinesis/src/model.rs @@ -21,7 +21,6 @@ impl std::convert::From<&str> for ScalingType { } } } - impl std::str::FromStr for ScalingType { type Err = std::convert::Infallible; @@ -29,7 +28,6 @@ impl std::str::FromStr for ScalingType { Ok(ScalingType::from(s)) } } - impl ScalingType { pub fn as_str(&self) -> &str { match self { @@ -43,19 +41,6 @@ impl AsRef for ScalingType { self.as_str() } } - -impl serde::Serialize for ScalingType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ScalingType { fn deserialize(deserializer: D) -> Result where @@ -90,7 +75,6 @@ impl std::convert::From<&str> for EncryptionType { } } } - impl std::str::FromStr for EncryptionType { type Err = std::convert::Infallible; @@ -98,7 +82,6 @@ impl std::str::FromStr for EncryptionType { Ok(EncryptionType::from(s)) } } - impl EncryptionType { pub fn as_str(&self) -> &str { match self { @@ -113,19 +96,6 @@ impl AsRef for EncryptionType { self.as_str() } } - -impl serde::Serialize for EncryptionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for EncryptionType { fn deserialize(deserializer: D) -> Result where @@ -139,12 +109,11 @@ impl<'de> serde::Deserialize<'de> for EncryptionType { ///

      An object that represents the details of the consumer you registered. This type of /// object is returned by RegisterStreamConsumer.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Consumer { ///

      The name of the consumer is something you choose when you register the /// consumer.

      #[serde(rename = "ConsumerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_name: std::option::Option, ///

      When you register a consumer, Kinesis Data Streams generates an ARN for it. You need @@ -153,21 +122,15 @@ pub struct Consumer { /// the same ARN. That's because consumer ARNs contain the creation timestamp. This is /// important to keep in mind if you have IAM policies that reference consumer ARNs.

      #[serde(rename = "ConsumerARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_arn: std::option::Option, ///

      A consumer can't read data while in the CREATING or DELETING /// states.

      #[serde(rename = "ConsumerStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_status: std::option::Option, ///

      #[serde(rename = "ConsumerCreationTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -291,7 +254,6 @@ impl std::convert::From<&str> for ConsumerStatus { } } } - impl std::str::FromStr for ConsumerStatus { type Err = std::convert::Infallible; @@ -299,7 +261,6 @@ impl std::str::FromStr for ConsumerStatus { Ok(ConsumerStatus::from(s)) } } - impl ConsumerStatus { pub fn as_str(&self) -> &str { match self { @@ -315,19 +276,6 @@ impl AsRef for ConsumerStatus { self.as_str() } } - -impl serde::Serialize for ConsumerStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ConsumerStatus { fn deserialize(deserializer: D) -> Result where @@ -344,18 +292,16 @@ impl<'de> serde::Deserialize<'de> for ConsumerStatus { /// fails to be added to the stream includes ErrorCode and /// ErrorMessage in the result.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PutRecordsResultEntry { ///

      The error code for an individual record result. ErrorCodes can be /// either ProvisionedThroughputExceededException or /// InternalFailure.

      #[serde(rename = "ErrorCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_code: std::option::Option, ///

      The shard ID for an individual record result.

      #[serde(rename = "ShardId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shard_id: std::option::Option, ///

      The error message for an individual record result. An ErrorCode value @@ -364,12 +310,10 @@ pub struct PutRecordsResultEntry { /// InternalFailure has the error message "Internal Service /// Failure".

      #[serde(rename = "ErrorMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_message: std::option::Option, ///

      The sequence number for an individual record result.

      #[serde(rename = "SequenceNumber")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sequence_number: std::option::Option, } @@ -460,15 +404,13 @@ impl PutRecordsResultEntry { ///

      Represents the output for PutRecords.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PutRecordsRequestEntry { ///

      The data blob to put into the record, which is base64-encoded when the blob is /// serialized. When the data blob (the payload before base64-encoding) is added to the /// partition key size, the total size must not exceed the maximum record size (1 /// MiB).

      #[serde(rename = "Data")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub data: std::option::Option, @@ -480,13 +422,11 @@ pub struct PutRecordsRequestEntry { /// data records to shards. As a result of this hashing mechanism, all data records with the /// same partition key map to the same shard within the stream.

      #[serde(rename = "PartitionKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub partition_key: std::option::Option, ///

      The hash value used to determine explicitly the shard that the data record is /// assigned to by overriding the partition key hash.

      #[serde(rename = "ExplicitHashKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub explicit_hash_key: std::option::Option, } @@ -569,19 +509,17 @@ impl PutRecordsRequestEntry { ///

      Metadata assigned to the stream, consisting of a key-value pair.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { ///

      An optional string, typically used to describe or define the tag. Maximum length: /// 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % /// @

      #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

      A unique identifier for the tag. Maximum length: 128 characters. Valid characters: /// Unicode letters, digits, white space, _ . / = + - % @

      #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, } @@ -642,32 +580,27 @@ impl Tag { ///

      A uniquely identified group of data records in a Kinesis data stream.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Shard { ///

      The range of possible sequence numbers for the shard.

      #[serde(rename = "SequenceNumberRange")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sequence_number_range: std::option::Option, ///

      The unique identifier of the shard within the stream.

      #[serde(rename = "ShardId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shard_id: std::option::Option, ///

      The range of possible hash key values for the shard, which is a set of ordered /// contiguous positive integers.

      #[serde(rename = "HashKeyRange")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub hash_key_range: std::option::Option, ///

      The shard ID of the shard adjacent to the shard's parent.

      #[serde(rename = "AdjacentParentShardId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub adjacent_parent_shard_id: std::option::Option, ///

      The shard ID of the shard's parent.

      #[serde(rename = "ParentShardId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parent_shard_id: std::option::Option, } @@ -775,16 +708,14 @@ impl Shard { ///

      The range of possible hash key values for the shard, which is a set of ordered /// contiguous positive integers.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct HashKeyRange { ///

      The starting hash key of the hash key range.

      #[serde(rename = "StartingHashKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub starting_hash_key: std::option::Option, ///

      The ending hash key of the hash key range.

      #[serde(rename = "EndingHashKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ending_hash_key: std::option::Option, } @@ -848,17 +779,15 @@ impl HashKeyRange { ///

      The range of possible sequence numbers for the shard.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SequenceNumberRange { ///

      The starting sequence number for the range.

      #[serde(rename = "StartingSequenceNumber")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub starting_sequence_number: std::option::Option, ///

      The ending sequence number for the range. Shards that are in the OPEN state have an /// ending sequence number of null.

      #[serde(rename = "EndingSequenceNumber")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ending_sequence_number: std::option::Option, } @@ -922,24 +851,18 @@ impl SequenceNumberRange { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ShardFilter { #[serde(rename = "ShardId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shard_id: std::option::Option, #[serde(rename = "Timestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] #[serde(default)] pub timestamp: std::option::Option, #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -1036,7 +959,6 @@ impl std::convert::From<&str> for ShardFilterType { } } } - impl std::str::FromStr for ShardFilterType { type Err = std::convert::Infallible; @@ -1044,7 +966,6 @@ impl std::str::FromStr for ShardFilterType { Ok(ShardFilterType::from(s)) } } - impl ShardFilterType { pub fn as_str(&self) -> &str { match self { @@ -1063,19 +984,6 @@ impl AsRef for ShardFilterType { self.as_str() } } - -impl serde::Serialize for ShardFilterType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ShardFilterType { fn deserialize(deserializer: D) -> Result where @@ -1116,7 +1024,6 @@ impl std::convert::From<&str> for ShardIteratorType { } } } - impl std::str::FromStr for ShardIteratorType { type Err = std::convert::Infallible; @@ -1124,7 +1031,6 @@ impl std::str::FromStr for ShardIteratorType { Ok(ShardIteratorType::from(s)) } } - impl ShardIteratorType { pub fn as_str(&self) -> &str { match self { @@ -1142,19 +1048,6 @@ impl AsRef for ShardIteratorType { self.as_str() } } - -impl serde::Serialize for ShardIteratorType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ShardIteratorType { fn deserialize(deserializer: D) -> Result where @@ -1166,20 +1059,17 @@ impl<'de> serde::Deserialize<'de> for ShardIteratorType { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ChildShard { #[serde(rename = "ParentShards")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parent_shards: std::option::Option>, #[serde(rename = "ShardId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shard_id: std::option::Option, ///

      The range of possible hash key values for the shard, which is a set of ordered /// contiguous positive integers.

      #[serde(rename = "HashKeyRange")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub hash_key_range: std::option::Option, } @@ -1257,11 +1147,10 @@ impl ChildShard { ///

      The unit of data of the Kinesis data stream, which is composed of a sequence /// number, a partition key, and a data blob.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Record { ///

      The unique identifier of the record within its shard.

      #[serde(rename = "SequenceNumber")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sequence_number: std::option::Option, ///

      The encryption type used on the record. This parameter can be one of the following @@ -1278,7 +1167,6 @@ pub struct Record { /// ///

    #[serde(rename = "EncryptionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_type: std::option::Option, ///

    The data blob. The data in the blob is both opaque and immutable to Kinesis Data @@ -1286,17 +1174,11 @@ pub struct Record { /// When the data blob (the payload before base64-encoding) is added to the partition key /// size, the total size must not exceed the maximum record size (1 MiB).

    #[serde(rename = "Data")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub data: std::option::Option, ///

    The approximate time that the record was inserted into the stream.

    #[serde(rename = "ApproximateArrivalTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1304,7 +1186,6 @@ pub struct Record { pub approximate_arrival_timestamp: std::option::Option, ///

    Identifies which shard in the stream the data record is assigned to.

    #[serde(rename = "PartitionKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub partition_key: std::option::Option, } @@ -1459,7 +1340,6 @@ impl std::convert::From<&str> for MetricsName { } } } - impl std::str::FromStr for MetricsName { type Err = std::convert::Infallible; @@ -1467,7 +1347,6 @@ impl std::str::FromStr for MetricsName { Ok(MetricsName::from(s)) } } - impl MetricsName { pub fn as_str(&self) -> &str { match self { @@ -1488,19 +1367,6 @@ impl AsRef for MetricsName { self.as_str() } } - -impl serde::Serialize for MetricsName { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MetricsName { fn deserialize(deserializer: D) -> Result where @@ -1514,7 +1380,7 @@ impl<'de> serde::Deserialize<'de> for MetricsName { ///

    Represents the output for DescribeStreamSummary ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StreamDescriptionSummary { ///

    The GUID for the customer-managed AWS KMS key to use for encryption. This value can /// be a globally unique identifier, a fully specified ARN to either an alias or a key, or @@ -1547,7 +1413,6 @@ pub struct StreamDescriptionSummary { /// /// #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    The current status of the stream being described. The stream status is one of the @@ -1579,30 +1444,22 @@ pub struct StreamDescriptionSummary { /// /// #[serde(rename = "StreamStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_status: std::option::Option, ///

    The Amazon Resource Name (ARN) for the stream being described.

    #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_arn: std::option::Option, ///

    The number of enhanced fan-out consumers registered with the stream.

    #[serde(rename = "ConsumerCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_count: std::option::Option, ///

    The number of open shards in the stream.

    #[serde(rename = "OpenShardCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub open_shard_count: std::option::Option, ///

    The approximate time that the stream was created.

    #[serde(rename = "StreamCreationTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1622,22 +1479,18 @@ pub struct StreamDescriptionSummary { /// /// #[serde(rename = "EncryptionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_type: std::option::Option, ///

    The name of the stream being described.

    #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_name: std::option::Option, ///

    The current retention period, in hours.

    #[serde(rename = "RetentionPeriodHours")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retention_period_hours: std::option::Option, ///

    Represents the current enhanced monitoring settings of the stream.

    #[serde(rename = "EnhancedMonitoring")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub enhanced_monitoring: std::option::Option>, } @@ -1876,7 +1729,7 @@ impl StreamDescriptionSummary { ///

    Represents enhanced metrics types.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EnhancedMetrics { ///

    List of shard-level metrics.

    ///

    The following are the valid shard-level metrics. The value "ALL" @@ -1927,7 +1780,6 @@ pub struct EnhancedMetrics { /// Kinesis Data Streams Service with Amazon CloudWatch in the Amazon /// Kinesis Data Streams Developer Guide.

    #[serde(rename = "ShardLevelMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shard_level_metrics: std::option::Option>, } @@ -2004,7 +1856,6 @@ impl std::convert::From<&str> for StreamStatus { } } } - impl std::str::FromStr for StreamStatus { type Err = std::convert::Infallible; @@ -2012,7 +1863,6 @@ impl std::str::FromStr for StreamStatus { Ok(StreamStatus::from(s)) } } - impl StreamStatus { pub fn as_str(&self) -> &str { match self { @@ -2029,19 +1879,6 @@ impl AsRef for StreamStatus { self.as_str() } } - -impl serde::Serialize for StreamStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StreamStatus { fn deserialize(deserializer: D) -> Result where @@ -2055,17 +1892,15 @@ impl<'de> serde::Deserialize<'de> for StreamStatus { ///

    An object that represents the details of a registered consumer. This type of object is /// returned by DescribeStreamConsumer.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ConsumerDescription { ///

    The ARN of the stream with which you registered the consumer.

    #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_arn: std::option::Option, ///

    The name of the consumer is something you choose when you register the /// consumer.

    #[serde(rename = "ConsumerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_name: std::option::Option, ///

    When you register a consumer, Kinesis Data Streams generates an ARN for it. You need @@ -2074,21 +1909,15 @@ pub struct ConsumerDescription { /// the same ARN. That's because consumer ARNs contain the creation timestamp. This is /// important to keep in mind if you have IAM policies that reference consumer ARNs.

    #[serde(rename = "ConsumerARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_arn: std::option::Option, ///

    A consumer can't read data while in the CREATING or DELETING /// states.

    #[serde(rename = "ConsumerStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumer_status: std::option::Option, ///

    #[serde(rename = "ConsumerCreationTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -2200,7 +2029,7 @@ impl ConsumerDescription { ///

    Represents the output for DescribeStream.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StreamDescription { ///

    The server-side encryption type used on the stream. This parameter can be one of /// the following values:

    @@ -2216,39 +2045,32 @@ pub struct StreamDescription { /// /// #[serde(rename = "EncryptionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_type: std::option::Option, ///

    Represents the current enhanced monitoring settings of the stream.

    #[serde(rename = "EnhancedMonitoring")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub enhanced_monitoring: std::option::Option>, ///

    The name of the stream being described.

    #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_name: std::option::Option, ///

    The Amazon Resource Name (ARN) for the stream being described.

    #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_arn: std::option::Option, ///

    The shards that comprise the stream.

    #[serde(rename = "Shards")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shards: std::option::Option>, ///

    The current retention period, in hours. Minimum value of 24. Maximum value of /// 168.

    #[serde(rename = "RetentionPeriodHours")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retention_period_hours: std::option::Option, ///

    If set to true, more shards in the stream are available to /// describe.

    #[serde(rename = "HasMoreShards")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub has_more_shards: std::option::Option, ///

    The GUID for the customer-managed AWS KMS key to use for encryption. This value can @@ -2282,7 +2104,6 @@ pub struct StreamDescription { /// /// #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    The current status of the stream being described. The stream status is one of the @@ -2314,15 +2135,10 @@ pub struct StreamDescription { /// /// #[serde(rename = "StreamStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_status: std::option::Option, ///

    The approximate time that the stream was created.

    #[serde(rename = "StreamCreationTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] diff --git a/sdk/kinesis/src/operation.rs b/sdk/kinesis/src/operation.rs index c596bf194b09..0fa3eeec42f7 100644 --- a/sdk/kinesis/src/operation.rs +++ b/sdk/kinesis/src/operation.rs @@ -8,7 +8,7 @@ ///

    /// AddTagsToStream has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AddTagsToStream { _private: (), } @@ -27,7 +27,6 @@ impl AddTagsToStream { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::AddTagsToStreamError::unhandled(generic)), @@ -72,7 +71,6 @@ impl AddTagsToStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for AddTagsToStream { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -119,7 +117,7 @@ impl smithy_http::response::ParseStrictResponse for AddTagsToStream { ///

    /// CreateStream has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateStream { _private: (), } @@ -138,7 +136,6 @@ impl CreateStream { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateStreamError::unhandled(generic)), @@ -176,7 +173,6 @@ impl CreateStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateStream { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -190,7 +186,7 @@ impl smithy_http::response::ParseStrictResponse for CreateStream { ///

    This operation may result in lost data. For example, if the stream's retention /// period is 48 hours and is decreased to 24 hours, any data already in the stream that is /// older than 24 hours is inaccessible.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DecreaseStreamRetentionPeriod { _private: (), } @@ -212,7 +208,6 @@ impl DecreaseStreamRetentionPeriod { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -250,7 +245,6 @@ impl DecreaseStreamRetentionPeriod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DecreaseStreamRetentionPeriod { type Output = Result< crate::output::DecreaseStreamRetentionPeriodOutput, @@ -280,7 +274,7 @@ impl smithy_http::response::ParseStrictResponse for DecreaseStreamRetentionPerio ///

    /// DeleteStream has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteStream { _private: (), } @@ -299,7 +293,6 @@ impl DeleteStream { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteStreamError::unhandled(generic)), @@ -337,7 +330,6 @@ impl DeleteStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteStream { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -353,7 +345,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteStream { /// all the consumers that are currently registered with a given data stream. The /// description of a consumer contains its name and ARN.

    ///

    This operation has a limit of five transactions per second per stream.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeregisterStreamConsumer { _private: (), } @@ -375,7 +367,6 @@ impl DeregisterStreamConsumer { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -424,7 +415,6 @@ impl DeregisterStreamConsumer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeregisterStreamConsumer { type Output = Result< crate::output::DeregisterStreamConsumerOutput, @@ -439,7 +429,7 @@ impl smithy_http::response::ParseStrictResponse for DeregisterStreamConsumer { ///

    If you update your account limits, the old limits might be returned for a few /// minutes.

    ///

    This operation has a limit of one transaction per second per account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeLimits { _private: (), } @@ -458,7 +448,6 @@ impl DescribeLimits { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeLimitsError::unhandled(generic)), @@ -485,7 +474,6 @@ impl DescribeLimits { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeLimits { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -508,7 +496,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeLimits { /// shards in chronological order, use the ID of the parent shard to track the lineage to /// the oldest shard.

    ///

    This operation has a limit of 10 transactions per second per account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeStream { _private: (), } @@ -527,7 +515,6 @@ impl DescribeStream { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeStreamError::unhandled(generic)), @@ -561,7 +548,6 @@ impl DescribeStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeStream { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -577,7 +563,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeStream { /// operation to get a list of the descriptions of all the consumers that are currently /// registered with a given data stream.

    ///

    This operation has a limit of 20 transactions per second per stream.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeStreamConsumer { _private: (), } @@ -599,7 +585,6 @@ impl DescribeStreamConsumer { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -652,7 +637,6 @@ impl DescribeStreamConsumer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeStreamConsumer { type Output = Result< crate::output::DescribeStreamConsumerOutput, @@ -671,7 +655,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeStreamConsumer { ///

    /// DescribeStreamSummary has a limit of 20 transactions per second /// per account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeStreamSummary { _private: (), } @@ -691,7 +675,6 @@ impl DescribeStreamSummary { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeStreamSummaryError::unhandled(generic)), @@ -731,7 +714,6 @@ impl DescribeStreamSummary { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeStreamSummary { type Output = Result< crate::output::DescribeStreamSummaryOutput, @@ -743,7 +725,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeStreamSummary { } ///

    Disables enhanced monitoring.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisableEnhancedMonitoring { _private: (), } @@ -765,7 +747,6 @@ impl DisableEnhancedMonitoring { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -829,7 +810,6 @@ impl DisableEnhancedMonitoring { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DisableEnhancedMonitoring { type Output = Result< crate::output::DisableEnhancedMonitoringOutput, @@ -841,7 +821,7 @@ impl smithy_http::response::ParseStrictResponse for DisableEnhancedMonitoring { } ///

    Enables enhanced Kinesis data stream monitoring for shard-level metrics.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct EnableEnhancedMonitoring { _private: (), } @@ -863,7 +843,6 @@ impl EnableEnhancedMonitoring { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -926,7 +905,6 @@ impl EnableEnhancedMonitoring { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for EnableEnhancedMonitoring { type Output = Result< crate::output::EnableEnhancedMonitoringOutput, @@ -983,7 +961,7 @@ impl smithy_http::response::ParseStrictResponse for EnableEnhancedMonitoring { /// increasing. For example, records in a shard or across a stream might have time stamps /// that are out of order.

    ///

    This operation has a limit of five transactions per second per shard.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRecords { _private: (), } @@ -1002,7 +980,6 @@ impl GetRecords { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRecordsError::unhandled(generic)), @@ -1093,7 +1070,6 @@ impl GetRecords { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRecords { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1135,7 +1111,7 @@ impl smithy_http::response::ParseStrictResponse for GetRecords { ///

    /// GetShardIterator has a limit of five transactions per second per /// account per open shard.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetShardIterator { _private: (), } @@ -1154,7 +1130,6 @@ impl GetShardIterator { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetShardIteratorError::unhandled(generic)), @@ -1188,7 +1163,6 @@ impl GetShardIterator { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetShardIterator { type Output = Result; @@ -1206,7 +1180,7 @@ impl smithy_http::response::ParseStrictResponse for GetShardIterator { /// accessible after the operation has been called. For example, if a stream's retention /// period is set to 24 hours and is increased to 168 hours, any data that is older than 24 /// hours remains inaccessible to consumer applications.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct IncreaseStreamRetentionPeriod { _private: (), } @@ -1228,7 +1202,6 @@ impl IncreaseStreamRetentionPeriod { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1266,7 +1239,6 @@ impl IncreaseStreamRetentionPeriod { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for IncreaseStreamRetentionPeriod { type Output = Result< crate::output::IncreaseStreamRetentionPeriodOutput, @@ -1286,7 +1258,7 @@ impl smithy_http::response::ParseStrictResponse for IncreaseStreamRetentionPerio /// Controlling Access to Amazon Kinesis Data Streams Resources Using /// IAM.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListShards { _private: (), } @@ -1305,7 +1277,6 @@ impl ListShards { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListShardsError::unhandled(generic)), @@ -1359,7 +1330,6 @@ impl ListShards { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListShards { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1370,7 +1340,7 @@ impl smithy_http::response::ParseStrictResponse for ListShards { ///

    Lists the consumers registered to receive data from a stream using enhanced fan-out, /// and provides information about each consumer.

    ///

    This operation has a limit of 5 transactions per second per stream.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListStreamConsumers { _private: (), } @@ -1390,7 +1360,6 @@ impl ListStreamConsumers { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListStreamConsumersError::unhandled(generic)), @@ -1453,7 +1422,6 @@ impl ListStreamConsumers { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListStreamConsumers { type Output = Result; @@ -1478,7 +1446,7 @@ impl smithy_http::response::ParseStrictResponse for ListStreamConsumers { ///

    /// ListStreams has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListStreams { _private: (), } @@ -1497,7 +1465,6 @@ impl ListStreams { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListStreamsError::unhandled(generic)), @@ -1524,7 +1491,6 @@ impl ListStreams { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListStreams { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1534,7 +1500,7 @@ impl smithy_http::response::ParseStrictResponse for ListStreams { ///

    Lists the tags for the specified Kinesis data stream. This operation has a limit of /// five transactions per second per account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTagsForStream { _private: (), } @@ -1553,7 +1519,6 @@ impl ListTagsForStream { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListTagsForStreamError::unhandled(generic)), @@ -1596,7 +1561,6 @@ impl ListTagsForStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListTagsForStream { type Output = Result; @@ -1641,7 +1605,7 @@ impl smithy_http::response::ParseStrictResponse for ListTagsForStream { ///

    /// MergeShards has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct MergeShards { _private: (), } @@ -1660,7 +1624,6 @@ impl MergeShards { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::MergeShardsError::unhandled(generic)), @@ -1705,7 +1668,6 @@ impl MergeShards { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for MergeShards { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1749,7 +1711,7 @@ impl smithy_http::response::ParseStrictResponse for MergeShards { /// throws ProvisionedThroughputExceededException.

    ///

    By default, data records are accessible for 24 hours from the time that they are /// added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutRecord { _private: (), } @@ -1768,7 +1730,6 @@ impl PutRecord { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutRecordError::unhandled(generic)), @@ -1852,7 +1813,6 @@ impl PutRecord { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutRecord { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1916,7 +1876,7 @@ impl smithy_http::response::ParseStrictResponse for PutRecord { /// ///

    By default, data records are accessible for 24 hours from the time that they are /// added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutRecords { _private: (), } @@ -1935,7 +1895,6 @@ impl PutRecords { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutRecordsError::unhandled(generic)), @@ -2019,7 +1978,6 @@ impl PutRecords { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutRecords { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2041,7 +1999,7 @@ impl smithy_http::response::ParseStrictResponse for PutRecords { /// more than 5 consumers in a CREATING status at the same time. Registering a /// 6th consumer while there are 5 in a CREATING status results in a /// LimitExceededException.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RegisterStreamConsumer { _private: (), } @@ -2063,7 +2021,6 @@ impl RegisterStreamConsumer { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2125,7 +2082,6 @@ impl RegisterStreamConsumer { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RegisterStreamConsumer { type Output = Result< crate::output::RegisterStreamConsumerOutput, @@ -2142,7 +2098,7 @@ impl smithy_http::response::ParseStrictResponse for RegisterStreamConsumer { ///

    /// RemoveTagsFromStream has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RemoveTagsFromStream { _private: (), } @@ -2162,7 +2118,6 @@ impl RemoveTagsFromStream { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RemoveTagsFromStreamError::unhandled(generic)), @@ -2211,7 +2166,6 @@ impl RemoveTagsFromStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RemoveTagsFromStream { type Output = Result; @@ -2262,7 +2216,7 @@ impl smithy_http::response::ParseStrictResponse for RemoveTagsFromStream { ///

    /// SplitShard has a limit of five transactions per second per /// account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SplitShard { _private: (), } @@ -2281,7 +2235,6 @@ impl SplitShard { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::SplitShardError::unhandled(generic)), @@ -2326,7 +2279,6 @@ impl SplitShard { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for SplitShard { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2350,7 +2302,7 @@ impl smithy_http::response::ParseStrictResponse for SplitShard { /// status before all records written to the stream are encrypted. After you enable /// encryption, you can verify that encryption is applied by inspecting the API response /// from PutRecord or PutRecords.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartStreamEncryption { _private: (), } @@ -2370,7 +2322,6 @@ impl StartStreamEncryption { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::StartStreamEncryptionError::unhandled(generic)), @@ -2471,7 +2422,6 @@ impl StartStreamEncryption { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StartStreamEncryption { type Output = Result< crate::output::StartStreamEncryptionOutput, @@ -2498,7 +2448,7 @@ impl smithy_http::response::ParseStrictResponse for StartStreamEncryption { /// After you disabled encryption, you can verify that encryption is not applied by /// inspecting the API response from PutRecord or /// PutRecords.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StopStreamEncryption { _private: (), } @@ -2518,7 +2468,6 @@ impl StopStreamEncryption { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::StopStreamEncryptionError::unhandled(generic)), @@ -2567,7 +2516,6 @@ impl StopStreamEncryption { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StopStreamEncryption { type Output = Result; @@ -2620,7 +2568,7 @@ impl smithy_http::response::ParseStrictResponse for StopStreamEncryption { /// Amazon Kinesis Data Streams Developer Guide. To request an /// increase in the call rate limit, the shard limit for this API, or your overall shard /// limit, use the limits form.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateShardCount { _private: (), } @@ -2639,7 +2587,6 @@ impl UpdateShardCount { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateShardCountError::unhandled(generic)), @@ -2689,7 +2636,6 @@ impl UpdateShardCount { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateShardCount { type Output = Result; diff --git a/sdk/kinesis/src/operation_ser.rs b/sdk/kinesis/src/operation_ser.rs index d205fc415f80..70bac3f830d6 100644 --- a/sdk/kinesis/src/operation_ser.rs +++ b/sdk/kinesis/src/operation_ser.rs @@ -1,280 +1,260 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_add_tags_to_stream_input_body( +pub fn serialize_operation_add_tags_to_stream( input: &crate::input::AddTagsToStreamInput, ) -> Result { - let body = crate::serializer::AddTagsToStreamInputBody { - tags: &input.tags, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_add_tags_to_stream_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_stream_input_body( +pub fn serialize_operation_create_stream( input: &crate::input::CreateStreamInput, ) -> Result { - let body = crate::serializer::CreateStreamInputBody { - stream_name: &input.stream_name, - shard_count: &input.shard_count, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_stream_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_decrease_stream_retention_period_input_body( +pub fn serialize_operation_decrease_stream_retention_period( input: &crate::input::DecreaseStreamRetentionPeriodInput, ) -> Result { - let body = crate::serializer::DecreaseStreamRetentionPeriodInputBody { - retention_period_hours: &input.retention_period_hours, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_decrease_stream_retention_period_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_stream_input_body( +pub fn serialize_operation_delete_stream( input: &crate::input::DeleteStreamInput, ) -> Result { - let body = crate::serializer::DeleteStreamInputBody { - stream_name: &input.stream_name, - enforce_consumer_deletion: &input.enforce_consumer_deletion, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_stream_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_deregister_stream_consumer_input_body( +pub fn serialize_operation_deregister_stream_consumer( input: &crate::input::DeregisterStreamConsumerInput, ) -> Result { - let body = crate::serializer::DeregisterStreamConsumerInputBody { - stream_arn: &input.stream_arn, - consumer_name: &input.consumer_name, - consumer_arn: &input.consumer_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_stream_consumer_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_stream_input_body( +pub fn serialize_operation_describe_stream( input: &crate::input::DescribeStreamInput, ) -> Result { - let body = crate::serializer::DescribeStreamInputBody { - stream_name: &input.stream_name, - exclusive_start_shard_id: &input.exclusive_start_shard_id, - limit: &input.limit, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_stream_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_stream_consumer_input_body( +pub fn serialize_operation_describe_stream_consumer( input: &crate::input::DescribeStreamConsumerInput, ) -> Result { - let body = crate::serializer::DescribeStreamConsumerInputBody { - stream_arn: &input.stream_arn, - consumer_name: &input.consumer_name, - consumer_arn: &input.consumer_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_stream_consumer_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_stream_summary_input_body( +pub fn serialize_operation_describe_stream_summary( input: &crate::input::DescribeStreamSummaryInput, ) -> Result { - let body = crate::serializer::DescribeStreamSummaryInputBody { - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_stream_summary_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_disable_enhanced_monitoring_input_body( +pub fn serialize_operation_disable_enhanced_monitoring( input: &crate::input::DisableEnhancedMonitoringInput, ) -> Result { - let body = crate::serializer::DisableEnhancedMonitoringInputBody { - shard_level_metrics: &input.shard_level_metrics, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_disable_enhanced_monitoring_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_enable_enhanced_monitoring_input_body( +pub fn serialize_operation_enable_enhanced_monitoring( input: &crate::input::EnableEnhancedMonitoringInput, ) -> Result { - let body = crate::serializer::EnableEnhancedMonitoringInputBody { - stream_name: &input.stream_name, - shard_level_metrics: &input.shard_level_metrics, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_enable_enhanced_monitoring_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_records_input_body( +pub fn serialize_operation_get_records( input: &crate::input::GetRecordsInput, ) -> Result { - let body = crate::serializer::GetRecordsInputBody { - shard_iterator: &input.shard_iterator, - limit: &input.limit, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_records_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_shard_iterator_input_body( +pub fn serialize_operation_get_shard_iterator( input: &crate::input::GetShardIteratorInput, ) -> Result { - let body = crate::serializer::GetShardIteratorInputBody { - shard_iterator_type: &input.shard_iterator_type, - shard_id: &input.shard_id, - starting_sequence_number: &input.starting_sequence_number, - timestamp: &input.timestamp, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_shard_iterator_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_increase_stream_retention_period_input_body( +pub fn serialize_operation_increase_stream_retention_period( input: &crate::input::IncreaseStreamRetentionPeriodInput, ) -> Result { - let body = crate::serializer::IncreaseStreamRetentionPeriodInputBody { - retention_period_hours: &input.retention_period_hours, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_increase_stream_retention_period_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_shards_input_body( +pub fn serialize_operation_list_shards( input: &crate::input::ListShardsInput, ) -> Result { - let body = crate::serializer::ListShardsInputBody { - max_results: &input.max_results, - stream_creation_timestamp: &input.stream_creation_timestamp, - next_token: &input.next_token, - exclusive_start_shard_id: &input.exclusive_start_shard_id, - shard_filter: &input.shard_filter, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_shards_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_stream_consumers_input_body( +pub fn serialize_operation_list_stream_consumers( input: &crate::input::ListStreamConsumersInput, ) -> Result { - let body = crate::serializer::ListStreamConsumersInputBody { - next_token: &input.next_token, - stream_creation_timestamp: &input.stream_creation_timestamp, - stream_arn: &input.stream_arn, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_stream_consumers_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_streams_input_body( +pub fn serialize_operation_list_streams( input: &crate::input::ListStreamsInput, ) -> Result { - let body = crate::serializer::ListStreamsInputBody { - limit: &input.limit, - exclusive_start_stream_name: &input.exclusive_start_stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_streams_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_tags_for_stream_input_body( +pub fn serialize_operation_list_tags_for_stream( input: &crate::input::ListTagsForStreamInput, ) -> Result { - let body = crate::serializer::ListTagsForStreamInputBody { - limit: &input.limit, - exclusive_start_tag_key: &input.exclusive_start_tag_key, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_tags_for_stream_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_merge_shards_input_body( +pub fn serialize_operation_merge_shards( input: &crate::input::MergeShardsInput, ) -> Result { - let body = crate::serializer::MergeShardsInputBody { - adjacent_shard_to_merge: &input.adjacent_shard_to_merge, - stream_name: &input.stream_name, - shard_to_merge: &input.shard_to_merge, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_merge_shards_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_record_input_body( +pub fn serialize_operation_put_record( input: &crate::input::PutRecordInput, ) -> Result { - let body = crate::serializer::PutRecordInputBody { - stream_name: &input.stream_name, - explicit_hash_key: &input.explicit_hash_key, - sequence_number_for_ordering: &input.sequence_number_for_ordering, - partition_key: &input.partition_key, - data: &input.data, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_record_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_records_input_body( +pub fn serialize_operation_put_records( input: &crate::input::PutRecordsInput, ) -> Result { - let body = crate::serializer::PutRecordsInputBody { - records: &input.records, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_records_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_register_stream_consumer_input_body( +pub fn serialize_operation_register_stream_consumer( input: &crate::input::RegisterStreamConsumerInput, ) -> Result { - let body = crate::serializer::RegisterStreamConsumerInputBody { - consumer_name: &input.consumer_name, - stream_arn: &input.stream_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_stream_consumer_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_remove_tags_from_stream_input_body( +pub fn serialize_operation_remove_tags_from_stream( input: &crate::input::RemoveTagsFromStreamInput, ) -> Result { - let body = crate::serializer::RemoveTagsFromStreamInputBody { - tag_keys: &input.tag_keys, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_remove_tags_from_stream_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_split_shard_input_body( +pub fn serialize_operation_split_shard( input: &crate::input::SplitShardInput, ) -> Result { - let body = crate::serializer::SplitShardInputBody { - shard_to_split: &input.shard_to_split, - new_starting_hash_key: &input.new_starting_hash_key, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_split_shard_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_start_stream_encryption_input_body( +pub fn serialize_operation_start_stream_encryption( input: &crate::input::StartStreamEncryptionInput, ) -> Result { - let body = crate::serializer::StartStreamEncryptionInputBody { - stream_name: &input.stream_name, - encryption_type: &input.encryption_type, - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_stream_encryption_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_stop_stream_encryption_input_body( +pub fn serialize_operation_stop_stream_encryption( input: &crate::input::StopStreamEncryptionInput, ) -> Result { - let body = crate::serializer::StopStreamEncryptionInputBody { - stream_name: &input.stream_name, - encryption_type: &input.encryption_type, - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_stop_stream_encryption_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_shard_count_input_body( +pub fn serialize_operation_update_shard_count( input: &crate::input::UpdateShardCountInput, ) -> Result { - let body = crate::serializer::UpdateShardCountInputBody { - scaling_type: &input.scaling_type, - stream_name: &input.stream_name, - target_shard_count: &input.target_shard_count, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_shard_count_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/kinesis/src/serde_util.rs b/sdk/kinesis/src/serde_util.rs index 4e34e59c1e25..52f46e107033 100644 --- a/sdk/kinesis/src/serde_util.rs +++ b/sdk/kinesis/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> @@ -26,20 +12,6 @@ where ) } -pub fn stdoptionoptionsmithytypesblob_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::blob_serde::BlobSer(el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/kinesis/src/serializer.rs b/sdk/kinesis/src/serializer.rs index c0e443321266..2eb9d2571e54 100644 --- a/sdk/kinesis/src/serializer.rs +++ b/sdk/kinesis/src/serializer.rs @@ -1,17 +1,13 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

    Represents the input for AddTagsToStream.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AddTagsToStreamInputBody<'a> { ///

    A set of up to 10 key-value pairs to use to create the tags.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, ///

    The name of the stream.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for AddTagsToStreamInputBody<'a> { @@ -25,20 +21,16 @@ impl<'a> std::fmt::Debug for AddTagsToStreamInputBody<'a> { ///

    Represents the input for CreateStream.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateStreamInputBody<'a> { ///

    A name to identify the stream. The stream name is scoped to the AWS account used by /// the application that creates the stream. It is also scoped by AWS Region. That is, two /// streams in two different AWS accounts can have the same name. Two streams in the same /// AWS account but in two different Regions can also have the same name.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The number of shards that the stream will use. The throughput of the stream is a /// function of the number of shards; more shards are required for greater provisioned /// throughput.

    - #[serde(rename = "ShardCount")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_count: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateStreamInputBody<'a> { @@ -52,16 +44,12 @@ impl<'a> std::fmt::Debug for CreateStreamInputBody<'a> { ///

    Represents the input for DecreaseStreamRetentionPeriod.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DecreaseStreamRetentionPeriodInputBody<'a> { ///

    The new retention period of the stream, in hours. Must be less than the current /// retention period.

    - #[serde(rename = "RetentionPeriodHours")] - #[serde(skip_serializing_if = "Option::is_none")] pub retention_period_hours: &'a std::option::Option, ///

    The name of the stream to modify.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DecreaseStreamRetentionPeriodInputBody<'a> { @@ -75,17 +63,13 @@ impl<'a> std::fmt::Debug for DecreaseStreamRetentionPeriodInputBody<'a> { ///

    Represents the input for DeleteStream.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteStreamInputBody<'a> { ///

    The name of the stream to delete.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    If this parameter is unset (null) or if you set it to false, /// and the stream has registered consumers, the call to DeleteStream fails /// with a ResourceInUseException.

    - #[serde(rename = "EnforceConsumerDeletion")] - #[serde(skip_serializing_if = "Option::is_none")] pub enforce_consumer_deletion: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteStreamInputBody<'a> { @@ -98,24 +82,18 @@ impl<'a> std::fmt::Debug for DeleteStreamInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeregisterStreamConsumerInputBody<'a> { ///

    The ARN of the Kinesis data stream that the consumer is registered with. For more /// information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    - #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_arn: &'a std::option::Option, ///

    The name that you gave to the consumer.

    - #[serde(rename = "ConsumerName")] - #[serde(skip_serializing_if = "Option::is_none")] pub consumer_name: &'a std::option::Option, ///

    The ARN returned by Kinesis Data Streams when you registered the consumer. If you /// don't know the ARN of the consumer that you want to deregister, you can use the /// ListStreamConsumers operation to get a list of the descriptions of all the consumers /// that are currently registered with a given data stream. The description of a consumer /// contains its ARN.

    - #[serde(rename = "ConsumerARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub consumer_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeregisterStreamConsumerInputBody<'a> { @@ -130,20 +108,14 @@ impl<'a> std::fmt::Debug for DeregisterStreamConsumerInputBody<'a> { ///

    Represents the input for DescribeStream.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeStreamInputBody<'a> { ///

    The name of the stream to describe.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The shard ID of the shard to start with.

    - #[serde(rename = "ExclusiveStartShardId")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_shard_id: &'a std::option::Option, ///

    The maximum number of shards to return in a single call. The default value is 100. /// If you specify a value greater than 100, at most 100 shards are returned.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeStreamInputBody<'a> { @@ -157,20 +129,14 @@ impl<'a> std::fmt::Debug for DescribeStreamInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeStreamConsumerInputBody<'a> { ///

    The ARN of the Kinesis data stream that the consumer is registered with. For more /// information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    - #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_arn: &'a std::option::Option, ///

    The name that you gave to the consumer.

    - #[serde(rename = "ConsumerName")] - #[serde(skip_serializing_if = "Option::is_none")] pub consumer_name: &'a std::option::Option, ///

    The ARN returned by Kinesis Data Streams when you registered the consumer.

    - #[serde(rename = "ConsumerARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub consumer_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeStreamConsumerInputBody<'a> { @@ -184,11 +150,9 @@ impl<'a> std::fmt::Debug for DescribeStreamConsumerInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeStreamSummaryInputBody<'a> { ///

    The name of the stream to describe.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeStreamSummaryInputBody<'a> { @@ -201,7 +165,7 @@ impl<'a> std::fmt::Debug for DescribeStreamSummaryInputBody<'a> { ///

    Represents the input for DisableEnhancedMonitoring.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisableEnhancedMonitoringInputBody<'a> { ///

    List of shard-level metrics to disable.

    ///

    The following are the valid shard-level metrics. The value "ALL" @@ -251,13 +215,9 @@ pub struct DisableEnhancedMonitoringInputBody<'a> { ///

    For more information, see Monitoring the Amazon /// Kinesis Data Streams Service with Amazon CloudWatch in the Amazon /// Kinesis Data Streams Developer Guide.

    - #[serde(rename = "ShardLevelMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_level_metrics: &'a std::option::Option>, ///

    The name of the Kinesis data stream for which to disable enhanced /// monitoring.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DisableEnhancedMonitoringInputBody<'a> { @@ -271,11 +231,9 @@ impl<'a> std::fmt::Debug for DisableEnhancedMonitoringInputBody<'a> { ///

    Represents the input for EnableEnhancedMonitoring.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnableEnhancedMonitoringInputBody<'a> { ///

    The name of the stream for which to enable enhanced monitoring.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    List of shard-level metrics to enable.

    ///

    The following are the valid shard-level metrics. The value "ALL" @@ -325,8 +283,6 @@ pub struct EnableEnhancedMonitoringInputBody<'a> { ///

    For more information, see Monitoring the Amazon /// Kinesis Data Streams Service with Amazon CloudWatch in the Amazon /// Kinesis Data Streams Developer Guide.

    - #[serde(rename = "ShardLevelMetrics")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_level_metrics: &'a std::option::Option>, } impl<'a> std::fmt::Debug for EnableEnhancedMonitoringInputBody<'a> { @@ -340,19 +296,15 @@ impl<'a> std::fmt::Debug for EnableEnhancedMonitoringInputBody<'a> { ///

    Represents the input for GetRecords.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetRecordsInputBody<'a> { ///

    The position in the shard from which you want to start sequentially reading data /// records. A shard iterator specifies this position using the sequence number of a data /// record in the shard.

    - #[serde(rename = "ShardIterator")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_iterator: &'a std::option::Option, ///

    The maximum number of records to return. Specify a value of up to 10,000. If you /// specify a value that is greater than 10,000, GetRecords throws /// InvalidArgumentException. The default value is 10,000.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetRecordsInputBody<'a> { @@ -366,7 +318,7 @@ impl<'a> std::fmt::Debug for GetRecordsInputBody<'a> { ///

    Represents the input for GetShardIterator.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetShardIteratorInputBody<'a> { ///

    Determines how the shard iterator is used to start reading data records from the /// shard.

    @@ -395,17 +347,11 @@ pub struct GetShardIteratorInputBody<'a> { /// that you always read the most recent data in the shard.

    /// /// - #[serde(rename = "ShardIteratorType")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_iterator_type: &'a std::option::Option, ///

    The shard ID of the Kinesis Data Streams shard to get the iterator for.

    - #[serde(rename = "ShardId")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_id: &'a std::option::Option, ///

    The sequence number of the data record in the shard from which to start reading. /// Used with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.

    - #[serde(rename = "StartingSequenceNumber")] - #[serde(skip_serializing_if = "Option::is_none")] pub starting_sequence_number: &'a std::option::Option, ///

    The time stamp of the data record from which to start reading. Used with shard /// iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in @@ -414,15 +360,8 @@ pub struct GetShardIteratorInputBody<'a> { /// the iterator returned is for the next (later) record. If the time stamp is older than /// the current trim horizon, the iterator returned is for the oldest untrimmed data record /// (TRIM_HORIZON).

    - #[serde(rename = "Timestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub timestamp: &'a std::option::Option, ///

    The name of the Amazon Kinesis data stream.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetShardIteratorInputBody<'a> { @@ -439,16 +378,12 @@ impl<'a> std::fmt::Debug for GetShardIteratorInputBody<'a> { ///

    Represents the input for IncreaseStreamRetentionPeriod.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct IncreaseStreamRetentionPeriodInputBody<'a> { ///

    The new retention period of the stream, in hours. Must be more than the current /// retention period.

    - #[serde(rename = "RetentionPeriodHours")] - #[serde(skip_serializing_if = "Option::is_none")] pub retention_period_hours: &'a std::option::Option, ///

    The name of the stream to modify.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for IncreaseStreamRetentionPeriodInputBody<'a> { @@ -461,7 +396,7 @@ impl<'a> std::fmt::Debug for IncreaseStreamRetentionPeriodInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListShardsInputBody<'a> { ///

    The maximum number of shards to return in a single call to ListShards. /// The minimum value you can specify for this parameter is 1, and the maximum is 10,000, @@ -470,8 +405,6 @@ pub struct ListShardsInputBody<'a> { /// MaxResults, the response contains a NextToken value that /// you can use in a subsequent call to ListShards to list the next set of /// shards.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    Specify this input parameter to distinguish data streams that have the same name. /// For example, if you create a data stream and then delete it, and you later create @@ -479,11 +412,6 @@ pub struct ListShardsInputBody<'a> { /// which of the two streams you want to list the shards for.

    ///

    You cannot specify this parameter if you specify the NextToken /// parameter.

    - #[serde(rename = "StreamCreationTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub stream_creation_timestamp: &'a std::option::Option, ///

    When the number of shards in the data stream is greater than the default value for /// the MaxResults parameter, or if you explicitly specify a value for @@ -507,8 +435,6 @@ pub struct ListShardsInputBody<'a> { /// ListShards, you get /// ExpiredNextTokenException.

    /// - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    Specify this parameter to indicate that you want to list the shards starting with /// the shard whose ID immediately follows ExclusiveStartShardId.

    @@ -516,17 +442,11 @@ pub struct ListShardsInputBody<'a> { /// ListShards to list the shards starting with the first one in the /// stream.

    ///

    You cannot specify this parameter if you specify NextToken.

    - #[serde(rename = "ExclusiveStartShardId")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_shard_id: &'a std::option::Option, - #[serde(rename = "ShardFilter")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_filter: &'a std::option::Option, ///

    The name of the data stream whose shards you want to list.

    ///

    You cannot specify this parameter if you specify the NextToken /// parameter.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListShardsInputBody<'a> { @@ -543,7 +463,7 @@ impl<'a> std::fmt::Debug for ListShardsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListStreamConsumersInputBody<'a> { ///

    When the number of consumers that are registered with the data stream is greater than /// the default value for the MaxResults parameter, or if you explicitly @@ -568,29 +488,18 @@ pub struct ListStreamConsumersInputBody<'a> { /// specify an expired token in a call to ListStreamConsumers, you get /// ExpiredNextTokenException.

    /// - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    Specify this input parameter to distinguish data streams that have the same name. For /// example, if you create a data stream and then delete it, and you later create another /// data stream with the same name, you can use this input parameter to specify which of the /// two streams you want to list the consumers for.

    ///

    You can't specify this parameter if you specify the NextToken parameter.

    - #[serde(rename = "StreamCreationTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub stream_creation_timestamp: &'a std::option::Option, ///

    The ARN of the Kinesis data stream for which you want to list the registered /// consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    - #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_arn: &'a std::option::Option, ///

    The maximum number of consumers that you want a single call of /// ListStreamConsumers to return.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListStreamConsumersInputBody<'a> { @@ -606,15 +515,11 @@ impl<'a> std::fmt::Debug for ListStreamConsumersInputBody<'a> { ///

    Represents the input for ListStreams.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListStreamsInputBody<'a> { ///

    The maximum number of streams to list.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    The name of the stream to start the list with.

    - #[serde(rename = "ExclusiveStartStreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListStreamsInputBody<'a> { @@ -631,24 +536,18 @@ impl<'a> std::fmt::Debug for ListStreamsInputBody<'a> { ///

    Represents the input for ListTagsForStream.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTagsForStreamInputBody<'a> { ///

    The number of tags to return. If this number is less than the total number of tags /// associated with the stream, HasMoreTags is set to true. To /// list additional tags, set ExclusiveStartTagKey to the last key in the /// response.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    The key to use as the starting point for the list of tags. If this parameter is /// set, ListTagsForStream gets all tags that occur after /// ExclusiveStartTagKey.

    - #[serde(rename = "ExclusiveStartTagKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclusive_start_tag_key: &'a std::option::Option, ///

    The name of the stream.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListTagsForStreamInputBody<'a> { @@ -663,20 +562,14 @@ impl<'a> std::fmt::Debug for ListTagsForStreamInputBody<'a> { ///

    Represents the input for MergeShards.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct MergeShardsInputBody<'a> { ///

    The shard ID of the adjacent shard for the merge.

    - #[serde(rename = "AdjacentShardToMerge")] - #[serde(skip_serializing_if = "Option::is_none")] pub adjacent_shard_to_merge: &'a std::option::Option, ///

    The name of the stream for the merge.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The shard ID of the shard to combine with the adjacent shard for the /// merge.

    - #[serde(rename = "ShardToMerge")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_to_merge: &'a std::option::Option, } impl<'a> std::fmt::Debug for MergeShardsInputBody<'a> { @@ -691,24 +584,18 @@ impl<'a> std::fmt::Debug for MergeShardsInputBody<'a> { ///

    Represents the input for PutRecord.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutRecordInputBody<'a> { ///

    The name of the stream to put the data record into.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The hash value used to explicitly determine the shard the data record is assigned /// to by overriding the partition key hash.

    - #[serde(rename = "ExplicitHashKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub explicit_hash_key: &'a std::option::Option, ///

    Guarantees strictly increasing sequence numbers, for puts from the same client and /// to the same partition key. Usage: set the SequenceNumberForOrdering of /// record n to the sequence number of record n-1 /// (as returned in the result when putting record n-1). If this /// parameter is not set, records are coarsely ordered based on arrival time.

    - #[serde(rename = "SequenceNumberForOrdering")] - #[serde(skip_serializing_if = "Option::is_none")] pub sequence_number_for_ordering: &'a std::option::Option, ///

    Determines which shard in the stream the data record is assigned to. Partition keys /// are Unicode strings with a maximum length limit of 256 characters for each key. Amazon @@ -717,16 +604,11 @@ pub struct PutRecordInputBody<'a> { /// function is used to map partition keys to 128-bit integer values and to map associated /// data records to shards. As a result of this hashing mechanism, all data records with the /// same partition key map to the same shard within the stream.

    - #[serde(rename = "PartitionKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub partition_key: &'a std::option::Option, ///

    The data blob to put into the record, which is base64-encoded when the blob is /// serialized. When the data blob (the payload before base64-encoding) is added to the /// partition key size, the total size must not exceed the maximum record size (1 /// MiB).

    - #[serde(rename = "Data")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub data: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutRecordInputBody<'a> { @@ -746,15 +628,11 @@ impl<'a> std::fmt::Debug for PutRecordInputBody<'a> { ///

    A PutRecords request.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutRecordsInputBody<'a> { ///

    The records associated with the request.

    - #[serde(rename = "Records")] - #[serde(skip_serializing_if = "Option::is_none")] pub records: &'a std::option::Option>, ///

    The stream name associated with the request.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutRecordsInputBody<'a> { @@ -767,17 +645,13 @@ impl<'a> std::fmt::Debug for PutRecordsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegisterStreamConsumerInputBody<'a> { ///

    For a given Kinesis data stream, each consumer must have a unique name. However, /// consumer names don't have to be unique across data streams.

    - #[serde(rename = "ConsumerName")] - #[serde(skip_serializing_if = "Option::is_none")] pub consumer_name: &'a std::option::Option, ///

    The ARN of the Kinesis data stream that you want to register the consumer with. For /// more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    - #[serde(rename = "StreamARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for RegisterStreamConsumerInputBody<'a> { @@ -791,15 +665,11 @@ impl<'a> std::fmt::Debug for RegisterStreamConsumerInputBody<'a> { ///

    Represents the input for RemoveTagsFromStream.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RemoveTagsFromStreamInputBody<'a> { ///

    A list of tag keys. Each corresponding tag is removed from the stream.

    - #[serde(rename = "TagKeys")] - #[serde(skip_serializing_if = "Option::is_none")] pub tag_keys: &'a std::option::Option>, ///

    The name of the stream.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for RemoveTagsFromStreamInputBody<'a> { @@ -813,11 +683,9 @@ impl<'a> std::fmt::Debug for RemoveTagsFromStreamInputBody<'a> { ///

    Represents the input for SplitShard.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SplitShardInputBody<'a> { ///

    The shard ID of the shard to split.

    - #[serde(rename = "ShardToSplit")] - #[serde(skip_serializing_if = "Option::is_none")] pub shard_to_split: &'a std::option::Option, ///

    A hash key value for the starting hash key of one of the child shards created by /// the split. The hash key range for a given shard constitutes a set of ordered contiguous @@ -826,12 +694,8 @@ pub struct SplitShardInputBody<'a> { /// value and all higher hash key values in hash key range are distributed to one of the /// child shards. All the lower hash key values in the range are distributed to the other /// child shard.

    - #[serde(rename = "NewStartingHashKey")] - #[serde(skip_serializing_if = "Option::is_none")] pub new_starting_hash_key: &'a std::option::Option, ///

    The name of the stream for the shard split.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for SplitShardInputBody<'a> { @@ -845,15 +709,11 @@ impl<'a> std::fmt::Debug for SplitShardInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartStreamEncryptionInputBody<'a> { ///

    The name of the stream for which to start encrypting records.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The encryption type to use. The only valid value is KMS.

    - #[serde(rename = "EncryptionType")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_type: &'a std::option::Option, ///

    The GUID for the customer-managed AWS KMS key to use for encryption. This value can /// be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either @@ -886,8 +746,6 @@ pub struct StartStreamEncryptionInputBody<'a> { ///

    /// /// - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for StartStreamEncryptionInputBody<'a> { @@ -901,15 +759,11 @@ impl<'a> std::fmt::Debug for StartStreamEncryptionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StopStreamEncryptionInputBody<'a> { ///

    The name of the stream on which to stop encrypting records.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The encryption type. The only valid value is KMS.

    - #[serde(rename = "EncryptionType")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_type: &'a std::option::Option, ///

    The GUID for the customer-managed AWS KMS key to use for encryption. This value can /// be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either @@ -942,8 +796,6 @@ pub struct StopStreamEncryptionInputBody<'a> { ///

    /// /// - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for StopStreamEncryptionInputBody<'a> { @@ -957,15 +809,11 @@ impl<'a> std::fmt::Debug for StopStreamEncryptionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateShardCountInputBody<'a> { ///

    The scaling type. Uniform scaling creates shards of equal size.

    - #[serde(rename = "ScalingType")] - #[serde(skip_serializing_if = "Option::is_none")] pub scaling_type: &'a std::option::Option, ///

    The name of the stream.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, ///

    The new number of shards. This value has the following default limits. By default, /// you cannot do the following:

    @@ -987,8 +835,6 @@ pub struct UpdateShardCountInputBody<'a> { /// less than 500 shards.

    /// /// - #[serde(rename = "TargetShardCount")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_shard_count: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateShardCountInputBody<'a> { diff --git a/sdk/kms/Cargo.toml b/sdk/kms/Cargo.toml index 38787696db5a..6b3e4e70ae26 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.5-alpha" +version = "0.0.6-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" @@ -32,6 +32,8 @@ version = "0.2" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [dependencies.bytes] version = "1" [dev-dependencies.aws-hyper] diff --git a/sdk/kms/src/aws_json_errors.rs b/sdk/kms/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/kms/src/aws_json_errors.rs +++ b/sdk/kms/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/kms/src/client.rs b/sdk/kms/src/client.rs index 7ffed783ff34..f5013a81fdcc 100644 --- a/sdk/kms/src/client.rs +++ b/sdk/kms/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,197 +33,150 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn cancel_key_deletion(&self) -> fluent_builders::CancelKeyDeletion { fluent_builders::CancelKeyDeletion::new(self.handle.clone()) } - pub fn connect_custom_key_store(&self) -> fluent_builders::ConnectCustomKeyStore { fluent_builders::ConnectCustomKeyStore::new(self.handle.clone()) } - pub fn create_alias(&self) -> fluent_builders::CreateAlias { fluent_builders::CreateAlias::new(self.handle.clone()) } - pub fn create_custom_key_store(&self) -> fluent_builders::CreateCustomKeyStore { fluent_builders::CreateCustomKeyStore::new(self.handle.clone()) } - pub fn create_grant(&self) -> fluent_builders::CreateGrant { fluent_builders::CreateGrant::new(self.handle.clone()) } - pub fn create_key(&self) -> fluent_builders::CreateKey { fluent_builders::CreateKey::new(self.handle.clone()) } - pub fn decrypt(&self) -> fluent_builders::Decrypt { fluent_builders::Decrypt::new(self.handle.clone()) } - pub fn delete_alias(&self) -> fluent_builders::DeleteAlias { fluent_builders::DeleteAlias::new(self.handle.clone()) } - pub fn delete_custom_key_store(&self) -> fluent_builders::DeleteCustomKeyStore { fluent_builders::DeleteCustomKeyStore::new(self.handle.clone()) } - pub fn delete_imported_key_material(&self) -> fluent_builders::DeleteImportedKeyMaterial { fluent_builders::DeleteImportedKeyMaterial::new(self.handle.clone()) } - pub fn describe_custom_key_stores(&self) -> fluent_builders::DescribeCustomKeyStores { fluent_builders::DescribeCustomKeyStores::new(self.handle.clone()) } - pub fn describe_key(&self) -> fluent_builders::DescribeKey { fluent_builders::DescribeKey::new(self.handle.clone()) } - pub fn disable_key(&self) -> fluent_builders::DisableKey { fluent_builders::DisableKey::new(self.handle.clone()) } - pub fn disable_key_rotation(&self) -> fluent_builders::DisableKeyRotation { fluent_builders::DisableKeyRotation::new(self.handle.clone()) } - pub fn disconnect_custom_key_store(&self) -> fluent_builders::DisconnectCustomKeyStore { fluent_builders::DisconnectCustomKeyStore::new(self.handle.clone()) } - pub fn enable_key(&self) -> fluent_builders::EnableKey { fluent_builders::EnableKey::new(self.handle.clone()) } - pub fn enable_key_rotation(&self) -> fluent_builders::EnableKeyRotation { fluent_builders::EnableKeyRotation::new(self.handle.clone()) } - pub fn encrypt(&self) -> fluent_builders::Encrypt { fluent_builders::Encrypt::new(self.handle.clone()) } - pub fn generate_data_key(&self) -> fluent_builders::GenerateDataKey { fluent_builders::GenerateDataKey::new(self.handle.clone()) } - pub fn generate_data_key_pair(&self) -> fluent_builders::GenerateDataKeyPair { fluent_builders::GenerateDataKeyPair::new(self.handle.clone()) } - pub fn generate_data_key_pair_without_plaintext( &self, ) -> fluent_builders::GenerateDataKeyPairWithoutPlaintext { fluent_builders::GenerateDataKeyPairWithoutPlaintext::new(self.handle.clone()) } - pub fn generate_data_key_without_plaintext( &self, ) -> fluent_builders::GenerateDataKeyWithoutPlaintext { fluent_builders::GenerateDataKeyWithoutPlaintext::new(self.handle.clone()) } - pub fn generate_random(&self) -> fluent_builders::GenerateRandom { fluent_builders::GenerateRandom::new(self.handle.clone()) } - pub fn get_key_policy(&self) -> fluent_builders::GetKeyPolicy { fluent_builders::GetKeyPolicy::new(self.handle.clone()) } - pub fn get_key_rotation_status(&self) -> fluent_builders::GetKeyRotationStatus { fluent_builders::GetKeyRotationStatus::new(self.handle.clone()) } - pub fn get_parameters_for_import(&self) -> fluent_builders::GetParametersForImport { fluent_builders::GetParametersForImport::new(self.handle.clone()) } - pub fn get_public_key(&self) -> fluent_builders::GetPublicKey { fluent_builders::GetPublicKey::new(self.handle.clone()) } - pub fn import_key_material(&self) -> fluent_builders::ImportKeyMaterial { fluent_builders::ImportKeyMaterial::new(self.handle.clone()) } - pub fn list_aliases(&self) -> fluent_builders::ListAliases { fluent_builders::ListAliases::new(self.handle.clone()) } - pub fn list_grants(&self) -> fluent_builders::ListGrants { fluent_builders::ListGrants::new(self.handle.clone()) } - pub fn list_key_policies(&self) -> fluent_builders::ListKeyPolicies { fluent_builders::ListKeyPolicies::new(self.handle.clone()) } - pub fn list_keys(&self) -> fluent_builders::ListKeys { fluent_builders::ListKeys::new(self.handle.clone()) } - pub fn list_resource_tags(&self) -> fluent_builders::ListResourceTags { fluent_builders::ListResourceTags::new(self.handle.clone()) } - pub fn list_retirable_grants(&self) -> fluent_builders::ListRetirableGrants { fluent_builders::ListRetirableGrants::new(self.handle.clone()) } - pub fn put_key_policy(&self) -> fluent_builders::PutKeyPolicy { fluent_builders::PutKeyPolicy::new(self.handle.clone()) } - pub fn re_encrypt(&self) -> fluent_builders::ReEncrypt { fluent_builders::ReEncrypt::new(self.handle.clone()) } - pub fn retire_grant(&self) -> fluent_builders::RetireGrant { fluent_builders::RetireGrant::new(self.handle.clone()) } - pub fn revoke_grant(&self) -> fluent_builders::RevokeGrant { fluent_builders::RevokeGrant::new(self.handle.clone()) } - pub fn schedule_key_deletion(&self) -> fluent_builders::ScheduleKeyDeletion { fluent_builders::ScheduleKeyDeletion::new(self.handle.clone()) } - pub fn sign(&self) -> fluent_builders::Sign { fluent_builders::Sign::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 fn update_alias(&self) -> fluent_builders::UpdateAlias { fluent_builders::UpdateAlias::new(self.handle.clone()) } - pub fn update_custom_key_store(&self) -> fluent_builders::UpdateCustomKeyStore { fluent_builders::UpdateCustomKeyStore::new(self.handle.clone()) } - pub fn update_key_description(&self) -> fluent_builders::UpdateKeyDescription { fluent_builders::UpdateKeyDescription::new(self.handle.clone()) } - pub fn verify(&self) -> fluent_builders::Verify { fluent_builders::Verify::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct CancelKeyDeletion { handle: std::sync::Arc, @@ -254,7 +205,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The unique identifier for the customer master key (CMK) for which to cancel /// deletion.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -279,7 +229,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ConnectCustomKeyStore { handle: std::sync::Arc, @@ -308,7 +257,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Enter the key store ID of the custom key store that you want to connect. /// To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

    pub fn custom_key_store_id(mut self, inp: impl Into) -> Self { @@ -323,7 +271,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateAlias { handle: std::sync::Arc, @@ -352,7 +299,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the alias name. This value must begin with alias/ followed by a /// name, such as alias/ExampleAlias.

    ///

    The AliasName value must be string of 1-256 characters. It can contain only alphanumeric characters, @@ -394,7 +340,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateCustomKeyStore { handle: std::sync::Arc, @@ -423,7 +368,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies a friendly name for the custom key store. The name must be unique in your AWS /// account.

    pub fn custom_key_store_name(mut self, inp: impl Into) -> Self { @@ -483,7 +427,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateGrant { handle: std::sync::Arc, @@ -512,7 +455,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The unique identifier for the customer master key (CMK) that the grant applies to.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a /// different AWS account, you must use the key ARN.

    @@ -636,7 +578,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateKey { handle: std::sync::Arc, @@ -665,7 +606,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The key policy to attach to the CMK.

    ///

    If you provide a key policy, it must meet the following criteria:

    ///
      @@ -912,7 +852,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Decrypt { handle: std::sync::Arc, @@ -941,7 +880,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Ciphertext to be decrypted. The blob includes metadata.

      pub fn ciphertext_blob(mut self, inp: smithy_types::Blob) -> Self { self.inner = self.inner.ciphertext_blob(inp); @@ -1041,7 +979,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteAlias { handle: std::sync::Arc, @@ -1070,7 +1007,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The alias to be deleted. The alias name must begin with alias/ followed by /// the alias name, such as alias/ExampleAlias.

      pub fn alias_name(mut self, inp: impl Into) -> Self { @@ -1082,7 +1018,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteCustomKeyStore { handle: std::sync::Arc, @@ -1111,7 +1046,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Enter the ID of the custom key store you want to delete. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

      pub fn custom_key_store_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.custom_key_store_id(inp); @@ -1125,7 +1059,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteImportedKeyMaterial { handle: std::sync::Arc, @@ -1154,7 +1087,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the CMK from which you are deleting imported key material. The /// Origin of the CMK must be EXTERNAL.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      @@ -1179,7 +1111,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeCustomKeyStores { handle: std::sync::Arc, @@ -1208,7 +1139,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Gets only information about the specified custom key store. Enter the key store ID.

      ///

      By default, this operation gets information about all custom key stores in the account and /// region. To limit the output to a particular custom key store, you can use either the @@ -1265,7 +1195,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeKey { handle: std::sync::Arc, @@ -1294,7 +1223,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Describes the specified customer master key (CMK).

      ///

      If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the /// alias with an AWS @@ -1344,7 +1272,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DisableKey { handle: std::sync::Arc, @@ -1373,7 +1300,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -1397,7 +1323,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DisableKeyRotation { handle: std::sync::Arc, @@ -1426,7 +1351,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies a symmetric customer master key (CMK). You cannot enable or disable automatic /// rotation of asymmetric CMKs, CMKs /// with imported key @@ -1453,7 +1377,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DisconnectCustomKeyStore { handle: std::sync::Arc, @@ -1482,7 +1405,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Enter the ID of the custom key store you want to disconnect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

      pub fn custom_key_store_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.custom_key_store_id(inp); @@ -1496,7 +1418,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct EnableKey { handle: std::sync::Arc, @@ -1525,7 +1446,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -1549,7 +1469,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct EnableKeyRotation { handle: std::sync::Arc, @@ -1578,7 +1497,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -1602,7 +1520,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Encrypt { handle: std::sync::Arc, @@ -1631,7 +1548,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

      ///

      For example:

      @@ -1725,7 +1641,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GenerateDataKey { handle: std::sync::Arc, @@ -1754,7 +1669,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the symmetric CMK that encrypts the data key.

      ///

      To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

      ///

      For example:

      @@ -1847,7 +1761,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GenerateDataKeyPair { handle: std::sync::Arc, @@ -1876,7 +1789,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Specifies the encryption context that will be used when encrypting the private key in the /// data key pair.

      ///

      An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

      @@ -1960,7 +1872,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GenerateDataKeyPairWithoutPlaintext { handle: std::sync::Arc, @@ -1989,7 +1900,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Specifies the encryption context that will be used when encrypting the private key in the /// data key pair.

      ///

      An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

      @@ -2073,7 +1983,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GenerateDataKeyWithoutPlaintext { handle: std::sync::Arc, @@ -2102,7 +2011,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The identifier of the symmetric customer master key (CMK) that encrypts the data /// key.

      ///

      To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

      @@ -2192,7 +2100,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GenerateRandom { handle: std::sync::Arc, @@ -2221,7 +2128,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The length of the byte string.

      pub fn number_of_bytes(mut self, inp: i32) -> Self { self.inner = self.inner.number_of_bytes(inp); @@ -2245,7 +2151,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetKeyPolicy { handle: std::sync::Arc, @@ -2274,7 +2179,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -2308,7 +2212,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetKeyRotationStatus { handle: std::sync::Arc, @@ -2337,7 +2240,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a /// different AWS account, you must use the key ARN.

      @@ -2362,7 +2264,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetParametersForImport { handle: std::sync::Arc, @@ -2391,7 +2292,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The identifier of the symmetric CMK into which you will import key material. The /// Origin of the CMK must be EXTERNAL.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      @@ -2442,7 +2342,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetPublicKey { handle: std::sync::Arc, @@ -2471,7 +2370,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the asymmetric CMK that includes the public key.

      ///

      To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

      ///

      For example:

      @@ -2517,7 +2415,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ImportKeyMaterial { handle: std::sync::Arc, @@ -2546,7 +2443,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The identifier of the symmetric CMK that receives the imported key material. The CMK's /// Origin must be EXTERNAL. This must be the same CMK specified in /// the KeyID parameter of the corresponding GetParametersForImport @@ -2624,7 +2520,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListAliases { handle: std::sync::Arc, @@ -2653,7 +2548,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Lists only aliases that are associated with the specified CMK. Enter a CMK in your AWS /// account.

      ///

      This parameter is optional. If you omit it, ListAliases returns all aliases @@ -2704,7 +2598,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListGrants { handle: std::sync::Arc, @@ -2733,7 +2626,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

      @@ -2782,7 +2674,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListKeyPolicies { handle: std::sync::Arc, @@ -2811,7 +2702,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -2860,7 +2750,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListKeys { handle: std::sync::Arc, @@ -2889,7 +2778,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

      @@ -2915,7 +2803,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListResourceTags { handle: std::sync::Arc, @@ -2944,7 +2831,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -2994,7 +2880,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListRetirableGrants { handle: std::sync::Arc, @@ -3023,7 +2908,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

      @@ -3067,7 +2951,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutKeyPolicy { handle: std::sync::Arc, @@ -3096,7 +2979,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -3173,7 +3055,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ReEncrypt { handle: std::sync::Arc, @@ -3202,7 +3083,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Ciphertext of the data to reencrypt.

      pub fn ciphertext_blob(mut self, inp: smithy_types::Blob) -> Self { self.inner = self.inner.ciphertext_blob(inp); @@ -3386,7 +3266,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RetireGrant { handle: std::sync::Arc, @@ -3415,7 +3294,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Token that identifies the grant to be retired.

      pub fn grant_token(mut self, inp: impl Into) -> Self { self.inner = self.inner.grant_token(inp); @@ -3453,7 +3331,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RevokeGrant { handle: std::sync::Arc, @@ -3482,7 +3359,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key associated with the grant.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a /// different AWS account, you must use the key ARN.

      @@ -3516,7 +3392,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ScheduleKeyDeletion { handle: std::sync::Arc, @@ -3545,7 +3420,6 @@ 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 customer master key (CMK) to delete.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -3581,7 +3455,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Sign { handle: std::sync::Arc, @@ -3608,7 +3481,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the /// message. The KeyUsage type of the CMK must be SIGN_VERIFY. To find /// the KeyUsage of a CMK, use the DescribeKey operation.

      @@ -3696,7 +3568,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TagResource { handle: std::sync::Arc, @@ -3725,7 +3596,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies a customer managed CMK in the account and Region.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -3766,7 +3636,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UntagResource { handle: std::sync::Arc, @@ -3795,7 +3664,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the CMK from which you are removing tags.

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -3831,7 +3699,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateAlias { handle: std::sync::Arc, @@ -3860,7 +3727,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the alias that is changing its CMK. This value must begin with /// alias/ followed by the alias name, such as alias/ExampleAlias. You /// cannot use UpdateAlias to change the alias name.

      @@ -3901,7 +3767,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateCustomKeyStore { handle: std::sync::Arc, @@ -3930,7 +3795,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the custom key store that you want to update. Enter the ID of the custom key /// store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

      pub fn custom_key_store_id(mut self, inp: impl Into) -> Self { @@ -3991,7 +3855,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateKeyDescription { handle: std::sync::Arc, @@ -4020,7 +3883,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A unique identifier for the customer master key (CMK).

      ///

      Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

      ///

      For example:

      @@ -4053,7 +3915,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Verify { handle: std::sync::Arc, @@ -4082,7 +3943,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Identifies the asymmetric CMK that will be used to verify the signature. This must be the /// same CMK that was used to generate the signature. If you specify a different CMK, the /// signature verification fails.

      diff --git a/sdk/kms/src/config.rs b/sdk/kms/src/config.rs index 3f10feb723c6..a6f70c6d0dbf 100644 --- a/sdk/kms/src/config.rs +++ b/sdk/kms/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/kms/src/error.rs b/sdk/kms/src/error.rs index 1e373248f760..6896508f02b8 100644 --- a/sdk/kms/src/error.rs +++ b/sdk/kms/src/error.rs @@ -13,7 +13,6 @@ pub enum CancelKeyDeletionErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -37,7 +36,6 @@ impl smithy_types::retry::ProvideErrorKind for CancelKeyDeletionError { None } } - impl CancelKeyDeletionError { pub fn new(kind: CancelKeyDeletionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -60,18 +58,21 @@ impl CancelKeyDeletionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CancelKeyDeletionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -101,7 +102,6 @@ pub enum ConnectCustomKeyStoreErrorKind { CustomKeyStoreInvalidStateError(crate::error::CustomKeyStoreInvalidStateError), CustomKeyStoreNotFoundError(crate::error::CustomKeyStoreNotFoundError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -129,7 +129,6 @@ impl smithy_types::retry::ProvideErrorKind for ConnectCustomKeyStoreError { None } } - impl ConnectCustomKeyStoreError { pub fn new(kind: ConnectCustomKeyStoreErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -152,18 +151,21 @@ impl ConnectCustomKeyStoreError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ConnectCustomKeyStoreError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -195,7 +197,6 @@ pub enum CreateAliasErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), LimitExceededError(crate::error::LimitExceededError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -221,7 +222,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateAliasError { None } } - impl CreateAliasError { pub fn new(kind: CreateAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -244,18 +244,21 @@ impl CreateAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -289,7 +292,6 @@ pub enum CreateCustomKeyStoreErrorKind { CustomKeyStoreNameInUseError(crate::error::CustomKeyStoreNameInUseError), IncorrectTrustAnchorError(crate::error::IncorrectTrustAnchorError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -317,7 +319,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateCustomKeyStoreError { None } } - impl CreateCustomKeyStoreError { pub fn new(kind: CreateCustomKeyStoreErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -340,18 +341,21 @@ impl CreateCustomKeyStoreError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateCustomKeyStoreError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -386,7 +390,6 @@ pub enum CreateGrantErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), LimitExceededError(crate::error::LimitExceededError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -413,7 +416,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateGrantError { None } } - impl CreateGrantError { pub fn new(kind: CreateGrantErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -436,18 +438,21 @@ impl CreateGrantError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateGrantError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -485,7 +490,6 @@ pub enum CreateKeyErrorKind { MalformedPolicyDocumentError(crate::error::MalformedPolicyDocumentError), TagError(crate::error::TagError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -514,7 +518,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateKeyError { None } } - impl CreateKeyError { pub fn new(kind: CreateKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -537,18 +540,21 @@ impl CreateKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -586,7 +592,6 @@ pub enum DecryptErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -615,7 +620,6 @@ impl smithy_types::retry::ProvideErrorKind for DecryptError { None } } - impl DecryptError { pub fn new(kind: DecryptErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -638,18 +642,21 @@ impl DecryptError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DecryptError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -681,7 +688,6 @@ pub enum DeleteAliasErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -704,7 +710,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteAliasError { None } } - impl DeleteAliasError { pub fn new(kind: DeleteAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -727,18 +732,21 @@ impl DeleteAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -764,7 +772,6 @@ pub enum DeleteCustomKeyStoreErrorKind { CustomKeyStoreInvalidStateError(crate::error::CustomKeyStoreInvalidStateError), CustomKeyStoreNotFoundError(crate::error::CustomKeyStoreNotFoundError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -787,7 +794,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteCustomKeyStoreError { None } } - impl DeleteCustomKeyStoreError { pub fn new(kind: DeleteCustomKeyStoreErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -810,18 +816,21 @@ impl DeleteCustomKeyStoreError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteCustomKeyStoreError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -849,7 +858,6 @@ pub enum DeleteImportedKeyMaterialErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -874,7 +882,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteImportedKeyMaterialError { None } } - impl DeleteImportedKeyMaterialError { pub fn new(kind: DeleteImportedKeyMaterialErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -897,18 +904,21 @@ impl DeleteImportedKeyMaterialError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteImportedKeyMaterialError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -934,7 +944,6 @@ pub struct DescribeCustomKeyStoresError { pub enum DescribeCustomKeyStoresErrorKind { CustomKeyStoreNotFoundError(crate::error::CustomKeyStoreNotFoundError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -955,7 +964,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeCustomKeyStoresError { None } } - impl DescribeCustomKeyStoresError { pub fn new(kind: DescribeCustomKeyStoresErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -978,18 +986,21 @@ impl DescribeCustomKeyStoresError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeCustomKeyStoresError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1013,7 +1024,6 @@ pub enum DescribeKeyErrorKind { InvalidArnError(crate::error::InvalidArnError), KMSInternalError(crate::error::KMSInternalError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1036,7 +1046,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeKeyError { None } } - impl DescribeKeyError { pub fn new(kind: DescribeKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1059,18 +1068,21 @@ impl DescribeKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1097,7 +1109,6 @@ pub enum DisableKeyErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1121,7 +1132,6 @@ impl smithy_types::retry::ProvideErrorKind for DisableKeyError { None } } - impl DisableKeyError { pub fn new(kind: DisableKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1144,18 +1154,21 @@ impl DisableKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DisableKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1185,7 +1198,6 @@ pub enum DisableKeyRotationErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1211,7 +1223,6 @@ impl smithy_types::retry::ProvideErrorKind for DisableKeyRotationError { None } } - impl DisableKeyRotationError { pub fn new(kind: DisableKeyRotationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1234,18 +1245,21 @@ impl DisableKeyRotationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DisableKeyRotationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1273,7 +1287,6 @@ pub enum DisconnectCustomKeyStoreErrorKind { CustomKeyStoreInvalidStateError(crate::error::CustomKeyStoreInvalidStateError), CustomKeyStoreNotFoundError(crate::error::CustomKeyStoreNotFoundError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1297,7 +1310,6 @@ impl smithy_types::retry::ProvideErrorKind for DisconnectCustomKeyStoreError { None } } - impl DisconnectCustomKeyStoreError { pub fn new(kind: DisconnectCustomKeyStoreErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1320,18 +1332,21 @@ impl DisconnectCustomKeyStoreError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DisconnectCustomKeyStoreError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1360,7 +1375,6 @@ pub enum EnableKeyErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), LimitExceededError(crate::error::LimitExceededError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1385,7 +1399,6 @@ impl smithy_types::retry::ProvideErrorKind for EnableKeyError { None } } - impl EnableKeyError { pub fn new(kind: EnableKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1408,18 +1421,21 @@ impl EnableKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for EnableKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1450,7 +1466,6 @@ pub enum EnableKeyRotationErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1476,7 +1491,6 @@ impl smithy_types::retry::ProvideErrorKind for EnableKeyRotationError { None } } - impl EnableKeyRotationError { pub fn new(kind: EnableKeyRotationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1499,18 +1513,21 @@ impl EnableKeyRotationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for EnableKeyRotationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1543,7 +1560,6 @@ pub enum EncryptErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1570,7 +1586,6 @@ impl smithy_types::retry::ProvideErrorKind for EncryptError { None } } - impl EncryptError { pub fn new(kind: EncryptErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1593,18 +1608,21 @@ impl EncryptError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for EncryptError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1638,7 +1656,6 @@ pub enum GenerateDataKeyErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1665,7 +1682,6 @@ impl smithy_types::retry::ProvideErrorKind for GenerateDataKeyError { None } } - impl GenerateDataKeyError { pub fn new(kind: GenerateDataKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1688,18 +1704,21 @@ impl GenerateDataKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GenerateDataKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1734,7 +1753,6 @@ pub enum GenerateDataKeyPairErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1762,7 +1780,6 @@ impl smithy_types::retry::ProvideErrorKind for GenerateDataKeyPairError { None } } - impl GenerateDataKeyPairError { pub fn new(kind: GenerateDataKeyPairErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1785,18 +1802,21 @@ impl GenerateDataKeyPairError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GenerateDataKeyPairError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1832,7 +1852,6 @@ pub enum GenerateDataKeyPairWithoutPlaintextErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1872,7 +1891,6 @@ impl smithy_types::retry::ProvideErrorKind for GenerateDataKeyPairWithoutPlainte None } } - impl GenerateDataKeyPairWithoutPlaintextError { pub fn new( kind: GenerateDataKeyPairWithoutPlaintextErrorKind, @@ -1898,18 +1916,21 @@ impl GenerateDataKeyPairWithoutPlaintextError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GenerateDataKeyPairWithoutPlaintextError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1958,7 +1979,6 @@ pub enum GenerateDataKeyWithoutPlaintextErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1989,7 +2009,6 @@ impl smithy_types::retry::ProvideErrorKind for GenerateDataKeyWithoutPlaintextEr None } } - impl GenerateDataKeyWithoutPlaintextError { pub fn new(kind: GenerateDataKeyWithoutPlaintextErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2012,18 +2031,21 @@ impl GenerateDataKeyWithoutPlaintextError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GenerateDataKeyWithoutPlaintextError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2057,7 +2079,6 @@ pub enum GenerateRandomErrorKind { CustomKeyStoreNotFoundError(crate::error::CustomKeyStoreNotFoundError), DependencyTimeoutError(crate::error::DependencyTimeoutError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2080,7 +2101,6 @@ impl smithy_types::retry::ProvideErrorKind for GenerateRandomError { None } } - impl GenerateRandomError { pub fn new(kind: GenerateRandomErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2103,18 +2123,21 @@ impl GenerateRandomError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GenerateRandomError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2141,7 +2164,6 @@ pub enum GetKeyPolicyErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2165,7 +2187,6 @@ impl smithy_types::retry::ProvideErrorKind for GetKeyPolicyError { None } } - impl GetKeyPolicyError { pub fn new(kind: GetKeyPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2188,18 +2209,21 @@ impl GetKeyPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetKeyPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2228,7 +2252,6 @@ pub enum GetKeyRotationStatusErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2253,7 +2276,6 @@ impl smithy_types::retry::ProvideErrorKind for GetKeyRotationStatusError { None } } - impl GetKeyRotationStatusError { pub fn new(kind: GetKeyRotationStatusErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2276,18 +2298,21 @@ impl GetKeyRotationStatusError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetKeyRotationStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2317,7 +2342,6 @@ pub enum GetParametersForImportErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2342,7 +2366,6 @@ impl smithy_types::retry::ProvideErrorKind for GetParametersForImportError { None } } - impl GetParametersForImportError { pub fn new(kind: GetParametersForImportErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2365,18 +2388,21 @@ impl GetParametersForImportError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetParametersForImportError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2410,7 +2436,6 @@ pub enum GetPublicKeyErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2439,7 +2464,6 @@ impl smithy_types::retry::ProvideErrorKind for GetPublicKeyError { None } } - impl GetPublicKeyError { pub fn new(kind: GetPublicKeyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2462,18 +2486,21 @@ impl GetPublicKeyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetPublicKeyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2511,7 +2538,6 @@ pub enum ImportKeyMaterialErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2540,7 +2566,6 @@ impl smithy_types::retry::ProvideErrorKind for ImportKeyMaterialError { None } } - impl ImportKeyMaterialError { pub fn new(kind: ImportKeyMaterialErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2563,18 +2588,21 @@ impl ImportKeyMaterialError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ImportKeyMaterialError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2607,7 +2635,6 @@ pub enum ListAliasesErrorKind { InvalidMarkerError(crate::error::InvalidMarkerError), KMSInternalError(crate::error::KMSInternalError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2631,7 +2658,6 @@ impl smithy_types::retry::ProvideErrorKind for ListAliasesError { None } } - impl ListAliasesError { pub fn new(kind: ListAliasesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2654,18 +2680,21 @@ impl ListAliasesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListAliasesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2694,7 +2723,6 @@ pub enum ListGrantsErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2719,7 +2747,6 @@ impl smithy_types::retry::ProvideErrorKind for ListGrantsError { None } } - impl ListGrantsError { pub fn new(kind: ListGrantsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2742,18 +2769,21 @@ impl ListGrantsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListGrantsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2782,7 +2812,6 @@ pub enum ListKeyPoliciesErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2806,7 +2835,6 @@ impl smithy_types::retry::ProvideErrorKind for ListKeyPoliciesError { None } } - impl ListKeyPoliciesError { pub fn new(kind: ListKeyPoliciesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2829,18 +2857,21 @@ impl ListKeyPoliciesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListKeyPoliciesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2866,7 +2897,6 @@ pub enum ListKeysErrorKind { DependencyTimeoutError(crate::error::DependencyTimeoutError), InvalidMarkerError(crate::error::InvalidMarkerError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2888,7 +2918,6 @@ impl smithy_types::retry::ProvideErrorKind for ListKeysError { None } } - impl ListKeysError { pub fn new(kind: ListKeysErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2911,18 +2940,21 @@ impl ListKeysError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListKeysError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2947,7 +2979,6 @@ pub enum ListResourceTagsErrorKind { InvalidMarkerError(crate::error::InvalidMarkerError), KMSInternalError(crate::error::KMSInternalError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2970,7 +3001,6 @@ impl smithy_types::retry::ProvideErrorKind for ListResourceTagsError { None } } - impl ListResourceTagsError { pub fn new(kind: ListResourceTagsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2993,18 +3023,21 @@ impl ListResourceTagsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListResourceTagsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3031,7 +3064,6 @@ pub enum ListRetirableGrantsErrorKind { InvalidMarkerError(crate::error::InvalidMarkerError), KMSInternalError(crate::error::KMSInternalError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3055,7 +3087,6 @@ impl smithy_types::retry::ProvideErrorKind for ListRetirableGrantsError { None } } - impl ListRetirableGrantsError { pub fn new(kind: ListRetirableGrantsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3078,18 +3109,21 @@ impl ListRetirableGrantsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListRetirableGrantsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3120,7 +3154,6 @@ pub enum PutKeyPolicyErrorKind { MalformedPolicyDocumentError(crate::error::MalformedPolicyDocumentError), NotFoundError(crate::error::NotFoundError), UnsupportedOperationError(crate::error::UnsupportedOperationError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3147,7 +3180,6 @@ impl smithy_types::retry::ProvideErrorKind for PutKeyPolicyError { None } } - impl PutKeyPolicyError { pub fn new(kind: PutKeyPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3170,18 +3202,21 @@ impl PutKeyPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutKeyPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3217,7 +3252,6 @@ pub enum ReEncryptErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3246,7 +3280,6 @@ impl smithy_types::retry::ProvideErrorKind for ReEncryptError { None } } - impl ReEncryptError { pub fn new(kind: ReEncryptErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3269,18 +3302,21 @@ impl ReEncryptError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ReEncryptError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3315,7 +3351,6 @@ pub enum RetireGrantErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3341,7 +3376,6 @@ impl smithy_types::retry::ProvideErrorKind for RetireGrantError { None } } - impl RetireGrantError { pub fn new(kind: RetireGrantErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3364,18 +3398,21 @@ impl RetireGrantError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RetireGrantError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3406,7 +3443,6 @@ pub enum RevokeGrantErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3431,7 +3467,6 @@ impl smithy_types::retry::ProvideErrorKind for RevokeGrantError { None } } - impl RevokeGrantError { pub fn new(kind: RevokeGrantErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3454,18 +3489,21 @@ impl RevokeGrantError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RevokeGrantError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3494,7 +3532,6 @@ pub enum ScheduleKeyDeletionErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3518,7 +3555,6 @@ impl smithy_types::retry::ProvideErrorKind for ScheduleKeyDeletionError { None } } - impl ScheduleKeyDeletionError { pub fn new(kind: ScheduleKeyDeletionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3541,18 +3577,21 @@ impl ScheduleKeyDeletionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ScheduleKeyDeletionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3583,7 +3622,6 @@ pub enum SignErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3610,7 +3648,6 @@ impl smithy_types::retry::ProvideErrorKind for SignError { None } } - impl SignError { pub fn new(kind: SignErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3633,18 +3670,21 @@ impl SignError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for SignError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3676,7 +3716,6 @@ pub enum TagResourceErrorKind { LimitExceededError(crate::error::LimitExceededError), NotFoundError(crate::error::NotFoundError), TagError(crate::error::TagError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3701,7 +3740,6 @@ impl smithy_types::retry::ProvideErrorKind for TagResourceError { None } } - impl TagResourceError { pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3724,18 +3762,21 @@ impl TagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3764,7 +3805,6 @@ pub enum UntagResourceErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), TagError(crate::error::TagError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3788,7 +3828,6 @@ impl smithy_types::retry::ProvideErrorKind for UntagResourceError { None } } - impl UntagResourceError { pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3811,18 +3850,21 @@ impl UntagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UntagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3850,7 +3892,6 @@ pub enum UpdateAliasErrorKind { KMSInvalidStateError(crate::error::KMSInvalidStateError), LimitExceededError(crate::error::LimitExceededError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3874,7 +3915,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateAliasError { None } } - impl UpdateAliasError { pub fn new(kind: UpdateAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3897,18 +3937,21 @@ impl UpdateAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3941,7 +3984,6 @@ pub enum UpdateCustomKeyStoreErrorKind { CustomKeyStoreNameInUseError(crate::error::CustomKeyStoreNameInUseError), CustomKeyStoreNotFoundError(crate::error::CustomKeyStoreNotFoundError), KMSInternalError(crate::error::KMSInternalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3970,7 +4012,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateCustomKeyStoreError { None } } - impl UpdateCustomKeyStoreError { pub fn new(kind: UpdateCustomKeyStoreErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3993,18 +4034,21 @@ impl UpdateCustomKeyStoreError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateCustomKeyStoreError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4037,7 +4081,6 @@ pub enum UpdateKeyDescriptionErrorKind { KMSInternalError(crate::error::KMSInternalError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4061,7 +4104,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateKeyDescriptionError { None } } - impl UpdateKeyDescriptionError { pub fn new(kind: UpdateKeyDescriptionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4084,18 +4126,21 @@ impl UpdateKeyDescriptionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateKeyDescriptionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4127,7 +4172,6 @@ pub enum VerifyErrorKind { KMSInvalidSignatureError(crate::error::KMSInvalidSignatureError), KMSInvalidStateError(crate::error::KMSInvalidStateError), NotFoundError(crate::error::NotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4155,7 +4199,6 @@ impl smithy_types::retry::ProvideErrorKind for VerifyError { None } } - impl VerifyError { pub fn new(kind: VerifyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4178,18 +4221,21 @@ impl VerifyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for VerifyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4210,10 +4256,9 @@ impl std::error::Error for VerifyError { ///

      The request was rejected because the specified entity or resource could not be /// found.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct NotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4278,10 +4323,9 @@ impl NotFoundError { /// AWS Key Management Service Developer Guide /// .

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSInvalidStateError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4343,10 +4387,9 @@ impl KMSInvalidStateError { /// verification fails when it cannot confirm that signature was produced by signing the specified /// message with the specified CMK and signing algorithm.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSInvalidSignatureError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4407,10 +4450,9 @@ impl KMSInvalidSignatureError { ///

      The request was rejected because an internal exception occurred. The request can be /// retried.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSInternalError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4471,10 +4513,9 @@ impl KMSInternalError { ///

      The request was rejected because the specified CMK was not available. You can retry the /// request.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KeyUnavailableError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4550,10 +4591,9 @@ impl KeyUnavailableError { /// a CMK, use the DescribeKey operation.

      ///

      To find the encryption or signing algorithms supported for a particular CMK, use the DescribeKey operation.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidKeyUsageError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4613,10 +4653,9 @@ impl InvalidKeyUsageError { ///

      The request was rejected because the specified grant token is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidGrantTokenError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4676,10 +4715,9 @@ impl InvalidGrantTokenError { ///

      The request was rejected because the specified CMK is not enabled.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DisabledError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4740,10 +4778,9 @@ impl DisabledError { ///

      The system timed out while trying to fulfill the request. The request can be /// retried.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DependencyTimeoutError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4804,10 +4841,9 @@ impl DependencyTimeoutError { ///

      The request was rejected because a specified ARN, or an ARN in a key policy, is not /// valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidArnError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4868,10 +4904,9 @@ impl InvalidArnError { ///

      The request was rejected because AWS KMS cannot find a custom key store with the specified /// key store name or ID.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CustomKeyStoreNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -4936,10 +4971,9 @@ impl CustomKeyStoreNotFoundError { /// to another custom key store in the account. Try again with a custom key store name that is /// unique in the account.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CustomKeyStoreNameInUseError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5022,10 +5056,9 @@ impl CustomKeyStoreNameInUseError { /// ///
    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CustomKeyStoreInvalidStateError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5095,10 +5128,9 @@ impl CustomKeyStoreInvalidStateError { ///

    Clusters that share a backup history have the same cluster certificate. To view the /// cluster certificate of a cluster, use the DescribeClusters operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CloudHsmClusterNotRelatedError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5162,10 +5194,9 @@ impl CloudHsmClusterNotRelatedError { ///

    The request was rejected because AWS KMS cannot find the AWS CloudHSM cluster with the specified /// cluster ID. Retry the request with a different cluster ID.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CloudHsmClusterNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5230,10 +5261,9 @@ impl CloudHsmClusterNotFoundError { /// store is not active. Initialize and activate the cluster and try the command again. For /// detailed instructions, see Getting Started in the AWS CloudHSM User Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CloudHsmClusterNotActiveError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5327,10 +5357,9 @@ impl CloudHsmClusterNotActiveError { /// AWS CloudHSM User Guide /// .

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CloudHsmClusterInvalidConfigurationError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5391,10 +5420,9 @@ impl CloudHsmClusterInvalidConfigurationError { ///

    The request was rejected because a quota was exceeded. For more information, see Quotas in the /// AWS Key Management Service Developer Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5454,10 +5482,9 @@ impl LimitExceededError { ///

    The request was rejected because one or more tags are not valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TagError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5517,10 +5544,9 @@ impl TagError { ///

    The request was rejected because the specified GrantId is not valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidGrantIdError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5585,10 +5611,9 @@ impl InvalidGrantIdError { ///

    From the ImportKeyMaterial operation, the request was rejected because /// AWS KMS could not decrypt the encrypted (wrapped) key material.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidCiphertextError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5651,10 +5676,9 @@ impl InvalidCiphertextError { /// in a ReEncrypt request must identify the same CMK that was used to encrypt /// the ciphertext.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IncorrectKeyError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5715,10 +5739,9 @@ impl IncorrectKeyError { ///

    The request was rejected because a specified parameter is not supported or a specified /// resource is not valid for this operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedOperationError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5782,10 +5805,9 @@ impl UnsupportedOperationError { ///

    The request was rejected because the specified policy is not syntactically or semantically /// correct.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MalformedPolicyDocumentError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5849,10 +5871,9 @@ impl MalformedPolicyDocumentError { ///

    The request was rejected because the marker that specifies where pagination should next /// begin is not valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidMarkerError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5913,10 +5934,9 @@ impl InvalidMarkerError { ///

    The request was rejected because the provided import token is invalid or is associated /// with a different customer master key (CMK).

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidImportTokenError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5978,10 +5998,9 @@ impl InvalidImportTokenError { /// is not the same key material that was previously imported into this customer master key /// (CMK).

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IncorrectKeyMaterialError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6045,10 +6064,9 @@ impl IncorrectKeyMaterialError { ///

    The request was rejected because the specified import token is expired. Use GetParametersForImport to get a new import token and public key, use the new /// public key to encrypt the key material, and then try the request again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExpiredImportTokenError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6110,10 +6128,9 @@ impl ExpiredImportTokenError { /// (CMKs). After verifying that you do not need to use the CMKs, use the ScheduleKeyDeletion operation to delete the CMKs. After they are deleted, you /// can delete the custom key store.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CustomKeyStoreHasCMKsError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6179,10 +6196,9 @@ impl CustomKeyStoreHasCMKsError { ///

    When you initialize the cluster, you create the trust anchor certificate and save it in the /// customerCA.crt file.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IncorrectTrustAnchorError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6249,10 +6265,9 @@ impl IncorrectTrustAnchorError { ///

    Clusters that share a backup history have the same cluster certificate. To view the /// cluster certificate of a cluster, use the DescribeClusters operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CloudHsmClusterInUseError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6315,10 +6330,9 @@ impl CloudHsmClusterInUseError { ///

    The request was rejected because the specified alias name is not valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAliasNameError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6379,10 +6393,9 @@ impl InvalidAliasNameError { ///

    The request was rejected because it attempted to create a resource that already /// exists.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AlreadyExistsError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/kms/src/input.rs b/sdk/kms/src/input.rs index 34c42c76dc7a..913ff3b6bb2d 100644 --- a/sdk/kms/src/input.rs +++ b/sdk/kms/src/input.rs @@ -57,47 +57,38 @@ impl CancelKeyDeletionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_cancel_key_deletion_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_cancel_key_deletion(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CancelKeyDeletion::new(), @@ -106,7 +97,6 @@ impl CancelKeyDeletionInput { "CancelKeyDeletion", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -116,7 +106,6 @@ impl CancelKeyDeletionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -185,49 +174,38 @@ impl ConnectCustomKeyStoreInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_connect_custom_key_store_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_connect_custom_key_store(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ConnectCustomKeyStore::new(), @@ -236,7 +214,6 @@ impl ConnectCustomKeyStoreInput { "ConnectCustomKeyStore", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -246,7 +223,6 @@ impl ConnectCustomKeyStoreInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -343,52 +319,43 @@ impl CreateAliasInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_alias_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_alias(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateAlias::new(), ) .with_metadata(smithy_http::operation::Metadata::new("CreateAlias", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -398,7 +365,6 @@ impl CreateAliasInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -518,47 +484,38 @@ impl CreateCustomKeyStoreInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_custom_key_store_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_custom_key_store(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateCustomKeyStore::new(), @@ -567,7 +524,6 @@ impl CreateCustomKeyStoreInput { "CreateCustomKeyStore", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -577,7 +533,6 @@ impl CreateCustomKeyStoreInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -766,52 +721,43 @@ impl CreateGrantInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_grant_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_grant(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateGrant::new(), ) .with_metadata(smithy_http::operation::Metadata::new("CreateGrant", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -821,7 +767,6 @@ impl CreateGrantInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1132,50 +1077,41 @@ impl CreateKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_key_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_key(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::CreateKey::new()) .with_metadata(smithy_http::operation::Metadata::new("CreateKey", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1185,7 +1121,6 @@ impl CreateKeyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1340,50 +1275,40 @@ impl DecryptInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_decrypt_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_decrypt(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Decrypt::new()) .with_metadata(smithy_http::operation::Metadata::new("Decrypt", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1393,7 +1318,6 @@ impl DecryptInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1458,52 +1382,43 @@ impl DeleteAliasInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_alias_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_alias(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteAlias::new(), ) .with_metadata(smithy_http::operation::Metadata::new("DeleteAlias", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1513,7 +1428,6 @@ impl DeleteAliasInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1581,47 +1495,38 @@ impl DeleteCustomKeyStoreInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_custom_key_store_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_custom_key_store(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteCustomKeyStore::new(), @@ -1630,7 +1535,6 @@ impl DeleteCustomKeyStoreInput { "DeleteCustomKeyStore", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1640,7 +1544,6 @@ impl DeleteCustomKeyStoreInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1720,48 +1623,38 @@ impl DeleteImportedKeyMaterialInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_delete_imported_key_material_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_delete_imported_key_material(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteImportedKeyMaterial::new(), @@ -1770,7 +1663,6 @@ impl DeleteImportedKeyMaterialInput { "DeleteImportedKeyMaterial", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1780,7 +1672,6 @@ impl DeleteImportedKeyMaterialInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1897,49 +1788,38 @@ impl DescribeCustomKeyStoresInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_custom_key_stores_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_custom_key_stores(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeCustomKeyStores::new(), @@ -1948,7 +1828,6 @@ impl DescribeCustomKeyStoresInput { "DescribeCustomKeyStores", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1958,7 +1837,6 @@ impl DescribeCustomKeyStoresInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2062,52 +1940,43 @@ impl DescribeKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_key_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_describe_key(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeKey::new(), ) .with_metadata(smithy_http::operation::Metadata::new("DescribeKey", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2117,7 +1986,6 @@ impl DescribeKeyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2194,52 +2062,43 @@ impl DisableKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_disable_key_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_disable_key(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DisableKey::new(), ) .with_metadata(smithy_http::operation::Metadata::new("DisableKey", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2249,7 +2108,6 @@ impl DisableKeyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2330,47 +2188,38 @@ impl DisableKeyRotationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_disable_key_rotation_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_disable_key_rotation(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DisableKeyRotation::new(), @@ -2379,7 +2228,6 @@ impl DisableKeyRotationInput { "DisableKeyRotation", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2389,7 +2237,6 @@ impl DisableKeyRotationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2457,49 +2304,38 @@ impl DisconnectCustomKeyStoreInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_disconnect_custom_key_store_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_disconnect_custom_key_store(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DisconnectCustomKeyStore::new(), @@ -2508,7 +2344,6 @@ impl DisconnectCustomKeyStoreInput { "DisconnectCustomKeyStore", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2518,7 +2353,6 @@ impl DisconnectCustomKeyStoreInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2595,50 +2429,41 @@ impl EnableKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_enable_key_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_enable_key(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::EnableKey::new()) .with_metadata(smithy_http::operation::Metadata::new("EnableKey", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2648,7 +2473,6 @@ impl EnableKeyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2726,47 +2550,38 @@ impl EnableKeyRotationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_enable_key_rotation_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_enable_key_rotation(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::EnableKeyRotation::new(), @@ -2775,7 +2590,6 @@ impl EnableKeyRotationInput { "EnableKeyRotation", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2785,7 +2599,6 @@ impl EnableKeyRotationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2934,50 +2747,40 @@ impl EncryptInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_encrypt_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_encrypt(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Encrypt::new()) .with_metadata(smithy_http::operation::Metadata::new("Encrypt", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2987,7 +2790,6 @@ impl EncryptInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3140,47 +2942,37 @@ impl GenerateDataKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_generate_data_key_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_generate_data_key(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GenerateDataKey::new(), @@ -3189,7 +2981,6 @@ impl GenerateDataKeyInput { "GenerateDataKey", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3199,7 +2990,6 @@ impl GenerateDataKeyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3340,47 +3130,38 @@ impl GenerateDataKeyPairInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_generate_data_key_pair_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_generate_data_key_pair(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GenerateDataKeyPair::new(), @@ -3389,7 +3170,6 @@ impl GenerateDataKeyPairInput { "GenerateDataKeyPair", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3399,7 +3179,6 @@ impl GenerateDataKeyPairInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3542,45 +3321,41 @@ impl GenerateDataKeyPairWithoutPlaintextInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_generate_data_key_pair_without_plaintext_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_generate_data_key_pair_without_plaintext( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GenerateDataKeyPairWithoutPlaintext::new(), @@ -3589,7 +3364,6 @@ impl GenerateDataKeyPairWithoutPlaintextInput { "GenerateDataKeyPairWithoutPlaintext", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3599,7 +3373,6 @@ impl GenerateDataKeyPairWithoutPlaintextInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3754,45 +3527,41 @@ impl GenerateDataKeyWithoutPlaintextInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_generate_data_key_without_plaintext_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_generate_data_key_without_plaintext( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GenerateDataKeyWithoutPlaintext::new(), @@ -3801,7 +3570,6 @@ impl GenerateDataKeyWithoutPlaintextInput { "GenerateDataKeyWithoutPlaintext", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3811,7 +3579,6 @@ impl GenerateDataKeyWithoutPlaintextInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3893,46 +3660,37 @@ impl GenerateRandomInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_generate_random_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_generate_random(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GenerateRandom::new(), @@ -3941,7 +3699,6 @@ impl GenerateRandomInput { "GenerateRandom", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3951,7 +3708,6 @@ impl GenerateRandomInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4040,52 +3796,43 @@ impl GetKeyPolicyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_key_policy_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_get_key_policy(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetKeyPolicy::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetKeyPolicy", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4095,7 +3842,6 @@ impl GetKeyPolicyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4174,47 +3920,38 @@ impl GetKeyRotationStatusInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_key_rotation_status_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_key_rotation_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetKeyRotationStatus::new(), @@ -4223,7 +3960,6 @@ impl GetKeyRotationStatusInput { "GetKeyRotationStatus", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4233,7 +3969,6 @@ impl GetKeyRotationStatusInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4342,49 +4077,38 @@ impl GetParametersForImportInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_parameters_for_import_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_get_parameters_for_import(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetParametersForImport::new(), @@ -4393,7 +4117,6 @@ impl GetParametersForImportInput { "GetParametersForImport", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4403,7 +4126,6 @@ impl GetParametersForImportInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4503,52 +4225,43 @@ impl GetPublicKeyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_public_key_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_get_public_key(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetPublicKey::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetPublicKey", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4558,7 +4271,6 @@ impl GetPublicKeyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4698,47 +4410,38 @@ impl ImportKeyMaterialInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_import_key_material_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_import_key_material(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ImportKeyMaterial::new(), @@ -4747,7 +4450,6 @@ impl ImportKeyMaterialInput { "ImportKeyMaterial", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4757,7 +4459,6 @@ impl ImportKeyMaterialInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4865,52 +4566,43 @@ impl ListAliasesInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_aliases_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_aliases(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListAliases::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListAliases", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4920,7 +4612,6 @@ impl ListAliasesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5026,52 +4717,43 @@ impl ListGrantsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_grants_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_grants(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListGrants::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListGrants", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5081,7 +4763,6 @@ impl ListGrantsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5188,47 +4869,37 @@ impl ListKeyPoliciesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_key_policies_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_key_policies(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListKeyPolicies::new(), @@ -5237,7 +4908,6 @@ impl ListKeyPoliciesInput { "ListKeyPolicies", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5247,7 +4917,6 @@ impl ListKeyPoliciesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5328,50 +4997,41 @@ impl ListKeysInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_keys_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_keys(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::ListKeys::new()) .with_metadata(smithy_http::operation::Metadata::new("ListKeys", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5381,7 +5041,6 @@ impl ListKeysInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5489,47 +5148,38 @@ impl ListResourceTagsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_resource_tags_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_resource_tags(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListResourceTags::new(), @@ -5538,7 +5188,6 @@ impl ListResourceTagsInput { "ListResourceTags", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5548,7 +5197,6 @@ impl ListResourceTagsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5650,47 +5298,38 @@ impl ListRetirableGrantsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_retirable_grants_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_list_retirable_grants(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListRetirableGrants::new(), @@ -5699,7 +5338,6 @@ impl ListRetirableGrantsInput { "ListRetirableGrants", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5709,7 +5347,6 @@ impl ListRetirableGrantsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5847,52 +5484,43 @@ impl PutKeyPolicyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_key_policy_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_put_key_policy(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutKeyPolicy::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutKeyPolicy", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5902,7 +5530,6 @@ impl PutKeyPolicyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6148,50 +5775,41 @@ impl ReEncryptInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_re_encrypt_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_re_encrypt(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::ReEncrypt::new()) .with_metadata(smithy_http::operation::Metadata::new("ReEncrypt", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6201,7 +5819,6 @@ impl ReEncryptInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6296,52 +5913,43 @@ impl RetireGrantInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_retire_grant_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_retire_grant(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RetireGrant::new(), ) .with_metadata(smithy_http::operation::Metadata::new("RetireGrant", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6351,7 +5959,6 @@ impl RetireGrantInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6440,52 +6047,43 @@ impl RevokeGrantInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_revoke_grant_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_revoke_grant(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RevokeGrant::new(), ) .with_metadata(smithy_http::operation::Metadata::new("RevokeGrant", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6495,7 +6093,6 @@ impl RevokeGrantInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6587,47 +6184,38 @@ impl ScheduleKeyDeletionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_schedule_key_deletion_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_schedule_key_deletion(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ScheduleKeyDeletion::new(), @@ -6636,7 +6224,6 @@ impl ScheduleKeyDeletionInput { "ScheduleKeyDeletion", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6646,7 +6233,6 @@ impl ScheduleKeyDeletionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6789,48 +6375,39 @@ impl SignInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_sign_input_body(&self).map_err( - |err| smithy_http::operation::BuildError::SerializationError(err.into()), - )?; + let body = crate::operation_ser::serialize_operation_sign(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Sign::new()) .with_metadata(smithy_http::operation::Metadata::new("Sign", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6840,7 +6417,6 @@ impl SignInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6932,52 +6508,43 @@ impl TagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_tag_resource_input_body(&self) - .map_err(|err| { + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_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", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6987,7 +6554,6 @@ impl TagResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7079,46 +6645,38 @@ impl UntagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_untag_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UntagResource::new(), @@ -7127,7 +6685,6 @@ impl UntagResourceInput { "UntagResource", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7137,7 +6694,6 @@ impl UntagResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7233,52 +6789,43 @@ impl UpdateAliasInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_alias_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_alias(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateAlias::new(), ) .with_metadata(smithy_http::operation::Metadata::new("UpdateAlias", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7288,7 +6835,6 @@ impl UpdateAliasInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7409,47 +6955,38 @@ impl UpdateCustomKeyStoreInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_custom_key_store_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_custom_key_store(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateCustomKeyStore::new(), @@ -7458,7 +6995,6 @@ impl UpdateCustomKeyStoreInput { "UpdateCustomKeyStore", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7468,7 +7004,6 @@ impl UpdateCustomKeyStoreInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7557,47 +7092,38 @@ impl UpdateKeyDescriptionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_key_description_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_key_description(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateKeyDescription::new(), @@ -7606,7 +7132,6 @@ impl UpdateKeyDescriptionInput { "UpdateKeyDescription", "kms", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7616,7 +7141,6 @@ impl UpdateKeyDescriptionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7778,49 +7302,40 @@ impl VerifyInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_verify_input_body(&self).map_err( - |err| smithy_http::operation::BuildError::SerializationError(err.into()), - )?; + let body = crate::operation_ser::serialize_operation_verify(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Verify::new()) .with_metadata(smithy_http::operation::Metadata::new("Verify", "kms")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7830,7 +7345,6 @@ impl VerifyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") diff --git a/sdk/kms/src/json_deser.rs b/sdk/kms/src/json_deser.rs index 95f9d6dc7138..7888f3e7c2a0 100644 --- a/sdk/kms/src/json_deser.rs +++ b/sdk/kms/src/json_deser.rs @@ -11,7 +11,6 @@ pub fn cancel_key_deletion_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); Ok(builder) } @@ -28,7 +27,6 @@ pub fn create_custom_key_store_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_custom_key_store_id(parsed_body.custom_key_store_id); Ok(builder) } @@ -45,7 +43,6 @@ pub fn create_grant_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_grant_token(parsed_body.grant_token); builder = builder.set_grant_id(parsed_body.grant_id); Ok(builder) @@ -63,7 +60,6 @@ pub fn create_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_metadata(parsed_body.key_metadata); Ok(builder) } @@ -80,7 +76,6 @@ pub fn decrypt_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_plaintext(parsed_body.plaintext); builder = builder.set_encryption_algorithm(parsed_body.encryption_algorithm); @@ -99,7 +94,6 @@ pub fn describe_custom_key_stores_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_custom_key_stores(parsed_body.custom_key_stores); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -118,7 +112,6 @@ pub fn describe_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_metadata(parsed_body.key_metadata); Ok(builder) } @@ -135,7 +128,6 @@ pub fn encrypt_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ciphertext_blob(parsed_body.ciphertext_blob); builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_encryption_algorithm(parsed_body.encryption_algorithm); @@ -154,7 +146,6 @@ pub fn generate_data_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ciphertext_blob(parsed_body.ciphertext_blob); builder = builder.set_plaintext(parsed_body.plaintext); builder = builder.set_key_id(parsed_body.key_id); @@ -173,7 +164,6 @@ pub fn generate_data_key_pair_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_private_key_ciphertext_blob(parsed_body.private_key_ciphertext_blob); builder = builder.set_private_key_plaintext(parsed_body.private_key_plaintext); builder = builder.set_public_key(parsed_body.public_key); @@ -198,7 +188,6 @@ pub fn generate_data_key_pair_without_plaintext_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_private_key_ciphertext_blob(parsed_body.private_key_ciphertext_blob); builder = builder.set_public_key(parsed_body.public_key); builder = builder.set_key_id(parsed_body.key_id); @@ -219,7 +208,6 @@ pub fn generate_data_key_without_plaintext_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ciphertext_blob(parsed_body.ciphertext_blob); builder = builder.set_key_id(parsed_body.key_id); Ok(builder) @@ -237,7 +225,6 @@ pub fn generate_random_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_plaintext(parsed_body.plaintext); Ok(builder) } @@ -254,7 +241,6 @@ pub fn get_key_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_policy(parsed_body.policy); Ok(builder) } @@ -271,7 +257,6 @@ pub fn get_key_rotation_status_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_rotation_enabled(parsed_body.key_rotation_enabled); Ok(builder) } @@ -288,7 +273,6 @@ pub fn get_parameters_for_import_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_import_token(parsed_body.import_token); builder = builder.set_public_key(parsed_body.public_key); @@ -308,7 +292,6 @@ pub fn get_public_key_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_public_key(parsed_body.public_key); builder = builder.set_customer_master_key_spec(parsed_body.customer_master_key_spec); @@ -330,7 +313,6 @@ pub fn list_aliases_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_aliases(parsed_body.aliases); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -349,7 +331,6 @@ pub fn list_grants_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_grants(parsed_body.grants); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -368,7 +349,6 @@ pub fn list_key_policies_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_policy_names(parsed_body.policy_names); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -387,7 +367,6 @@ pub fn list_keys_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_keys(parsed_body.keys); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -406,7 +385,6 @@ pub fn list_resource_tags_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tags(parsed_body.tags); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -425,7 +403,6 @@ pub fn list_retirable_grants_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_grants(parsed_body.grants); builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_truncated(parsed_body.truncated); @@ -444,7 +421,6 @@ pub fn re_encrypt_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ciphertext_blob(parsed_body.ciphertext_blob); builder = builder.set_source_key_id(parsed_body.source_key_id); builder = builder.set_key_id(parsed_body.key_id); @@ -466,7 +442,6 @@ pub fn schedule_key_deletion_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_deletion_date(parsed_body.deletion_date); Ok(builder) @@ -484,7 +459,6 @@ pub fn sign_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_signature(parsed_body.signature); builder = builder.set_signing_algorithm(parsed_body.signing_algorithm); @@ -503,7 +477,6 @@ pub fn verify_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_key_id(parsed_body.key_id); builder = builder.set_signature_valid(parsed_body.signature_valid); builder = builder.set_signing_algorithm(parsed_body.signing_algorithm); diff --git a/sdk/kms/src/json_ser.rs b/sdk/kms/src/json_ser.rs new file mode 100644 index 000000000000..8827a7505270 --- /dev/null +++ b/sdk/kms/src/json_ser.rs @@ -0,0 +1,882 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_cancel_key_deletion_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CancelKeyDeletionInput, +) { + if let Some(var_1) = &input.key_id { + object.key("KeyId").string(var_1); + } +} + +pub fn serialize_structure_connect_custom_key_store_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ConnectCustomKeyStoreInput, +) { + if let Some(var_2) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_2); + } +} + +pub fn serialize_structure_create_alias_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAliasInput, +) { + if let Some(var_3) = &input.alias_name { + object.key("AliasName").string(var_3); + } + if let Some(var_4) = &input.target_key_id { + object.key("TargetKeyId").string(var_4); + } +} + +pub fn serialize_structure_create_custom_key_store_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateCustomKeyStoreInput, +) { + if let Some(var_5) = &input.custom_key_store_name { + object.key("CustomKeyStoreName").string(var_5); + } + if let Some(var_6) = &input.cloud_hsm_cluster_id { + object.key("CloudHsmClusterId").string(var_6); + } + if let Some(var_7) = &input.trust_anchor_certificate { + object.key("TrustAnchorCertificate").string(var_7); + } + if let Some(var_8) = &input.key_store_password { + object.key("KeyStorePassword").string(var_8); + } +} + +pub fn serialize_structure_create_grant_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateGrantInput, +) { + if let Some(var_9) = &input.key_id { + object.key("KeyId").string(var_9); + } + if let Some(var_10) = &input.grantee_principal { + object.key("GranteePrincipal").string(var_10); + } + if let Some(var_11) = &input.retiring_principal { + object.key("RetiringPrincipal").string(var_11); + } + if let Some(var_12) = &input.operations { + let mut array_13 = object.key("Operations").start_array(); + for item_14 in var_12 { + array_13.value().string(item_14.as_str()); + } + array_13.finish(); + } + if let Some(var_15) = &input.constraints { + let mut object_16 = object.key("Constraints").start_object(); + crate::json_ser::serialize_structure_grant_constraints(&mut object_16, var_15); + object_16.finish(); + } + if let Some(var_17) = &input.grant_tokens { + let mut array_18 = object.key("GrantTokens").start_array(); + for item_19 in var_17 { + array_18.value().string(item_19); + } + array_18.finish(); + } + if let Some(var_20) = &input.name { + object.key("Name").string(var_20); + } +} + +pub fn serialize_structure_create_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateKeyInput, +) { + if let Some(var_21) = &input.policy { + object.key("Policy").string(var_21); + } + if let Some(var_22) = &input.description { + object.key("Description").string(var_22); + } + if let Some(var_23) = &input.key_usage { + object.key("KeyUsage").string(var_23.as_str()); + } + if let Some(var_24) = &input.customer_master_key_spec { + object.key("CustomerMasterKeySpec").string(var_24.as_str()); + } + if let Some(var_25) = &input.origin { + object.key("Origin").string(var_25.as_str()); + } + if let Some(var_26) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_26); + } + object + .key("BypassPolicyLockoutSafetyCheck") + .boolean(input.bypass_policy_lockout_safety_check); + if let Some(var_27) = &input.tags { + let mut array_28 = object.key("Tags").start_array(); + for item_29 in var_27 { + let mut object_30 = array_28.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_30, item_29); + object_30.finish(); + } + array_28.finish(); + } +} + +pub fn serialize_structure_decrypt_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DecryptInput, +) { + if let Some(var_31) = &input.ciphertext_blob { + object + .key("CiphertextBlob") + .string_unchecked(&smithy_http::base64::encode(var_31)); + } + if let Some(var_32) = &input.encryption_context { + let mut object_33 = object.key("EncryptionContext").start_object(); + for (key_34, value_35) in var_32 { + object_33.key(key_34).string(value_35); + } + object_33.finish(); + } + if let Some(var_36) = &input.grant_tokens { + let mut array_37 = object.key("GrantTokens").start_array(); + for item_38 in var_36 { + array_37.value().string(item_38); + } + array_37.finish(); + } + if let Some(var_39) = &input.key_id { + object.key("KeyId").string(var_39); + } + if let Some(var_40) = &input.encryption_algorithm { + object.key("EncryptionAlgorithm").string(var_40.as_str()); + } +} + +pub fn serialize_structure_delete_alias_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteAliasInput, +) { + if let Some(var_41) = &input.alias_name { + object.key("AliasName").string(var_41); + } +} + +pub fn serialize_structure_delete_custom_key_store_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteCustomKeyStoreInput, +) { + if let Some(var_42) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_42); + } +} + +pub fn serialize_structure_delete_imported_key_material_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteImportedKeyMaterialInput, +) { + if let Some(var_43) = &input.key_id { + object.key("KeyId").string(var_43); + } +} + +pub fn serialize_structure_describe_custom_key_stores_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeCustomKeyStoresInput, +) { + if let Some(var_44) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_44); + } + if let Some(var_45) = &input.custom_key_store_name { + object.key("CustomKeyStoreName").string(var_45); + } + if let Some(var_46) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_46).into()), + ); + } + if let Some(var_47) = &input.marker { + object.key("Marker").string(var_47); + } +} + +pub fn serialize_structure_describe_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeKeyInput, +) { + if let Some(var_48) = &input.key_id { + object.key("KeyId").string(var_48); + } + if let Some(var_49) = &input.grant_tokens { + let mut array_50 = object.key("GrantTokens").start_array(); + for item_51 in var_49 { + array_50.value().string(item_51); + } + array_50.finish(); + } +} + +pub fn serialize_structure_disable_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DisableKeyInput, +) { + if let Some(var_52) = &input.key_id { + object.key("KeyId").string(var_52); + } +} + +pub fn serialize_structure_disable_key_rotation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DisableKeyRotationInput, +) { + if let Some(var_53) = &input.key_id { + object.key("KeyId").string(var_53); + } +} + +pub fn serialize_structure_disconnect_custom_key_store_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DisconnectCustomKeyStoreInput, +) { + if let Some(var_54) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_54); + } +} + +pub fn serialize_structure_enable_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::EnableKeyInput, +) { + if let Some(var_55) = &input.key_id { + object.key("KeyId").string(var_55); + } +} + +pub fn serialize_structure_enable_key_rotation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::EnableKeyRotationInput, +) { + if let Some(var_56) = &input.key_id { + object.key("KeyId").string(var_56); + } +} + +pub fn serialize_structure_encrypt_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::EncryptInput, +) { + if let Some(var_57) = &input.key_id { + object.key("KeyId").string(var_57); + } + if let Some(var_58) = &input.plaintext { + object + .key("Plaintext") + .string_unchecked(&smithy_http::base64::encode(var_58)); + } + if let Some(var_59) = &input.encryption_context { + let mut object_60 = object.key("EncryptionContext").start_object(); + for (key_61, value_62) in var_59 { + object_60.key(key_61).string(value_62); + } + object_60.finish(); + } + if let Some(var_63) = &input.grant_tokens { + let mut array_64 = object.key("GrantTokens").start_array(); + for item_65 in var_63 { + array_64.value().string(item_65); + } + array_64.finish(); + } + if let Some(var_66) = &input.encryption_algorithm { + object.key("EncryptionAlgorithm").string(var_66.as_str()); + } +} + +pub fn serialize_structure_generate_data_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GenerateDataKeyInput, +) { + if let Some(var_67) = &input.key_id { + object.key("KeyId").string(var_67); + } + if let Some(var_68) = &input.encryption_context { + let mut object_69 = object.key("EncryptionContext").start_object(); + for (key_70, value_71) in var_68 { + object_69.key(key_70).string(value_71); + } + object_69.finish(); + } + if let Some(var_72) = &input.number_of_bytes { + object.key("NumberOfBytes").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_72).into()), + ); + } + if let Some(var_73) = &input.key_spec { + object.key("KeySpec").string(var_73.as_str()); + } + if let Some(var_74) = &input.grant_tokens { + let mut array_75 = object.key("GrantTokens").start_array(); + for item_76 in var_74 { + array_75.value().string(item_76); + } + array_75.finish(); + } +} + +pub fn serialize_structure_generate_data_key_pair_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GenerateDataKeyPairInput, +) { + if let Some(var_77) = &input.encryption_context { + let mut object_78 = object.key("EncryptionContext").start_object(); + for (key_79, value_80) in var_77 { + object_78.key(key_79).string(value_80); + } + object_78.finish(); + } + if let Some(var_81) = &input.key_id { + object.key("KeyId").string(var_81); + } + if let Some(var_82) = &input.key_pair_spec { + object.key("KeyPairSpec").string(var_82.as_str()); + } + if let Some(var_83) = &input.grant_tokens { + let mut array_84 = object.key("GrantTokens").start_array(); + for item_85 in var_83 { + array_84.value().string(item_85); + } + array_84.finish(); + } +} + +pub fn serialize_structure_generate_data_key_pair_without_plaintext_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GenerateDataKeyPairWithoutPlaintextInput, +) { + if let Some(var_86) = &input.encryption_context { + let mut object_87 = object.key("EncryptionContext").start_object(); + for (key_88, value_89) in var_86 { + object_87.key(key_88).string(value_89); + } + object_87.finish(); + } + if let Some(var_90) = &input.key_id { + object.key("KeyId").string(var_90); + } + if let Some(var_91) = &input.key_pair_spec { + object.key("KeyPairSpec").string(var_91.as_str()); + } + if let Some(var_92) = &input.grant_tokens { + let mut array_93 = object.key("GrantTokens").start_array(); + for item_94 in var_92 { + array_93.value().string(item_94); + } + array_93.finish(); + } +} + +pub fn serialize_structure_generate_data_key_without_plaintext_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GenerateDataKeyWithoutPlaintextInput, +) { + if let Some(var_95) = &input.key_id { + object.key("KeyId").string(var_95); + } + if let Some(var_96) = &input.encryption_context { + let mut object_97 = object.key("EncryptionContext").start_object(); + for (key_98, value_99) in var_96 { + object_97.key(key_98).string(value_99); + } + object_97.finish(); + } + if let Some(var_100) = &input.key_spec { + object.key("KeySpec").string(var_100.as_str()); + } + if let Some(var_101) = &input.number_of_bytes { + object.key("NumberOfBytes").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_101).into()), + ); + } + if let Some(var_102) = &input.grant_tokens { + let mut array_103 = object.key("GrantTokens").start_array(); + for item_104 in var_102 { + array_103.value().string(item_104); + } + array_103.finish(); + } +} + +pub fn serialize_structure_generate_random_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GenerateRandomInput, +) { + if let Some(var_105) = &input.number_of_bytes { + object.key("NumberOfBytes").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_105).into()), + ); + } + if let Some(var_106) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_106); + } +} + +pub fn serialize_structure_get_key_policy_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetKeyPolicyInput, +) { + if let Some(var_107) = &input.key_id { + object.key("KeyId").string(var_107); + } + if let Some(var_108) = &input.policy_name { + object.key("PolicyName").string(var_108); + } +} + +pub fn serialize_structure_get_key_rotation_status_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetKeyRotationStatusInput, +) { + if let Some(var_109) = &input.key_id { + object.key("KeyId").string(var_109); + } +} + +pub fn serialize_structure_get_parameters_for_import_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetParametersForImportInput, +) { + if let Some(var_110) = &input.key_id { + object.key("KeyId").string(var_110); + } + if let Some(var_111) = &input.wrapping_algorithm { + object.key("WrappingAlgorithm").string(var_111.as_str()); + } + if let Some(var_112) = &input.wrapping_key_spec { + object.key("WrappingKeySpec").string(var_112.as_str()); + } +} + +pub fn serialize_structure_get_public_key_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetPublicKeyInput, +) { + if let Some(var_113) = &input.key_id { + object.key("KeyId").string(var_113); + } + if let Some(var_114) = &input.grant_tokens { + let mut array_115 = object.key("GrantTokens").start_array(); + for item_116 in var_114 { + array_115.value().string(item_116); + } + array_115.finish(); + } +} + +pub fn serialize_structure_import_key_material_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ImportKeyMaterialInput, +) { + if let Some(var_117) = &input.key_id { + object.key("KeyId").string(var_117); + } + if let Some(var_118) = &input.import_token { + object + .key("ImportToken") + .string_unchecked(&smithy_http::base64::encode(var_118)); + } + if let Some(var_119) = &input.encrypted_key_material { + object + .key("EncryptedKeyMaterial") + .string_unchecked(&smithy_http::base64::encode(var_119)); + } + if let Some(var_120) = &input.valid_to { + object + .key("ValidTo") + .instant(var_120, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_121) = &input.expiration_model { + object.key("ExpirationModel").string(var_121.as_str()); + } +} + +pub fn serialize_structure_list_aliases_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListAliasesInput, +) { + if let Some(var_122) = &input.key_id { + object.key("KeyId").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()), + ); + } + if let Some(var_124) = &input.marker { + object.key("Marker").string(var_124); + } +} + +pub fn serialize_structure_list_grants_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListGrantsInput, +) { + if let Some(var_125) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_125).into()), + ); + } + if let Some(var_126) = &input.marker { + object.key("Marker").string(var_126); + } + if let Some(var_127) = &input.key_id { + object.key("KeyId").string(var_127); + } +} + +pub fn serialize_structure_list_key_policies_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListKeyPoliciesInput, +) { + if let Some(var_128) = &input.key_id { + object.key("KeyId").string(var_128); + } + if let Some(var_129) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_129).into()), + ); + } + if let Some(var_130) = &input.marker { + object.key("Marker").string(var_130); + } +} + +pub fn serialize_structure_list_keys_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListKeysInput, +) { + if let Some(var_131) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_131).into()), + ); + } + if let Some(var_132) = &input.marker { + object.key("Marker").string(var_132); + } +} + +pub fn serialize_structure_list_resource_tags_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListResourceTagsInput, +) { + if let Some(var_133) = &input.key_id { + object.key("KeyId").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()), + ); + } + if let Some(var_135) = &input.marker { + object.key("Marker").string(var_135); + } +} + +pub fn serialize_structure_list_retirable_grants_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListRetirableGrantsInput, +) { + if let Some(var_136) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_136).into()), + ); + } + if let Some(var_137) = &input.marker { + object.key("Marker").string(var_137); + } + if let Some(var_138) = &input.retiring_principal { + object.key("RetiringPrincipal").string(var_138); + } +} + +pub fn serialize_structure_put_key_policy_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutKeyPolicyInput, +) { + if let Some(var_139) = &input.key_id { + object.key("KeyId").string(var_139); + } + if let Some(var_140) = &input.policy_name { + object.key("PolicyName").string(var_140); + } + if let Some(var_141) = &input.policy { + object.key("Policy").string(var_141); + } + object + .key("BypassPolicyLockoutSafetyCheck") + .boolean(input.bypass_policy_lockout_safety_check); +} + +pub fn serialize_structure_re_encrypt_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ReEncryptInput, +) { + if let Some(var_142) = &input.ciphertext_blob { + object + .key("CiphertextBlob") + .string_unchecked(&smithy_http::base64::encode(var_142)); + } + if let Some(var_143) = &input.source_encryption_context { + let mut object_144 = object.key("SourceEncryptionContext").start_object(); + for (key_145, value_146) in var_143 { + object_144.key(key_145).string(value_146); + } + object_144.finish(); + } + if let Some(var_147) = &input.source_key_id { + object.key("SourceKeyId").string(var_147); + } + if let Some(var_148) = &input.destination_key_id { + object.key("DestinationKeyId").string(var_148); + } + if let Some(var_149) = &input.destination_encryption_context { + let mut object_150 = object.key("DestinationEncryptionContext").start_object(); + for (key_151, value_152) in var_149 { + object_150.key(key_151).string(value_152); + } + object_150.finish(); + } + if let Some(var_153) = &input.source_encryption_algorithm { + object + .key("SourceEncryptionAlgorithm") + .string(var_153.as_str()); + } + if let Some(var_154) = &input.destination_encryption_algorithm { + object + .key("DestinationEncryptionAlgorithm") + .string(var_154.as_str()); + } + if let Some(var_155) = &input.grant_tokens { + let mut array_156 = object.key("GrantTokens").start_array(); + for item_157 in var_155 { + array_156.value().string(item_157); + } + array_156.finish(); + } +} + +pub fn serialize_structure_retire_grant_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RetireGrantInput, +) { + if let Some(var_158) = &input.grant_token { + object.key("GrantToken").string(var_158); + } + if let Some(var_159) = &input.key_id { + object.key("KeyId").string(var_159); + } + if let Some(var_160) = &input.grant_id { + object.key("GrantId").string(var_160); + } +} + +pub fn serialize_structure_revoke_grant_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RevokeGrantInput, +) { + if let Some(var_161) = &input.key_id { + object.key("KeyId").string(var_161); + } + if let Some(var_162) = &input.grant_id { + object.key("GrantId").string(var_162); + } +} + +pub fn serialize_structure_schedule_key_deletion_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ScheduleKeyDeletionInput, +) { + if let Some(var_163) = &input.key_id { + object.key("KeyId").string(var_163); + } + if let Some(var_164) = &input.pending_window_in_days { + object.key("PendingWindowInDays").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_164).into()), + ); + } +} + +pub fn serialize_structure_sign_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SignInput, +) { + if let Some(var_165) = &input.key_id { + object.key("KeyId").string(var_165); + } + if let Some(var_166) = &input.message { + object + .key("Message") + .string_unchecked(&smithy_http::base64::encode(var_166)); + } + if let Some(var_167) = &input.message_type { + object.key("MessageType").string(var_167.as_str()); + } + if let Some(var_168) = &input.grant_tokens { + let mut array_169 = object.key("GrantTokens").start_array(); + for item_170 in var_168 { + array_169.value().string(item_170); + } + array_169.finish(); + } + if let Some(var_171) = &input.signing_algorithm { + object.key("SigningAlgorithm").string(var_171.as_str()); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_172) = &input.key_id { + object.key("KeyId").string(var_172); + } + if let Some(var_173) = &input.tags { + let mut array_174 = object.key("Tags").start_array(); + for item_175 in var_173 { + let mut object_176 = array_174.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_176, item_175); + object_176.finish(); + } + array_174.finish(); + } +} + +pub fn serialize_structure_untag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UntagResourceInput, +) { + if let Some(var_177) = &input.key_id { + object.key("KeyId").string(var_177); + } + if let Some(var_178) = &input.tag_keys { + let mut array_179 = object.key("TagKeys").start_array(); + for item_180 in var_178 { + array_179.value().string(item_180); + } + array_179.finish(); + } +} + +pub fn serialize_structure_update_alias_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAliasInput, +) { + if let Some(var_181) = &input.alias_name { + object.key("AliasName").string(var_181); + } + if let Some(var_182) = &input.target_key_id { + object.key("TargetKeyId").string(var_182); + } +} + +pub fn serialize_structure_update_custom_key_store_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateCustomKeyStoreInput, +) { + if let Some(var_183) = &input.custom_key_store_id { + object.key("CustomKeyStoreId").string(var_183); + } + if let Some(var_184) = &input.new_custom_key_store_name { + object.key("NewCustomKeyStoreName").string(var_184); + } + if let Some(var_185) = &input.key_store_password { + object.key("KeyStorePassword").string(var_185); + } + if let Some(var_186) = &input.cloud_hsm_cluster_id { + object.key("CloudHsmClusterId").string(var_186); + } +} + +pub fn serialize_structure_update_key_description_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateKeyDescriptionInput, +) { + if let Some(var_187) = &input.key_id { + object.key("KeyId").string(var_187); + } + if let Some(var_188) = &input.description { + object.key("Description").string(var_188); + } +} + +pub fn serialize_structure_verify_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::VerifyInput, +) { + if let Some(var_189) = &input.key_id { + object.key("KeyId").string(var_189); + } + if let Some(var_190) = &input.message { + object + .key("Message") + .string_unchecked(&smithy_http::base64::encode(var_190)); + } + if let Some(var_191) = &input.message_type { + object.key("MessageType").string(var_191.as_str()); + } + if let Some(var_192) = &input.signature { + object + .key("Signature") + .string_unchecked(&smithy_http::base64::encode(var_192)); + } + if let Some(var_193) = &input.signing_algorithm { + object.key("SigningAlgorithm").string(var_193.as_str()); + } + if let Some(var_194) = &input.grant_tokens { + let mut array_195 = object.key("GrantTokens").start_array(); + for item_196 in var_194 { + array_195.value().string(item_196); + } + array_195.finish(); + } +} + +pub fn serialize_structure_grant_constraints( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::GrantConstraints, +) { + if let Some(var_197) = &input.encryption_context_subset { + let mut object_198 = object.key("EncryptionContextSubset").start_object(); + for (key_199, value_200) in var_197 { + object_198.key(key_199).string(value_200); + } + object_198.finish(); + } + if let Some(var_201) = &input.encryption_context_equals { + let mut object_202 = object.key("EncryptionContextEquals").start_object(); + for (key_203, value_204) in var_201 { + object_202.key(key_203).string(value_204); + } + object_202.finish(); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_205) = &input.tag_key { + object.key("TagKey").string(var_205); + } + if let Some(var_206) = &input.tag_value { + object.key("TagValue").string(var_206); + } +} diff --git a/sdk/kms/src/lib.rs b/sdk/kms/src/lib.rs index 46b47c195094..461a271a6f95 100644 --- a/sdk/kms/src/lib.rs +++ b/sdk/kms/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! AWS Key Management Service //!

    AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes //! the AWS KMS operations that you can call programmatically. For general information about AWS KMS, @@ -107,6 +108,7 @@ mod error_meta; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_ser; @@ -114,6 +116,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/kms/src/model.rs b/sdk/kms/src/model.rs index dcef509c369f..f461918676ee 100644 --- a/sdk/kms/src/model.rs +++ b/sdk/kms/src/model.rs @@ -37,7 +37,6 @@ impl std::convert::From<&str> for SigningAlgorithmSpec { } } } - impl std::str::FromStr for SigningAlgorithmSpec { type Err = std::convert::Infallible; @@ -45,7 +44,6 @@ impl std::str::FromStr for SigningAlgorithmSpec { Ok(SigningAlgorithmSpec::from(s)) } } - impl SigningAlgorithmSpec { pub fn as_str(&self) -> &str { match self { @@ -67,19 +65,6 @@ impl AsRef for SigningAlgorithmSpec { self.as_str() } } - -impl serde::Serialize for SigningAlgorithmSpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SigningAlgorithmSpec { fn deserialize(deserializer: D) -> Result where @@ -114,7 +99,6 @@ impl std::convert::From<&str> for MessageType { } } } - impl std::str::FromStr for MessageType { type Err = std::convert::Infallible; @@ -122,7 +106,6 @@ impl std::str::FromStr for MessageType { Ok(MessageType::from(s)) } } - impl MessageType { pub fn as_str(&self) -> &str { match self { @@ -137,19 +120,6 @@ impl AsRef for MessageType { self.as_str() } } - -impl serde::Serialize for MessageType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MessageType { fn deserialize(deserializer: D) -> Result where @@ -165,16 +135,14 @@ impl<'de> serde::Deserialize<'de> for MessageType { ///

    For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User /// Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { ///

    The key of the tag.

    #[serde(rename = "TagKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tag_key: std::option::Option, ///

    The value of the tag.

    #[serde(rename = "TagValue")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tag_value: std::option::Option, } @@ -256,7 +224,6 @@ impl std::convert::From<&str> for EncryptionAlgorithmSpec { } } } - impl std::str::FromStr for EncryptionAlgorithmSpec { type Err = std::convert::Infallible; @@ -264,7 +231,6 @@ impl std::str::FromStr for EncryptionAlgorithmSpec { Ok(EncryptionAlgorithmSpec::from(s)) } } - impl EncryptionAlgorithmSpec { pub fn as_str(&self) -> &str { match self { @@ -280,19 +246,6 @@ impl AsRef for EncryptionAlgorithmSpec { self.as_str() } } - -impl serde::Serialize for EncryptionAlgorithmSpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for EncryptionAlgorithmSpec { fn deserialize(deserializer: D) -> Result where @@ -305,29 +258,22 @@ impl<'de> serde::Deserialize<'de> for EncryptionAlgorithmSpec { ///

    Contains information about a grant.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GrantListEntry { ///

    The unique identifier for the customer master key (CMK) to which the grant applies.

    #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    The unique identifier for the grant.

    #[serde(rename = "GrantId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub grant_id: std::option::Option, ///

    The friendly name that identifies the grant. If a name was provided in the CreateGrant request, that name is returned. Otherwise this value is null.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The date and time when the grant was created.

    #[serde(rename = "CreationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -340,28 +286,23 @@ pub struct GrantListEntry { /// the service /// principal, which might represent several different grantee principals.

    #[serde(rename = "GranteePrincipal")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub grantee_principal: std::option::Option, ///

    The principal that can retire the grant.

    #[serde(rename = "RetiringPrincipal")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retiring_principal: std::option::Option, ///

    The AWS account under which the grant was issued.

    #[serde(rename = "IssuingAccount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub issuing_account: std::option::Option, ///

    The list of operations permitted by the grant.

    #[serde(rename = "Operations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operations: std::option::Option>, ///

    A list of key-value pairs that must be present in the encryption context of certain /// subsequent operations that the grant allows.

    #[serde(rename = "Constraints")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub constraints: std::option::Option, } @@ -546,21 +487,19 @@ impl GrantListEntry { /// .

    /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct GrantConstraints { ///

    A list of key-value pairs that must be included in the encryption context of the /// cryptographic operation request. The grant allows the cryptographic operation only when the /// encryption context in the request includes the key-value pairs specified in this constraint, /// although it can include additional key-value pairs.

    #[serde(rename = "EncryptionContextSubset")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_context_subset: std::option::Option>, ///

    A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the /// request is the same as the encryption context specified in this constraint.

    #[serde(rename = "EncryptionContextEquals")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_context_equals: std::option::Option>, @@ -691,7 +630,6 @@ impl std::convert::From<&str> for GrantOperation { } } } - impl std::str::FromStr for GrantOperation { type Err = std::convert::Infallible; @@ -699,7 +637,6 @@ impl std::str::FromStr for GrantOperation { Ok(GrantOperation::from(s)) } } - impl GrantOperation { pub fn as_str(&self) -> &str { match self { @@ -728,19 +665,6 @@ impl AsRef for GrantOperation { self.as_str() } } - -impl serde::Serialize for GrantOperation { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for GrantOperation { fn deserialize(deserializer: D) -> Result where @@ -753,16 +677,14 @@ impl<'de> serde::Deserialize<'de> for GrantOperation { ///

    Contains information about each entry in the key list.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KeyListEntry { ///

    Unique identifier of the key.

    #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    ARN of the key.

    #[serde(rename = "KeyArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_arn: std::option::Option, } @@ -820,29 +742,22 @@ impl KeyListEntry { ///

    Contains information about an alias.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AliasListEntry { ///

    String that contains the alias. This value begins with alias/.

    #[serde(rename = "AliasName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub alias_name: std::option::Option, ///

    String that contains the key ARN.

    #[serde(rename = "AliasArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub alias_arn: std::option::Option, ///

    String that contains the key identifier of the CMK associated with the alias.

    #[serde(rename = "TargetKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_key_id: std::option::Option, ///

    Date and time that the alias was most recently created in the account and Region. Formatted as Unix time.

    #[serde(rename = "CreationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -850,10 +765,6 @@ pub struct AliasListEntry { pub creation_date: std::option::Option, ///

    Date and time that the alias was most recently associated with a CMK in the account and Region. Formatted as Unix time.

    #[serde(rename = "LastUpdatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -978,7 +889,6 @@ impl std::convert::From<&str> for ExpirationModelType { } } } - impl std::str::FromStr for ExpirationModelType { type Err = std::convert::Infallible; @@ -986,7 +896,6 @@ impl std::str::FromStr for ExpirationModelType { Ok(ExpirationModelType::from(s)) } } - impl ExpirationModelType { pub fn as_str(&self) -> &str { match self { @@ -1001,19 +910,6 @@ impl AsRef for ExpirationModelType { self.as_str() } } - -impl serde::Serialize for ExpirationModelType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExpirationModelType { fn deserialize(deserializer: D) -> Result where @@ -1048,7 +944,6 @@ impl std::convert::From<&str> for KeyUsageType { } } } - impl std::str::FromStr for KeyUsageType { type Err = std::convert::Infallible; @@ -1056,7 +951,6 @@ impl std::str::FromStr for KeyUsageType { Ok(KeyUsageType::from(s)) } } - impl KeyUsageType { pub fn as_str(&self) -> &str { match self { @@ -1071,19 +965,6 @@ impl AsRef for KeyUsageType { self.as_str() } } - -impl serde::Serialize for KeyUsageType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for KeyUsageType { fn deserialize(deserializer: D) -> Result where @@ -1130,7 +1011,6 @@ impl std::convert::From<&str> for CustomerMasterKeySpec { } } } - impl std::str::FromStr for CustomerMasterKeySpec { type Err = std::convert::Infallible; @@ -1138,7 +1018,6 @@ impl std::str::FromStr for CustomerMasterKeySpec { Ok(CustomerMasterKeySpec::from(s)) } } - impl CustomerMasterKeySpec { pub fn as_str(&self) -> &str { match self { @@ -1159,19 +1038,6 @@ impl AsRef for CustomerMasterKeySpec { self.as_str() } } - -impl serde::Serialize for CustomerMasterKeySpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CustomerMasterKeySpec { fn deserialize(deserializer: D) -> Result where @@ -1204,7 +1070,6 @@ impl std::convert::From<&str> for WrappingKeySpec { } } } - impl std::str::FromStr for WrappingKeySpec { type Err = std::convert::Infallible; @@ -1212,7 +1077,6 @@ impl std::str::FromStr for WrappingKeySpec { Ok(WrappingKeySpec::from(s)) } } - impl WrappingKeySpec { pub fn as_str(&self) -> &str { match self { @@ -1226,19 +1090,6 @@ impl AsRef for WrappingKeySpec { self.as_str() } } - -impl serde::Serialize for WrappingKeySpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for WrappingKeySpec { fn deserialize(deserializer: D) -> Result where @@ -1275,7 +1126,6 @@ impl std::convert::From<&str> for AlgorithmSpec { } } } - impl std::str::FromStr for AlgorithmSpec { type Err = std::convert::Infallible; @@ -1283,7 +1133,6 @@ impl std::str::FromStr for AlgorithmSpec { Ok(AlgorithmSpec::from(s)) } } - impl AlgorithmSpec { pub fn as_str(&self) -> &str { match self { @@ -1299,19 +1148,6 @@ impl AsRef for AlgorithmSpec { self.as_str() } } - -impl serde::Serialize for AlgorithmSpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AlgorithmSpec { fn deserialize(deserializer: D) -> Result where @@ -1346,7 +1182,6 @@ impl std::convert::From<&str> for DataKeySpec { } } } - impl std::str::FromStr for DataKeySpec { type Err = std::convert::Infallible; @@ -1354,7 +1189,6 @@ impl std::str::FromStr for DataKeySpec { Ok(DataKeySpec::from(s)) } } - impl DataKeySpec { pub fn as_str(&self) -> &str { match self { @@ -1369,19 +1203,6 @@ impl AsRef for DataKeySpec { self.as_str() } } - -impl serde::Serialize for DataKeySpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DataKeySpec { fn deserialize(deserializer: D) -> Result where @@ -1426,7 +1247,6 @@ impl std::convert::From<&str> for DataKeyPairSpec { } } } - impl std::str::FromStr for DataKeyPairSpec { type Err = std::convert::Infallible; @@ -1434,7 +1254,6 @@ impl std::str::FromStr for DataKeyPairSpec { Ok(DataKeyPairSpec::from(s)) } } - impl DataKeyPairSpec { pub fn as_str(&self) -> &str { match self { @@ -1454,19 +1273,6 @@ impl AsRef for DataKeyPairSpec { self.as_str() } } - -impl serde::Serialize for DataKeyPairSpec { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DataKeyPairSpec { fn deserialize(deserializer: D) -> Result where @@ -1480,31 +1286,24 @@ impl<'de> serde::Deserialize<'de> for DataKeyPairSpec { ///

    Contains metadata about a customer master key (CMK).

    ///

    This data type is used as a response element for the CreateKey and DescribeKey operations.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KeyMetadata { ///

    The twelve-digit account ID of the AWS account that owns the CMK.

    #[serde(rename = "AWSAccountId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aws_account_id: std::option::Option, ///

    The globally unique identifier for the CMK.

    #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service /// (AWS KMS) in the Example ARNs section of the AWS General /// Reference.

    #[serde(rename = "Arn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

    The date and time when the CMK was created.

    #[serde(rename = "CreationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1516,27 +1315,20 @@ pub struct KeyMetadata { pub enabled: bool, ///

    The description of the CMK.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The cryptographic operations for which you can use the CMK.

    #[serde(rename = "KeyUsage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_usage: std::option::Option, ///

    The current status of the CMK.

    ///

    For more information about how key state affects the use of a CMK, see Key state: Effect on your CMK in the AWS Key Management Service Developer Guide.

    #[serde(rename = "KeyState")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_state: std::option::Option, ///

    The date and time after which AWS KMS deletes the CMK. This value is present only when /// KeyState is PendingDeletion.

    #[serde(rename = "DeletionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1547,10 +1339,6 @@ pub struct KeyMetadata { /// whose Origin is EXTERNAL and whose ExpirationModel is /// KEY_MATERIAL_EXPIRES, otherwise this value is omitted.

    #[serde(rename = "ValidTo")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1562,13 +1350,11 @@ pub struct KeyMetadata { /// this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster /// associated with a custom key store.

    #[serde(rename = "Origin")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub origin: std::option::Option, ///

    A unique identifier for the custom key store that contains the CMK. This value is present /// only when the CMK is created in a custom key store.

    #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub custom_key_store_id: std::option::Option, ///

    The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you @@ -1576,25 +1362,21 @@ pub struct KeyMetadata { /// associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key /// store.

    #[serde(rename = "CloudHsmClusterId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_hsm_cluster_id: std::option::Option, ///

    Specifies whether the CMK's key material expires. This value is present only when /// Origin is EXTERNAL, otherwise this value is omitted.

    #[serde(rename = "ExpirationModel")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expiration_model: std::option::Option, ///

    The manager of the CMK. CMKs in your AWS account are either customer managed or AWS /// managed. For more information about the difference, see Customer Master Keys in the /// AWS Key Management Service Developer Guide.

    #[serde(rename = "KeyManager")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_manager: std::option::Option, ///

    Describes the type of key material in the CMK.

    #[serde(rename = "CustomerMasterKeySpec")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub customer_master_key_spec: std::option::Option, ///

    The encryption algorithms that the CMK supports. You cannot use the CMK with other @@ -1602,7 +1384,6 @@ pub struct KeyMetadata { ///

    This field appears only when the KeyUsage of the CMK is /// ENCRYPT_DECRYPT.

    #[serde(rename = "EncryptionAlgorithms")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_algorithms: std::option::Option>, @@ -1611,7 +1392,6 @@ pub struct KeyMetadata { ///

    This field appears only when the KeyUsage of the CMK is /// SIGN_VERIFY.

    #[serde(rename = "SigningAlgorithms")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_algorithms: std::option::Option>, } @@ -1946,7 +1726,6 @@ impl std::convert::From<&str> for KeyManagerType { } } } - impl std::str::FromStr for KeyManagerType { type Err = std::convert::Infallible; @@ -1954,7 +1733,6 @@ impl std::str::FromStr for KeyManagerType { Ok(KeyManagerType::from(s)) } } - impl KeyManagerType { pub fn as_str(&self) -> &str { match self { @@ -1969,19 +1747,6 @@ impl AsRef for KeyManagerType { self.as_str() } } - -impl serde::Serialize for KeyManagerType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for KeyManagerType { fn deserialize(deserializer: D) -> Result where @@ -2018,7 +1783,6 @@ impl std::convert::From<&str> for OriginType { } } } - impl std::str::FromStr for OriginType { type Err = std::convert::Infallible; @@ -2026,7 +1790,6 @@ impl std::str::FromStr for OriginType { Ok(OriginType::from(s)) } } - impl OriginType { pub fn as_str(&self) -> &str { match self { @@ -2042,19 +1805,6 @@ impl AsRef for OriginType { self.as_str() } } - -impl serde::Serialize for OriginType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OriginType { fn deserialize(deserializer: D) -> Result where @@ -2095,7 +1845,6 @@ impl std::convert::From<&str> for KeyState { } } } - impl std::str::FromStr for KeyState { type Err = std::convert::Infallible; @@ -2103,7 +1852,6 @@ impl std::str::FromStr for KeyState { Ok(KeyState::from(s)) } } - impl KeyState { pub fn as_str(&self) -> &str { match self { @@ -2121,19 +1869,6 @@ impl AsRef for KeyState { self.as_str() } } - -impl serde::Serialize for KeyState { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for KeyState { fn deserialize(deserializer: D) -> Result where @@ -2146,29 +1881,25 @@ impl<'de> serde::Deserialize<'de> for KeyState { ///

    Contains information about each custom key store in the custom key store list.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CustomKeyStoresListEntry { ///

    A unique identifier for the custom key store.

    #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub custom_key_store_id: std::option::Option, ///

    The user-specified friendly name for the custom key store.

    #[serde(rename = "CustomKeyStoreName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub custom_key_store_name: std::option::Option, ///

    A unique identifier for the AWS CloudHSM cluster that is associated with the custom key /// store.

    #[serde(rename = "CloudHsmClusterId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_hsm_cluster_id: std::option::Option, ///

    The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the /// cluster, you create this certificate and save it in the customerCA.crt /// file.

    #[serde(rename = "TrustAnchorCertificate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub trust_anchor_certificate: std::option::Option, ///

    Indicates whether the custom key store is connected to its AWS CloudHSM cluster.

    @@ -2182,7 +1913,6 @@ pub struct CustomKeyStoresListEntry { /// help resolving a connection failure, see Troubleshooting a Custom Key Store in the /// AWS Key Management Service Developer Guide.

    #[serde(rename = "ConnectionState")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub connection_state: std::option::Option, ///

    Describes the connection error. This field appears in the response only when the ConnectionState is FAILED. For help resolving these errors, see How to Fix a Connection Failure in AWS Key Management Service Developer Guide.

    @@ -2246,15 +1976,10 @@ pub struct CustomKeyStoresListEntry { /// /// #[serde(rename = "ConnectionErrorCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub connection_error_code: std::option::Option, ///

    The date and time when the custom key store was created.

    #[serde(rename = "CreationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -2504,7 +2229,6 @@ impl std::convert::From<&str> for ConnectionErrorCodeType { } } } - impl std::str::FromStr for ConnectionErrorCodeType { type Err = std::convert::Infallible; @@ -2512,7 +2236,6 @@ impl std::str::FromStr for ConnectionErrorCodeType { Ok(ConnectionErrorCodeType::from(s)) } } - impl ConnectionErrorCodeType { pub fn as_str(&self) -> &str { match self { @@ -2534,19 +2257,6 @@ impl AsRef for ConnectionErrorCodeType { self.as_str() } } - -impl serde::Serialize for ConnectionErrorCodeType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ConnectionErrorCodeType { fn deserialize(deserializer: D) -> Result where @@ -2587,7 +2297,6 @@ impl std::convert::From<&str> for ConnectionStateType { } } } - impl std::str::FromStr for ConnectionStateType { type Err = std::convert::Infallible; @@ -2595,7 +2304,6 @@ impl std::str::FromStr for ConnectionStateType { Ok(ConnectionStateType::from(s)) } } - impl ConnectionStateType { pub fn as_str(&self) -> &str { match self { @@ -2613,19 +2321,6 @@ impl AsRef for ConnectionStateType { self.as_str() } } - -impl serde::Serialize for ConnectionStateType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ConnectionStateType { fn deserialize(deserializer: D) -> Result where diff --git a/sdk/kms/src/operation.rs b/sdk/kms/src/operation.rs index dd9f8be6efc5..743332ddf928 100644 --- a/sdk/kms/src/operation.rs +++ b/sdk/kms/src/operation.rs @@ -13,7 +13,7 @@ ///

    /// Related operations: ScheduleKeyDeletion ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CancelKeyDeletion { _private: (), } @@ -32,7 +32,6 @@ impl CancelKeyDeletion { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CancelKeyDeletionError::unhandled(generic)), @@ -91,7 +90,6 @@ impl CancelKeyDeletion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CancelKeyDeletion { type Output = Result; @@ -161,7 +159,7 @@ impl smithy_http::response::ParseStrictResponse for CancelKeyDeletion { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ConnectCustomKeyStore { _private: (), } @@ -181,7 +179,6 @@ impl ConnectCustomKeyStore { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ConnectCustomKeyStoreError::unhandled(generic)), @@ -218,7 +215,6 @@ impl ConnectCustomKeyStore { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ConnectCustomKeyStore { type Output = Result< crate::output::ConnectCustomKeyStoreOutput, @@ -281,7 +277,7 @@ impl smithy_http::response::ParseStrictResponse for ConnectCustomKeyStore { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateAlias { _private: (), } @@ -300,7 +296,6 @@ impl CreateAlias { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateAliasError::unhandled(generic)), @@ -366,7 +361,6 @@ impl CreateAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -424,7 +418,7 @@ impl smithy_http::response::ParseStrictResponse for CreateAlias { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateCustomKeyStore { _private: (), } @@ -444,7 +438,6 @@ impl CreateCustomKeyStore { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateCustomKeyStoreError::unhandled(generic)), @@ -494,7 +487,6 @@ impl CreateCustomKeyStore { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateCustomKeyStore { type Output = Result; @@ -572,7 +564,7 @@ impl smithy_http::response::ParseStrictResponse for CreateCustomKeyStore { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateGrant { _private: (), } @@ -591,7 +583,6 @@ impl CreateGrant { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateGrantError::unhandled(generic)), @@ -667,7 +658,6 @@ impl CreateGrant { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateGrant { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -774,7 +764,7 @@ impl smithy_http::response::ParseStrictResponse for CreateGrant { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateKey { _private: (), } @@ -793,7 +783,6 @@ impl CreateKey { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateKeyError::unhandled(generic)), @@ -852,7 +841,6 @@ impl CreateKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -945,7 +933,7 @@ impl smithy_http::response::ParseStrictResponse for CreateKey { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Decrypt { _private: (), } @@ -964,7 +952,6 @@ impl Decrypt { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DecryptError::unhandled(generic)), @@ -1053,7 +1040,6 @@ impl Decrypt { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Decrypt { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1103,7 +1089,7 @@ impl smithy_http::response::ParseStrictResponse for Decrypt { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteAlias { _private: (), } @@ -1122,7 +1108,6 @@ impl DeleteAlias { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteAliasError::unhandled(generic)), @@ -1167,7 +1152,6 @@ impl DeleteAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1229,7 +1213,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteAlias { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteCustomKeyStore { _private: (), } @@ -1249,7 +1233,6 @@ impl DeleteCustomKeyStore { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteCustomKeyStoreError::unhandled(generic)), @@ -1282,7 +1265,6 @@ impl DeleteCustomKeyStore { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteCustomKeyStore { type Output = Result; @@ -1322,7 +1304,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteCustomKeyStore { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteImportedKeyMaterial { _private: (), } @@ -1344,7 +1326,6 @@ impl DeleteImportedKeyMaterial { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1389,7 +1370,6 @@ impl DeleteImportedKeyMaterial { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteImportedKeyMaterial { type Output = Result< crate::output::DeleteImportedKeyMaterialOutput, @@ -1454,7 +1434,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteImportedKeyMaterial { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeCustomKeyStores { _private: (), } @@ -1476,7 +1456,6 @@ impl DescribeCustomKeyStores { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1510,7 +1489,6 @@ impl DescribeCustomKeyStores { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeCustomKeyStores { type Output = Result< crate::output::DescribeCustomKeyStoresOutput, @@ -1599,7 +1577,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeCustomKeyStores { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeKey { _private: (), } @@ -1618,7 +1596,6 @@ impl DescribeKey { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeKeyError::unhandled(generic)), @@ -1666,7 +1643,6 @@ impl DescribeKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1690,7 +1666,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeKey { ///

    /// Related operations: EnableKey ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisableKey { _private: (), } @@ -1709,7 +1685,6 @@ impl DisableKey { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DisableKeyError::unhandled(generic)), @@ -1761,7 +1736,6 @@ impl DisableKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DisableKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1795,7 +1769,7 @@ impl smithy_http::response::ParseStrictResponse for DisableKey { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisableKeyRotation { _private: (), } @@ -1815,7 +1789,6 @@ impl DisableKeyRotation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DisableKeyRotationError::unhandled(generic)), @@ -1885,7 +1858,6 @@ impl DisableKeyRotation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DisableKeyRotation { type Output = Result; @@ -1945,7 +1917,7 @@ impl smithy_http::response::ParseStrictResponse for DisableKeyRotation { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisconnectCustomKeyStore { _private: (), } @@ -1967,7 +1939,6 @@ impl DisconnectCustomKeyStore { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2000,7 +1971,6 @@ impl DisconnectCustomKeyStore { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DisconnectCustomKeyStore { type Output = Result< crate::output::DisconnectCustomKeyStoreOutput, @@ -2023,7 +1993,7 @@ impl smithy_http::response::ParseStrictResponse for DisconnectCustomKeyStore { ///

    /// Related operations: DisableKey ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct EnableKey { _private: (), } @@ -2042,7 +2012,6 @@ impl EnableKey { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::EnableKeyError::unhandled(generic)), @@ -2101,7 +2070,6 @@ impl EnableKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for EnableKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2134,7 +2102,7 @@ impl smithy_http::response::ParseStrictResponse for EnableKey { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct EnableKeyRotation { _private: (), } @@ -2153,7 +2121,6 @@ impl EnableKeyRotation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::EnableKeyRotationError::unhandled(generic)), @@ -2223,7 +2190,6 @@ impl EnableKeyRotation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for EnableKeyRotation { type Output = Result; @@ -2351,7 +2317,7 @@ impl smithy_http::response::ParseStrictResponse for EnableKeyRotation { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Encrypt { _private: (), } @@ -2370,7 +2336,6 @@ impl Encrypt { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::EncryptError::unhandled(generic)), @@ -2445,7 +2410,6 @@ impl Encrypt { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Encrypt { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2543,7 +2507,7 @@ impl smithy_http::response::ParseStrictResponse for Encrypt { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GenerateDataKey { _private: (), } @@ -2562,7 +2526,6 @@ impl GenerateDataKey { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GenerateDataKeyError::unhandled(generic)), @@ -2638,7 +2601,6 @@ impl GenerateDataKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GenerateDataKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2710,7 +2672,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateDataKey { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GenerateDataKeyPair { _private: (), } @@ -2730,7 +2692,6 @@ impl GenerateDataKeyPair { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GenerateDataKeyPairError::unhandled(generic)), @@ -2825,7 +2786,6 @@ impl GenerateDataKeyPair { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GenerateDataKeyPair { type Output = Result; @@ -2893,7 +2853,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateDataKeyPair { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GenerateDataKeyPairWithoutPlaintext { _private: (), } @@ -2915,7 +2875,6 @@ impl GenerateDataKeyPairWithoutPlaintext { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2978,7 +2937,6 @@ impl GenerateDataKeyPairWithoutPlaintext { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GenerateDataKeyPairWithoutPlaintext { type Output = Result< crate::output::GenerateDataKeyPairWithoutPlaintextOutput, @@ -3056,7 +3014,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateDataKeyPairWithoutPl ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GenerateDataKeyWithoutPlaintext { _private: (), } @@ -3078,7 +3036,6 @@ impl GenerateDataKeyWithoutPlaintext { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3137,7 +3094,6 @@ impl GenerateDataKeyWithoutPlaintext { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GenerateDataKeyWithoutPlaintext { type Output = Result< crate::output::GenerateDataKeyWithoutPlaintextOutput, @@ -3156,7 +3112,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateDataKeyWithoutPlaint /// Cryptographic Details whitepaper.

    ///

    /// Required permissions: kms:GenerateRandom (IAM policy)

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GenerateRandom { _private: (), } @@ -3175,7 +3131,6 @@ impl GenerateRandom { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GenerateRandomError::unhandled(generic)), @@ -3228,7 +3183,6 @@ impl GenerateRandom { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GenerateRandom { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3244,7 +3198,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateRandom { ///

    /// Related operations: PutKeyPolicy ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetKeyPolicy { _private: (), } @@ -3263,7 +3217,6 @@ impl GetKeyPolicy { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetKeyPolicyError::unhandled(generic)), @@ -3318,7 +3271,6 @@ impl GetKeyPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetKeyPolicy { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3363,7 +3315,7 @@ impl smithy_http::response::ParseStrictResponse for GetKeyPolicy { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetKeyRotationStatus { _private: (), } @@ -3383,7 +3335,6 @@ impl GetKeyRotationStatus { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetKeyRotationStatusError::unhandled(generic)), @@ -3454,7 +3405,6 @@ impl GetKeyRotationStatus { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetKeyRotationStatus { type Output = Result; @@ -3499,7 +3449,7 @@ impl smithy_http::response::ParseStrictResponse for GetKeyRotationStatus { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParametersForImport { _private: (), } @@ -3521,7 +3471,6 @@ impl GetParametersForImport { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3596,7 +3545,6 @@ impl GetParametersForImport { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetParametersForImport { type Output = Result< crate::output::GetParametersForImportOutput, @@ -3652,7 +3600,7 @@ impl smithy_http::response::ParseStrictResponse for GetParametersForImport { ///

    /// Related operations: CreateKey ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetPublicKey { _private: (), } @@ -3671,7 +3619,6 @@ impl GetPublicKey { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetPublicKeyError::unhandled(generic)), @@ -3761,7 +3708,6 @@ impl GetPublicKey { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetPublicKey { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3833,7 +3779,7 @@ impl smithy_http::response::ParseStrictResponse for GetPublicKey { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ImportKeyMaterial { _private: (), } @@ -3852,7 +3798,6 @@ impl ImportKeyMaterial { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ImportKeyMaterialError::unhandled(generic)), @@ -3951,7 +3896,6 @@ impl ImportKeyMaterial { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ImportKeyMaterial { type Output = Result; @@ -4000,7 +3944,7 @@ impl smithy_http::response::ParseStrictResponse for ImportKeyMaterial { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListAliases { _private: (), } @@ -4019,7 +3963,6 @@ impl ListAliases { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListAliasesError::unhandled(generic)), @@ -4074,7 +4017,6 @@ impl ListAliases { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListAliases { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4120,7 +4062,7 @@ impl smithy_http::response::ParseStrictResponse for ListAliases { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListGrants { _private: (), } @@ -4139,7 +4081,6 @@ impl ListGrants { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListGrantsError::unhandled(generic)), @@ -4200,7 +4141,6 @@ impl ListGrants { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListGrants { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4230,7 +4170,7 @@ impl smithy_http::response::ParseStrictResponse for ListGrants { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListKeyPolicies { _private: (), } @@ -4249,7 +4189,6 @@ impl ListKeyPolicies { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListKeyPoliciesError::unhandled(generic)), @@ -4304,7 +4243,6 @@ impl ListKeyPolicies { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListKeyPolicies { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4343,7 +4281,7 @@ impl smithy_http::response::ParseStrictResponse for ListKeyPolicies { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListKeys { _private: (), } @@ -4362,7 +4300,6 @@ impl ListKeys { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListKeysError::unhandled(generic)), @@ -4402,7 +4339,6 @@ impl ListKeys { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListKeys { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4434,7 +4370,7 @@ impl smithy_http::response::ParseStrictResponse for ListKeys { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResourceTags { _private: (), } @@ -4453,7 +4389,6 @@ impl ListResourceTags { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListResourceTagsError::unhandled(generic)), @@ -4503,7 +4438,6 @@ impl ListResourceTags { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListResourceTags { type Output = Result; @@ -4551,7 +4485,7 @@ impl smithy_http::response::ParseStrictResponse for ListResourceTags { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListRetirableGrants { _private: (), } @@ -4571,7 +4505,6 @@ impl ListRetirableGrants { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListRetirableGrantsError::unhandled(generic)), @@ -4630,7 +4563,6 @@ impl ListRetirableGrants { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListRetirableGrants { type Output = Result; @@ -4652,7 +4584,7 @@ impl smithy_http::response::ParseStrictResponse for ListRetirableGrants { ///

    /// Related operations: GetKeyPolicy ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutKeyPolicy { _private: (), } @@ -4671,7 +4603,6 @@ impl PutKeyPolicy { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutKeyPolicyError::unhandled(generic)), @@ -4746,7 +4677,6 @@ impl PutKeyPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutKeyPolicy { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4844,7 +4774,7 @@ impl smithy_http::response::ParseStrictResponse for PutKeyPolicy { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ReEncrypt { _private: (), } @@ -4863,7 +4793,6 @@ impl ReEncrypt { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ReEncryptError::unhandled(generic)), @@ -4952,7 +4881,6 @@ impl ReEncrypt { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ReEncrypt { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5012,7 +4940,7 @@ impl smithy_http::response::ParseStrictResponse for ReEncrypt { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RetireGrant { _private: (), } @@ -5031,7 +4959,6 @@ impl RetireGrant { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RetireGrantError::unhandled(generic)), @@ -5097,7 +5024,6 @@ impl RetireGrant { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RetireGrant { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5137,7 +5063,7 @@ impl smithy_http::response::ParseStrictResponse for RetireGrant { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RevokeGrant { _private: (), } @@ -5156,7 +5082,6 @@ impl RevokeGrant { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RevokeGrantError::unhandled(generic)), @@ -5215,7 +5140,6 @@ impl RevokeGrant { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RevokeGrant { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5263,7 +5187,7 @@ impl smithy_http::response::ParseStrictResponse for RevokeGrant { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ScheduleKeyDeletion { _private: (), } @@ -5283,7 +5207,6 @@ impl ScheduleKeyDeletion { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ScheduleKeyDeletionError::unhandled(generic)), @@ -5344,7 +5267,6 @@ impl ScheduleKeyDeletion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ScheduleKeyDeletion { type Output = Result; @@ -5399,7 +5321,7 @@ impl smithy_http::response::ParseStrictResponse for ScheduleKeyDeletion { ///

    /// Related operations: Verify ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Sign { _private: (), } @@ -5418,7 +5340,6 @@ impl Sign { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::SignError::unhandled(generic)), @@ -5493,7 +5414,6 @@ impl Sign { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Sign { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5535,7 +5455,7 @@ impl smithy_http::response::ParseStrictResponse for Sign { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), } @@ -5554,7 +5474,6 @@ impl TagResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TagResourceError::unhandled(generic)), @@ -5613,7 +5532,6 @@ impl TagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5652,7 +5570,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), } @@ -5671,7 +5589,6 @@ impl UntagResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UntagResourceError::unhandled(generic)), @@ -5723,7 +5640,6 @@ impl UntagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UntagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5788,7 +5704,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAlias { _private: (), } @@ -5807,7 +5723,6 @@ impl UpdateAlias { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateAliasError::unhandled(generic)), @@ -5859,7 +5774,6 @@ impl UpdateAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5939,7 +5853,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAlias { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateCustomKeyStore { _private: (), } @@ -5959,7 +5873,6 @@ impl UpdateCustomKeyStore { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateCustomKeyStoreError::unhandled(generic)), @@ -6008,7 +5921,6 @@ impl UpdateCustomKeyStore { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateCustomKeyStore { type Output = Result; @@ -6041,7 +5953,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateCustomKeyStore { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateKeyDescription { _private: (), } @@ -6061,7 +5973,6 @@ impl UpdateKeyDescription { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateKeyDescriptionError::unhandled(generic)), @@ -6117,7 +6028,6 @@ impl UpdateKeyDescription { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateKeyDescription { type Output = Result; @@ -6157,7 +6067,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateKeyDescription { ///

    /// Related operations: Sign ///

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Verify { _private: (), } @@ -6176,7 +6086,6 @@ impl Verify { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::VerifyError::unhandled(generic)), @@ -6258,7 +6167,6 @@ impl Verify { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Verify { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { diff --git a/sdk/kms/src/operation_ser.rs b/sdk/kms/src/operation_ser.rs index eb067d793368..68ac8011dbe4 100644 --- a/sdk/kms/src/operation_ser.rs +++ b/sdk/kms/src/operation_ser.rs @@ -1,507 +1,466 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_cancel_key_deletion_input_body( +pub fn serialize_operation_cancel_key_deletion( input: &crate::input::CancelKeyDeletionInput, ) -> Result { - let body = crate::serializer::CancelKeyDeletionInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_cancel_key_deletion_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_connect_custom_key_store_input_body( +pub fn serialize_operation_connect_custom_key_store( input: &crate::input::ConnectCustomKeyStoreInput, ) -> Result { - let body = crate::serializer::ConnectCustomKeyStoreInputBody { - custom_key_store_id: &input.custom_key_store_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_connect_custom_key_store_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_alias_input_body( +pub fn serialize_operation_create_alias( input: &crate::input::CreateAliasInput, ) -> Result { - let body = crate::serializer::CreateAliasInputBody { - alias_name: &input.alias_name, - target_key_id: &input.target_key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_alias_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_custom_key_store_input_body( +pub fn serialize_operation_create_custom_key_store( input: &crate::input::CreateCustomKeyStoreInput, ) -> Result { - let body = crate::serializer::CreateCustomKeyStoreInputBody { - custom_key_store_name: &input.custom_key_store_name, - cloud_hsm_cluster_id: &input.cloud_hsm_cluster_id, - trust_anchor_certificate: &input.trust_anchor_certificate, - key_store_password: &input.key_store_password, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_custom_key_store_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_grant_input_body( +pub fn serialize_operation_create_grant( input: &crate::input::CreateGrantInput, ) -> Result { - let body = crate::serializer::CreateGrantInputBody { - key_id: &input.key_id, - grantee_principal: &input.grantee_principal, - retiring_principal: &input.retiring_principal, - operations: &input.operations, - constraints: &input.constraints, - grant_tokens: &input.grant_tokens, - name: &input.name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_grant_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_key_input_body( +pub fn serialize_operation_create_key( input: &crate::input::CreateKeyInput, ) -> Result { - let body = crate::serializer::CreateKeyInputBody { - policy: &input.policy, - description: &input.description, - key_usage: &input.key_usage, - customer_master_key_spec: &input.customer_master_key_spec, - origin: &input.origin, - custom_key_store_id: &input.custom_key_store_id, - bypass_policy_lockout_safety_check: &input.bypass_policy_lockout_safety_check, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_decrypt_input_body( +pub fn serialize_operation_decrypt( input: &crate::input::DecryptInput, ) -> Result { - let body = crate::serializer::DecryptInputBody { - ciphertext_blob: &input.ciphertext_blob, - encryption_context: &input.encryption_context, - grant_tokens: &input.grant_tokens, - key_id: &input.key_id, - encryption_algorithm: &input.encryption_algorithm, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_decrypt_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_alias_input_body( +pub fn serialize_operation_delete_alias( input: &crate::input::DeleteAliasInput, ) -> Result { - let body = crate::serializer::DeleteAliasInputBody { - alias_name: &input.alias_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_alias_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_custom_key_store_input_body( +pub fn serialize_operation_delete_custom_key_store( input: &crate::input::DeleteCustomKeyStoreInput, ) -> Result { - let body = crate::serializer::DeleteCustomKeyStoreInputBody { - custom_key_store_id: &input.custom_key_store_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_custom_key_store_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_imported_key_material_input_body( +pub fn serialize_operation_delete_imported_key_material( input: &crate::input::DeleteImportedKeyMaterialInput, ) -> Result { - let body = crate::serializer::DeleteImportedKeyMaterialInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_imported_key_material_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_custom_key_stores_input_body( +pub fn serialize_operation_describe_custom_key_stores( input: &crate::input::DescribeCustomKeyStoresInput, ) -> Result { - let body = crate::serializer::DescribeCustomKeyStoresInputBody { - custom_key_store_id: &input.custom_key_store_id, - custom_key_store_name: &input.custom_key_store_name, - limit: &input.limit, - marker: &input.marker, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_custom_key_stores_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_key_input_body( +pub fn serialize_operation_describe_key( input: &crate::input::DescribeKeyInput, ) -> Result { - let body = crate::serializer::DescribeKeyInputBody { - key_id: &input.key_id, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_disable_key_input_body( +pub fn serialize_operation_disable_key( input: &crate::input::DisableKeyInput, ) -> Result { - let body = crate::serializer::DisableKeyInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_disable_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_disable_key_rotation_input_body( +pub fn serialize_operation_disable_key_rotation( input: &crate::input::DisableKeyRotationInput, ) -> Result { - let body = crate::serializer::DisableKeyRotationInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_disable_key_rotation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_disconnect_custom_key_store_input_body( +pub fn serialize_operation_disconnect_custom_key_store( input: &crate::input::DisconnectCustomKeyStoreInput, ) -> Result { - let body = crate::serializer::DisconnectCustomKeyStoreInputBody { - custom_key_store_id: &input.custom_key_store_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_disconnect_custom_key_store_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_enable_key_input_body( +pub fn serialize_operation_enable_key( input: &crate::input::EnableKeyInput, ) -> Result { - let body = crate::serializer::EnableKeyInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_enable_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_enable_key_rotation_input_body( +pub fn serialize_operation_enable_key_rotation( input: &crate::input::EnableKeyRotationInput, ) -> Result { - let body = crate::serializer::EnableKeyRotationInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_enable_key_rotation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_encrypt_input_body( +pub fn serialize_operation_encrypt( input: &crate::input::EncryptInput, ) -> Result { - let body = crate::serializer::EncryptInputBody { - key_id: &input.key_id, - plaintext: &input.plaintext, - encryption_context: &input.encryption_context, - grant_tokens: &input.grant_tokens, - encryption_algorithm: &input.encryption_algorithm, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_encrypt_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_generate_data_key_input_body( +pub fn serialize_operation_generate_data_key( input: &crate::input::GenerateDataKeyInput, ) -> Result { - let body = crate::serializer::GenerateDataKeyInputBody { - key_id: &input.key_id, - encryption_context: &input.encryption_context, - number_of_bytes: &input.number_of_bytes, - key_spec: &input.key_spec, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_generate_data_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_generate_data_key_pair_input_body( +pub fn serialize_operation_generate_data_key_pair( input: &crate::input::GenerateDataKeyPairInput, ) -> Result { - let body = crate::serializer::GenerateDataKeyPairInputBody { - encryption_context: &input.encryption_context, - key_id: &input.key_id, - key_pair_spec: &input.key_pair_spec, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_generate_data_key_pair_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_generate_data_key_pair_without_plaintext_input_body( +pub fn serialize_operation_generate_data_key_pair_without_plaintext( input: &crate::input::GenerateDataKeyPairWithoutPlaintextInput, ) -> Result { - let body = crate::serializer::GenerateDataKeyPairWithoutPlaintextInputBody { - encryption_context: &input.encryption_context, - key_id: &input.key_id, - key_pair_spec: &input.key_pair_spec, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_generate_data_key_pair_without_plaintext_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_generate_data_key_without_plaintext_input_body( +pub fn serialize_operation_generate_data_key_without_plaintext( input: &crate::input::GenerateDataKeyWithoutPlaintextInput, ) -> Result { - let body = crate::serializer::GenerateDataKeyWithoutPlaintextInputBody { - key_id: &input.key_id, - encryption_context: &input.encryption_context, - key_spec: &input.key_spec, - number_of_bytes: &input.number_of_bytes, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_generate_data_key_without_plaintext_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_generate_random_input_body( +pub fn serialize_operation_generate_random( input: &crate::input::GenerateRandomInput, ) -> Result { - let body = crate::serializer::GenerateRandomInputBody { - number_of_bytes: &input.number_of_bytes, - custom_key_store_id: &input.custom_key_store_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_generate_random_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_key_policy_input_body( +pub fn serialize_operation_get_key_policy( input: &crate::input::GetKeyPolicyInput, ) -> Result { - let body = crate::serializer::GetKeyPolicyInputBody { - key_id: &input.key_id, - policy_name: &input.policy_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_key_policy_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_key_rotation_status_input_body( +pub fn serialize_operation_get_key_rotation_status( input: &crate::input::GetKeyRotationStatusInput, ) -> Result { - let body = crate::serializer::GetKeyRotationStatusInputBody { - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_key_rotation_status_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_parameters_for_import_input_body( +pub fn serialize_operation_get_parameters_for_import( input: &crate::input::GetParametersForImportInput, ) -> Result { - let body = crate::serializer::GetParametersForImportInputBody { - key_id: &input.key_id, - wrapping_algorithm: &input.wrapping_algorithm, - wrapping_key_spec: &input.wrapping_key_spec, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_parameters_for_import_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_public_key_input_body( +pub fn serialize_operation_get_public_key( input: &crate::input::GetPublicKeyInput, ) -> Result { - let body = crate::serializer::GetPublicKeyInputBody { - key_id: &input.key_id, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_public_key_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_import_key_material_input_body( +pub fn serialize_operation_import_key_material( input: &crate::input::ImportKeyMaterialInput, ) -> Result { - let body = crate::serializer::ImportKeyMaterialInputBody { - key_id: &input.key_id, - import_token: &input.import_token, - encrypted_key_material: &input.encrypted_key_material, - valid_to: &input.valid_to, - expiration_model: &input.expiration_model, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_import_key_material_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_aliases_input_body( +pub fn serialize_operation_list_aliases( input: &crate::input::ListAliasesInput, ) -> Result { - let body = crate::serializer::ListAliasesInputBody { - key_id: &input.key_id, - limit: &input.limit, - marker: &input.marker, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_aliases_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_grants_input_body( +pub fn serialize_operation_list_grants( input: &crate::input::ListGrantsInput, ) -> Result { - let body = crate::serializer::ListGrantsInputBody { - limit: &input.limit, - marker: &input.marker, - key_id: &input.key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_grants_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_key_policies_input_body( +pub fn serialize_operation_list_key_policies( input: &crate::input::ListKeyPoliciesInput, ) -> Result { - let body = crate::serializer::ListKeyPoliciesInputBody { - key_id: &input.key_id, - limit: &input.limit, - marker: &input.marker, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_key_policies_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_keys_input_body( +pub fn serialize_operation_list_keys( input: &crate::input::ListKeysInput, ) -> Result { - let body = crate::serializer::ListKeysInputBody { - limit: &input.limit, - marker: &input.marker, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_keys_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_resource_tags_input_body( +pub fn serialize_operation_list_resource_tags( input: &crate::input::ListResourceTagsInput, ) -> Result { - let body = crate::serializer::ListResourceTagsInputBody { - key_id: &input.key_id, - limit: &input.limit, - marker: &input.marker, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_resource_tags_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_retirable_grants_input_body( +pub fn serialize_operation_list_retirable_grants( input: &crate::input::ListRetirableGrantsInput, ) -> Result { - let body = crate::serializer::ListRetirableGrantsInputBody { - limit: &input.limit, - marker: &input.marker, - retiring_principal: &input.retiring_principal, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_retirable_grants_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_key_policy_input_body( +pub fn serialize_operation_put_key_policy( input: &crate::input::PutKeyPolicyInput, ) -> Result { - let body = crate::serializer::PutKeyPolicyInputBody { - key_id: &input.key_id, - policy_name: &input.policy_name, - policy: &input.policy, - bypass_policy_lockout_safety_check: &input.bypass_policy_lockout_safety_check, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_key_policy_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_re_encrypt_input_body( +pub fn serialize_operation_re_encrypt( input: &crate::input::ReEncryptInput, ) -> Result { - let body = crate::serializer::ReEncryptInputBody { - ciphertext_blob: &input.ciphertext_blob, - source_encryption_context: &input.source_encryption_context, - source_key_id: &input.source_key_id, - destination_key_id: &input.destination_key_id, - destination_encryption_context: &input.destination_encryption_context, - source_encryption_algorithm: &input.source_encryption_algorithm, - destination_encryption_algorithm: &input.destination_encryption_algorithm, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_re_encrypt_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_retire_grant_input_body( +pub fn serialize_operation_retire_grant( input: &crate::input::RetireGrantInput, ) -> Result { - let body = crate::serializer::RetireGrantInputBody { - grant_token: &input.grant_token, - key_id: &input.key_id, - grant_id: &input.grant_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_retire_grant_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_revoke_grant_input_body( +pub fn serialize_operation_revoke_grant( input: &crate::input::RevokeGrantInput, ) -> Result { - let body = crate::serializer::RevokeGrantInputBody { - key_id: &input.key_id, - grant_id: &input.grant_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_revoke_grant_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_schedule_key_deletion_input_body( +pub fn serialize_operation_schedule_key_deletion( input: &crate::input::ScheduleKeyDeletionInput, ) -> Result { - let body = crate::serializer::ScheduleKeyDeletionInputBody { - key_id: &input.key_id, - pending_window_in_days: &input.pending_window_in_days, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_schedule_key_deletion_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_sign_input_body( +pub fn serialize_operation_sign( input: &crate::input::SignInput, ) -> Result { - let body = crate::serializer::SignInputBody { - key_id: &input.key_id, - message: &input.message, - message_type: &input.message_type, - grant_tokens: &input.grant_tokens, - signing_algorithm: &input.signing_algorithm, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_sign_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_tag_resource_input_body( +pub fn serialize_operation_tag_resource( input: &crate::input::TagResourceInput, ) -> Result { - let body = crate::serializer::TagResourceInputBody { - key_id: &input.key_id, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + 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)) } -pub fn serialize_operation_untag_resource_input_body( +pub fn serialize_operation_untag_resource( input: &crate::input::UntagResourceInput, ) -> Result { - let body = crate::serializer::UntagResourceInputBody { - key_id: &input.key_id, - tag_keys: &input.tag_keys, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_untag_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_alias_input_body( +pub fn serialize_operation_update_alias( input: &crate::input::UpdateAliasInput, ) -> Result { - let body = crate::serializer::UpdateAliasInputBody { - alias_name: &input.alias_name, - target_key_id: &input.target_key_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_alias_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_custom_key_store_input_body( +pub fn serialize_operation_update_custom_key_store( input: &crate::input::UpdateCustomKeyStoreInput, ) -> Result { - let body = crate::serializer::UpdateCustomKeyStoreInputBody { - custom_key_store_id: &input.custom_key_store_id, - new_custom_key_store_name: &input.new_custom_key_store_name, - key_store_password: &input.key_store_password, - cloud_hsm_cluster_id: &input.cloud_hsm_cluster_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_custom_key_store_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_key_description_input_body( +pub fn serialize_operation_update_key_description( input: &crate::input::UpdateKeyDescriptionInput, ) -> Result { - let body = crate::serializer::UpdateKeyDescriptionInputBody { - key_id: &input.key_id, - description: &input.description, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_key_description_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_verify_input_body( +pub fn serialize_operation_verify( input: &crate::input::VerifyInput, ) -> Result { - let body = crate::serializer::VerifyInputBody { - key_id: &input.key_id, - message: &input.message, - message_type: &input.message_type, - signature: &input.signature, - signing_algorithm: &input.signing_algorithm, - grant_tokens: &input.grant_tokens, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_verify_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/kms/src/serde_util.rs b/sdk/kms/src/serde_util.rs index 4e34e59c1e25..52f46e107033 100644 --- a/sdk/kms/src/serde_util.rs +++ b/sdk/kms/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> @@ -26,20 +12,6 @@ where ) } -pub fn stdoptionoptionsmithytypesblob_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::blob_serde::BlobSer(el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/kms/src/serializer.rs b/sdk/kms/src/serializer.rs index 62f75abf2f58..5121d297d9d9 100644 --- a/sdk/kms/src/serializer.rs +++ b/sdk/kms/src/serializer.rs @@ -1,6 +1,6 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CancelKeyDeletionInputBody<'a> { ///

    The unique identifier for the customer master key (CMK) for which to cancel /// deletion.

    @@ -17,8 +17,6 @@ pub struct CancelKeyDeletionInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for CancelKeyDeletionInputBody<'a> { @@ -30,12 +28,10 @@ impl<'a> std::fmt::Debug for CancelKeyDeletionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ConnectCustomKeyStoreInputBody<'a> { ///

    Enter the key store ID of the custom key store that you want to connect. /// To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for ConnectCustomKeyStoreInputBody<'a> { @@ -47,15 +43,13 @@ impl<'a> std::fmt::Debug for ConnectCustomKeyStoreInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAliasInputBody<'a> { ///

    Specifies the alias name. This value must begin with alias/ followed by a /// name, such as alias/ExampleAlias.

    ///

    The AliasName value must be string of 1-256 characters. It can contain only alphanumeric characters, /// forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved /// for AWS managed CMKs.

    - #[serde(rename = "AliasName")] - #[serde(skip_serializing_if = "Option::is_none")] pub alias_name: &'a std::option::Option, ///

    Associates the alias with the specified customer managed CMK. The CMK must be /// in the same AWS Region.

    @@ -76,8 +70,6 @@ pub struct CreateAliasInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "TargetKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateAliasInputBody<'a> { @@ -90,23 +82,17 @@ impl<'a> std::fmt::Debug for CreateAliasInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateCustomKeyStoreInputBody<'a> { ///

    Specifies a friendly name for the custom key store. The name must be unique in your AWS /// account.

    - #[serde(rename = "CustomKeyStoreName")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_name: &'a std::option::Option, ///

    Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active /// AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, /// use the DescribeClusters operation.

    - #[serde(rename = "CloudHsmClusterId")] - #[serde(skip_serializing_if = "Option::is_none")] pub cloud_hsm_cluster_id: &'a std::option::Option, ///

    Enter the content of the trust anchor certificate for the cluster. This is the content of /// the customerCA.crt file that you created when you initialized the cluster.

    - #[serde(rename = "TrustAnchorCertificate")] - #[serde(skip_serializing_if = "Option::is_none")] pub trust_anchor_certificate: &'a std::option::Option, ///

    Enter the password of the /// kmsuser crypto user @@ -115,8 +101,6 @@ pub struct CreateCustomKeyStoreInputBody<'a> { ///

    The password must be a string of 7 to 32 characters. Its value is case sensitive.

    ///

    This parameter tells AWS KMS the kmsuser account password; it does not change /// the password in the AWS CloudHSM cluster.

    - #[serde(rename = "KeyStorePassword")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_store_password: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateCustomKeyStoreInputBody<'a> { @@ -131,7 +115,7 @@ impl<'a> std::fmt::Debug for CreateCustomKeyStoreInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateGrantInputBody<'a> { ///

    The unique identifier for the customer master key (CMK) that the grant applies to.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a @@ -148,8 +132,6 @@ pub struct CreateGrantInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    The principal that is given permission to perform the operations that the grant /// permits.

    @@ -159,8 +141,6 @@ pub struct CreateGrantInputBody<'a> { /// principal, see AWS Identity and Access /// Management (IAM) in the Example ARNs section of the AWS General /// Reference.

    - #[serde(rename = "GranteePrincipal")] - #[serde(skip_serializing_if = "Option::is_none")] pub grantee_principal: &'a std::option::Option, ///

    The principal that is given permission to retire the grant by using RetireGrant operation.

    ///

    To specify the principal, use the Amazon Resource Name (ARN) of an AWS @@ -168,12 +148,8 @@ pub struct CreateGrantInputBody<'a> { /// assumed role users. For examples of the ARN syntax to use for specifying a principal, see /// AWS Identity and Access Management (IAM) in the Example ARNs section of the /// AWS General Reference.

    - #[serde(rename = "RetiringPrincipal")] - #[serde(skip_serializing_if = "Option::is_none")] pub retiring_principal: &'a std::option::Option, ///

    A list of operations that the grant permits.

    - #[serde(rename = "Operations")] - #[serde(skip_serializing_if = "Option::is_none")] pub operations: &'a std::option::Option>, ///

    Allows a cryptographic operation only when the encryption context matches or includes the encryption /// context specified in this structure. For more information about encryption context, see Encryption @@ -183,14 +159,10 @@ pub struct CreateGrantInputBody<'a> { ///

    Grant constraints are not applied to operations that do not support an encryption context, /// such as cryptographic operations with asymmetric CMKs and management operations, such as /// DescribeKey or RetireGrant.

    - #[serde(rename = "Constraints")] - #[serde(skip_serializing_if = "Option::is_none")] pub constraints: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, ///

    A friendly name for the grant. Use this value to prevent the unintended /// creation of duplicate grants when retrying this request.

    @@ -202,8 +174,6 @@ pub struct CreateGrantInputBody<'a> { /// returned without creating a new grant. Note that the returned grant token is unique with every /// CreateGrant request, even when a duplicate GrantId is returned. /// All grant tokens for the same grant ID can be used interchangeably.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateGrantInputBody<'a> { @@ -221,7 +191,7 @@ impl<'a> std::fmt::Debug for CreateGrantInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateKeyInputBody<'a> { ///

    The key policy to attach to the CMK.

    ///

    If you provide a key policy, it must meet the following criteria:

    @@ -250,13 +220,9 @@ pub struct CreateKeyInputBody<'a> { ///

    For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the /// IAM User Guide /// .

    - #[serde(rename = "Policy")] - #[serde(skip_serializing_if = "Option::is_none")] pub policy: &'a std::option::Option, ///

    A description of the CMK.

    ///

    Use a description that helps you decide whether the CMK is appropriate for a task.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Determines the cryptographic operations for which you can use the CMK. The default value /// is ENCRYPT_DECRYPT. This parameter is required only for asymmetric CMKs. You @@ -274,8 +240,6 @@ pub struct CreateKeyInputBody<'a> { ///

    For asymmetric CMKs with ECC key material, specify SIGN_VERIFY.

    /// /// - #[serde(rename = "KeyUsage")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_usage: &'a std::option::Option, ///

    Specifies the type of CMK to create. The default value, SYMMETRIC_DEFAULT, /// creates a CMK with a 256-bit symmetric key for encryption and decryption. For help choosing a @@ -356,8 +320,6 @@ pub struct CreateKeyInputBody<'a> { /// /// /// - #[serde(rename = "CustomerMasterKeySpec")] - #[serde(skip_serializing_if = "Option::is_none")] pub customer_master_key_spec: &'a std::option::Option, ///

    The source of the key material for the CMK. You cannot change the origin after you create /// the CMK. The default is AWS_KMS, which means AWS KMS creates the key @@ -370,8 +332,6 @@ pub struct CreateKeyInputBody<'a> { /// custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also /// use the CustomKeyStoreId parameter to identify the custom key store. This value /// is valid only for symmetric CMKs.

    - #[serde(rename = "Origin")] - #[serde(skip_serializing_if = "Option::is_none")] pub origin: &'a std::option::Option, ///

    Creates the CMK in the specified custom key store and the key material in its associated /// AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the @@ -385,8 +345,6 @@ pub struct CreateKeyInputBody<'a> { ///

    This operation is part of the Custom Key Store feature feature in AWS KMS, which /// combines the convenience and extensive integration of AWS KMS with the isolation and control of a /// single-tenant key store.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, ///

    A flag to indicate whether to bypass the key policy lockout safety check.

    /// @@ -399,7 +357,6 @@ pub struct CreateKeyInputBody<'a> { ///

    Use this parameter only when you include a policy in the request and you intend to prevent /// the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

    ///

    The default value is false.

    - #[serde(rename = "BypassPolicyLockoutSafetyCheck")] pub bypass_policy_lockout_safety_check: &'a bool, ///

    One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the /// tag value are required, but the tag value can be an empty (null) string.

    @@ -409,8 +366,6 @@ pub struct CreateKeyInputBody<'a> { ///

    Use this parameter to tag the CMK when it is created. To add tags to an /// existing CMK, use the TagResource operation.

    ///

    To use this parameter, you must have kms:TagResource permission in an IAM policy.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateKeyInputBody<'a> { @@ -432,12 +387,9 @@ impl<'a> std::fmt::Debug for CreateKeyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DecryptInputBody<'a> { ///

    Ciphertext to be decrypted. The blob includes metadata.

    - #[serde(rename = "CiphertextBlob")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub ciphertext_blob: &'a std::option::Option, ///

    Specifies the encryption context to use when decrypting the data. /// An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

    @@ -445,16 +397,12 @@ pub struct DecryptInputBody<'a> { ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "EncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_context: &'a std::option::Option< std::collections::HashMap, >, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, ///

    Specifies the customer master key (CMK) that AWS KMS uses to decrypt the ciphertext. Enter a /// key ID of the CMK that was used to encrypt the ciphertext.

    @@ -483,8 +431,6 @@ pub struct DecryptInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify /// the same algorithm that was used to encrypt the data. If you specify a different algorithm, @@ -492,8 +438,6 @@ pub struct DecryptInputBody<'a> { ///

    This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. /// The default value, SYMMETRIC_DEFAULT, represents the only supported algorithm /// that is valid for symmetric CMKs.

    - #[serde(rename = "EncryptionAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_algorithm: &'a std::option::Option, } impl<'a> std::fmt::Debug for DecryptInputBody<'a> { @@ -509,12 +453,10 @@ impl<'a> std::fmt::Debug for DecryptInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteAliasInputBody<'a> { ///

    The alias to be deleted. The alias name must begin with alias/ followed by /// the alias name, such as alias/ExampleAlias.

    - #[serde(rename = "AliasName")] - #[serde(skip_serializing_if = "Option::is_none")] pub alias_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteAliasInputBody<'a> { @@ -526,11 +468,9 @@ impl<'a> std::fmt::Debug for DeleteAliasInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteCustomKeyStoreInputBody<'a> { ///

    Enter the ID of the custom key store you want to delete. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteCustomKeyStoreInputBody<'a> { @@ -542,7 +482,7 @@ impl<'a> std::fmt::Debug for DeleteCustomKeyStoreInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteImportedKeyMaterialInputBody<'a> { ///

    Identifies the CMK from which you are deleting imported key material. The /// Origin of the CMK must be EXTERNAL.

    @@ -559,8 +499,6 @@ pub struct DeleteImportedKeyMaterialInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteImportedKeyMaterialInputBody<'a> { @@ -572,15 +510,13 @@ impl<'a> std::fmt::Debug for DeleteImportedKeyMaterialInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeCustomKeyStoresInputBody<'a> { ///

    Gets only information about the specified custom key store. Enter the key store ID.

    ///

    By default, this operation gets information about all custom key stores in the account and /// region. To limit the output to a particular custom key store, you can use either the /// CustomKeyStoreId or CustomKeyStoreName parameter, but not /// both.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, ///

    Gets only information about the specified custom key store. Enter the friendly name of the /// custom key store.

    @@ -588,20 +524,14 @@ pub struct DescribeCustomKeyStoresInputBody<'a> { /// region. To limit the output to a particular custom key store, you can use either the /// CustomKeyStoreId or CustomKeyStoreName parameter, but not /// both.

    - #[serde(rename = "CustomKeyStoreName")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_name: &'a std::option::Option, ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeCustomKeyStoresInputBody<'a> { @@ -616,7 +546,7 @@ impl<'a> std::fmt::Debug for DescribeCustomKeyStoresInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeKeyInputBody<'a> { ///

    Describes the specified customer master key (CMK).

    ///

    If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the @@ -644,14 +574,10 @@ pub struct DescribeKeyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for DescribeKeyInputBody<'a> { @@ -664,7 +590,7 @@ impl<'a> std::fmt::Debug for DescribeKeyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisableKeyInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -680,8 +606,6 @@ pub struct DisableKeyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DisableKeyInputBody<'a> { @@ -693,7 +617,7 @@ impl<'a> std::fmt::Debug for DisableKeyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisableKeyRotationInputBody<'a> { ///

    Identifies a symmetric customer master key (CMK). You cannot enable or disable automatic /// rotation of asymmetric CMKs, CMKs @@ -712,8 +636,6 @@ pub struct DisableKeyRotationInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DisableKeyRotationInputBody<'a> { @@ -725,11 +647,9 @@ impl<'a> std::fmt::Debug for DisableKeyRotationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisconnectCustomKeyStoreInputBody<'a> { ///

    Enter the ID of the custom key store you want to disconnect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DisconnectCustomKeyStoreInputBody<'a> { @@ -741,7 +661,7 @@ impl<'a> std::fmt::Debug for DisconnectCustomKeyStoreInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnableKeyInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -757,8 +677,6 @@ pub struct EnableKeyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for EnableKeyInputBody<'a> { @@ -770,7 +688,7 @@ impl<'a> std::fmt::Debug for EnableKeyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnableKeyRotationInputBody<'a> { ///

    Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -786,8 +704,6 @@ pub struct EnableKeyRotationInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for EnableKeyRotationInputBody<'a> { @@ -799,7 +715,7 @@ impl<'a> std::fmt::Debug for EnableKeyRotationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EncryptInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

    @@ -823,13 +739,8 @@ pub struct EncryptInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Data to be encrypted.

    - #[serde(rename = "Plaintext")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub plaintext: &'a std::option::Option, ///

    Specifies the encryption context that will be used to encrypt the data. /// An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

    @@ -837,24 +748,18 @@ pub struct EncryptInputBody<'a> { ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "EncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_context: &'a std::option::Option< std::collections::HashMap, >, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, ///

    Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. /// The algorithm must be compatible with the CMK that you specify.

    ///

    This parameter is required only for asymmetric CMKs. The default value, /// SYMMETRIC_DEFAULT, is the algorithm used for symmetric CMKs. If you are using /// an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.

    - #[serde(rename = "EncryptionAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_algorithm: &'a std::option::Option, } impl<'a> std::fmt::Debug for EncryptInputBody<'a> { @@ -870,7 +775,7 @@ impl<'a> std::fmt::Debug for EncryptInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GenerateDataKeyInputBody<'a> { ///

    Identifies the symmetric CMK that encrypts the data key.

    ///

    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

    @@ -894,16 +799,12 @@ pub struct GenerateDataKeyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Specifies the encryption context that will be used when encrypting the data key.

    ///

    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

    ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "EncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_context: &'a std::option::Option< std::collections::HashMap, >, @@ -912,21 +813,15 @@ pub struct GenerateDataKeyInputBody<'a> { /// keys, use the KeySpec parameter.

    ///

    You must specify either the KeySpec or the NumberOfBytes /// parameter (but not both) in every GenerateDataKey request.

    - #[serde(rename = "NumberOfBytes")] - #[serde(skip_serializing_if = "Option::is_none")] pub number_of_bytes: &'a std::option::Option, ///

    Specifies the length of the data key. Use AES_128 to generate a 128-bit /// symmetric key, or AES_256 to generate a 256-bit symmetric key.

    ///

    You must specify either the KeySpec or the NumberOfBytes /// parameter (but not both) in every GenerateDataKey request.

    - #[serde(rename = "KeySpec")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_spec: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for GenerateDataKeyInputBody<'a> { @@ -942,7 +837,7 @@ impl<'a> std::fmt::Debug for GenerateDataKeyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GenerateDataKeyPairInputBody<'a> { ///

    Specifies the encryption context that will be used when encrypting the private key in the /// data key pair.

    @@ -950,8 +845,6 @@ pub struct GenerateDataKeyPairInputBody<'a> { ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "EncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_context: &'a std::option::Option< std::collections::HashMap, >, @@ -979,19 +872,13 @@ pub struct GenerateDataKeyPairInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Determines the type of data key pair that is generated.

    ///

    The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

    - #[serde(rename = "KeyPairSpec")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_pair_spec: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for GenerateDataKeyPairInputBody<'a> { @@ -1006,7 +893,7 @@ impl<'a> std::fmt::Debug for GenerateDataKeyPairInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GenerateDataKeyPairWithoutPlaintextInputBody<'a> { ///

    Specifies the encryption context that will be used when encrypting the private key in the /// data key pair.

    @@ -1014,8 +901,6 @@ pub struct GenerateDataKeyPairWithoutPlaintextInputBody<'a> { ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "EncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_context: &'a std::option::Option< std::collections::HashMap, >, @@ -1043,19 +928,13 @@ pub struct GenerateDataKeyPairWithoutPlaintextInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Determines the type of data key pair that is generated.

    ///

    The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

    - #[serde(rename = "KeyPairSpec")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_pair_spec: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for GenerateDataKeyPairWithoutPlaintextInputBody<'a> { @@ -1070,7 +949,7 @@ impl<'a> std::fmt::Debug for GenerateDataKeyPairWithoutPlaintextInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GenerateDataKeyWithoutPlaintextInputBody<'a> { ///

    The identifier of the symmetric customer master key (CMK) that encrypts the data /// key.

    @@ -1095,35 +974,25 @@ pub struct GenerateDataKeyWithoutPlaintextInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Specifies the encryption context that will be used when encrypting the data key.

    ///

    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

    ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "EncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub encryption_context: &'a std::option::Option< std::collections::HashMap, >, ///

    The length of the data key. Use AES_128 to generate a 128-bit symmetric key, /// or AES_256 to generate a 256-bit symmetric key.

    - #[serde(rename = "KeySpec")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_spec: &'a std::option::Option, ///

    The length of the data key in bytes. For example, use the value 64 to generate a 512-bit /// data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), /// we recommend that you use the KeySpec field instead of this one.

    - #[serde(rename = "NumberOfBytes")] - #[serde(skip_serializing_if = "Option::is_none")] pub number_of_bytes: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for GenerateDataKeyWithoutPlaintextInputBody<'a> { @@ -1139,16 +1008,12 @@ impl<'a> std::fmt::Debug for GenerateDataKeyWithoutPlaintextInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GenerateRandomInputBody<'a> { ///

    The length of the byte string.

    - #[serde(rename = "NumberOfBytes")] - #[serde(skip_serializing_if = "Option::is_none")] pub number_of_bytes: &'a std::option::Option, ///

    Generates the random byte string in the AWS CloudHSM cluster that is associated with the /// specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GenerateRandomInputBody<'a> { @@ -1161,7 +1026,7 @@ impl<'a> std::fmt::Debug for GenerateRandomInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetKeyPolicyInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -1177,13 +1042,9 @@ pub struct GetKeyPolicyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Specifies the name of the key policy. The only valid name is default. To get /// the names of key policies, use ListKeyPolicies.

    - #[serde(rename = "PolicyName")] - #[serde(skip_serializing_if = "Option::is_none")] pub policy_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetKeyPolicyInputBody<'a> { @@ -1196,7 +1057,7 @@ impl<'a> std::fmt::Debug for GetKeyPolicyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetKeyRotationStatusInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a @@ -1213,8 +1074,6 @@ pub struct GetKeyRotationStatusInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetKeyRotationStatusInputBody<'a> { @@ -1226,7 +1085,7 @@ impl<'a> std::fmt::Debug for GetKeyRotationStatusInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParametersForImportInputBody<'a> { ///

    The identifier of the symmetric CMK into which you will import key material. The /// Origin of the CMK must be EXTERNAL.

    @@ -1243,18 +1102,12 @@ pub struct GetParametersForImportInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material /// in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "WrappingAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub wrapping_algorithm: &'a std::option::Option, ///

    The type of wrapping key (public key) to return in the response. Only 2048-bit RSA public /// keys are supported.

    - #[serde(rename = "WrappingKeySpec")] - #[serde(skip_serializing_if = "Option::is_none")] pub wrapping_key_spec: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetParametersForImportInputBody<'a> { @@ -1268,7 +1121,7 @@ impl<'a> std::fmt::Debug for GetParametersForImportInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetPublicKeyInputBody<'a> { ///

    Identifies the asymmetric CMK that includes the public key.

    ///

    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

    @@ -1292,14 +1145,10 @@ pub struct GetPublicKeyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for GetPublicKeyInputBody<'a> { @@ -1312,7 +1161,7 @@ impl<'a> std::fmt::Debug for GetPublicKeyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ImportKeyMaterialInputBody<'a> { ///

    The identifier of the symmetric CMK that receives the imported key material. The CMK's /// Origin must be EXTERNAL. This must be the same CMK specified in @@ -1331,38 +1180,23 @@ pub struct ImportKeyMaterialInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained /// the public key that you used to encrypt the key material.

    - #[serde(rename = "ImportToken")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub import_token: &'a std::option::Option, ///

    The encrypted key material to import. The key material must be encrypted with the public /// wrapping key that GetParametersForImport returned, using the wrapping /// algorithm that you specified in the same GetParametersForImport request.

    - #[serde(rename = "EncryptedKeyMaterial")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub encrypted_key_material: &'a std::option::Option, ///

    The time at which the imported key material expires. When the key material expires, AWS KMS /// deletes the key material and the CMK becomes unusable. You must omit this parameter when the /// ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE. /// Otherwise it is required.

    - #[serde(rename = "ValidTo")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub valid_to: &'a std::option::Option, ///

    Specifies whether the key material expires. The default is /// KEY_MATERIAL_EXPIRES, in which case you must include the ValidTo /// parameter. When this parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE, you must /// omit the ValidTo parameter.

    - #[serde(rename = "ExpirationModel")] - #[serde(skip_serializing_if = "Option::is_none")] pub expiration_model: &'a std::option::Option, } impl<'a> std::fmt::Debug for ImportKeyMaterialInputBody<'a> { @@ -1378,7 +1212,7 @@ impl<'a> std::fmt::Debug for ImportKeyMaterialInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListAliasesInputBody<'a> { ///

    Lists only aliases that are associated with the specified CMK. Enter a CMK in your AWS /// account.

    @@ -1397,22 +1231,16 @@ pub struct ListAliasesInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

    ///

    This value is optional. If you include a value, it must be between 1 /// and 100, inclusive. If you do not include a value, it defaults to 50.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListAliasesInputBody<'a> { @@ -1426,21 +1254,17 @@ impl<'a> std::fmt::Debug for ListAliasesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListGrantsInputBody<'a> { ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

    ///

    This value is optional. If you include a value, it must be between 1 /// and 100, inclusive. If you do not include a value, it defaults to 50.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a @@ -1457,8 +1281,6 @@ pub struct ListGrantsInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListGrantsInputBody<'a> { @@ -1472,7 +1294,7 @@ impl<'a> std::fmt::Debug for ListGrantsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListKeyPoliciesInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -1488,8 +1310,6 @@ pub struct ListKeyPoliciesInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might @@ -1497,14 +1317,10 @@ pub struct ListKeyPoliciesInputBody<'a> { ///

    This value is optional. If you include a value, it must be between /// 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

    ///

    Only one policy can be attached to a key.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListKeyPoliciesInputBody<'a> { @@ -1518,21 +1334,17 @@ impl<'a> std::fmt::Debug for ListKeyPoliciesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListKeysInputBody<'a> { ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

    ///

    This value is optional. If you include a value, it must be between /// 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListKeysInputBody<'a> { @@ -1545,7 +1357,7 @@ impl<'a> std::fmt::Debug for ListKeysInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListResourceTagsInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -1561,24 +1373,18 @@ pub struct ListResourceTagsInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

    ///

    This value is optional. If you include a value, it must be between 1 and 50, inclusive. If /// you do not include a value, it defaults to 50.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    ///

    Do not attempt to construct this value. Use only the value of NextMarker from /// the truncated response you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListResourceTagsInputBody<'a> { @@ -1592,21 +1398,17 @@ impl<'a> std::fmt::Debug for ListResourceTagsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListRetirableGrantsInputBody<'a> { ///

    Use this parameter to specify the maximum number of items to return. When this /// value is present, AWS KMS does not return more than the specified number of items, but it might /// return fewer.

    ///

    This value is optional. If you include a value, it must be between 1 /// and 100, inclusive. If you do not include a value, it defaults to 50.

    - #[serde(rename = "Limit")] - #[serde(skip_serializing_if = "Option::is_none")] pub limit: &'a std::option::Option, ///

    Use this parameter in a subsequent request after you receive a response with /// truncated results. Set it to the value of NextMarker from the truncated response /// you just received.

    - #[serde(rename = "Marker")] - #[serde(skip_serializing_if = "Option::is_none")] pub marker: &'a std::option::Option, ///

    The retiring principal for which to list grants. Enter a principal in your AWS /// account.

    @@ -1615,8 +1417,6 @@ pub struct ListRetirableGrantsInputBody<'a> { /// assumed role users. For examples of the ARN syntax for specifying a principal, see AWS /// Identity and Access Management (IAM) in the Example ARNs section of the /// Amazon Web Services General Reference.

    - #[serde(rename = "RetiringPrincipal")] - #[serde(skip_serializing_if = "Option::is_none")] pub retiring_principal: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListRetirableGrantsInputBody<'a> { @@ -1630,7 +1430,7 @@ impl<'a> std::fmt::Debug for ListRetirableGrantsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutKeyPolicyInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -1646,12 +1446,8 @@ pub struct PutKeyPolicyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    The name of the key policy. The only valid value is default.

    - #[serde(rename = "PolicyName")] - #[serde(skip_serializing_if = "Option::is_none")] pub policy_name: &'a std::option::Option, ///

    The key policy to attach to the CMK.

    ///

    The key policy must meet the following criteria:

    @@ -1672,8 +1468,6 @@ pub struct PutKeyPolicyInputBody<'a> { /// /// ///

    The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "Policy")] - #[serde(skip_serializing_if = "Option::is_none")] pub policy: &'a std::option::Option, ///

    A flag to indicate whether to bypass the key policy lockout safety check.

    /// @@ -1684,7 +1478,6 @@ pub struct PutKeyPolicyInputBody<'a> { ///

    Use this parameter only when you intend to prevent the principal that is making the /// request from making a subsequent PutKeyPolicy request on the CMK.

    ///

    The default value is false.

    - #[serde(rename = "BypassPolicyLockoutSafetyCheck")] pub bypass_policy_lockout_safety_check: &'a bool, } impl<'a> std::fmt::Debug for PutKeyPolicyInputBody<'a> { @@ -1702,12 +1495,9 @@ impl<'a> std::fmt::Debug for PutKeyPolicyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReEncryptInputBody<'a> { ///

    Ciphertext of the data to reencrypt.

    - #[serde(rename = "CiphertextBlob")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub ciphertext_blob: &'a std::option::Option, ///

    Specifies the encryption context to use to decrypt the ciphertext. Enter the same /// encryption context that was used to encrypt the ciphertext.

    @@ -1715,8 +1505,6 @@ pub struct ReEncryptInputBody<'a> { ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "SourceEncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_encryption_context: &'a std::option::Option< std::collections::HashMap, >, @@ -1748,8 +1536,6 @@ pub struct ReEncryptInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "SourceKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_key_id: &'a std::option::Option, ///

    A unique identifier for the CMK that is used to reencrypt the data. Specify a symmetric or /// asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To find the @@ -1776,8 +1562,6 @@ pub struct ReEncryptInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "DestinationKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_key_id: &'a std::option::Option, ///

    Specifies that encryption context to use when the reencrypting the data.

    ///

    A destination encryption context is valid only when the destination CMK is a symmetric @@ -1787,8 +1571,6 @@ pub struct ReEncryptInputBody<'a> { ///

    For more information, see /// Encryption /// Context in the AWS Key Management Service Developer Guide.

    - #[serde(rename = "DestinationEncryptionContext")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_encryption_context: &'a std::option::Option< std::collections::HashMap, >, @@ -1799,22 +1581,16 @@ pub struct ReEncryptInputBody<'a> { /// different algorithm, the decrypt attempt fails.

    ///

    This parameter is required only when the ciphertext was encrypted under an asymmetric /// CMK.

    - #[serde(rename = "SourceEncryptionAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_encryption_algorithm: &'a std::option::Option, ///

    Specifies the encryption algorithm that AWS KMS will use to reecrypt the data after it has /// decrypted it. The default value, SYMMETRIC_DEFAULT, represents the encryption /// algorithm used for symmetric CMKs.

    ///

    This parameter is required only when the destination CMK is an asymmetric CMK.

    - #[serde(rename = "DestinationEncryptionAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_encryption_algorithm: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for ReEncryptInputBody<'a> { @@ -1842,17 +1618,13 @@ impl<'a> std::fmt::Debug for ReEncryptInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RetireGrantInputBody<'a> { ///

    Token that identifies the grant to be retired.

    - #[serde(rename = "GrantToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_token: &'a std::option::Option, ///

    The Amazon Resource Name (ARN) of the CMK associated with the grant.

    ///

    For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab ///

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Unique identifier of the grant to retire. The grant ID is returned in the response to a /// CreateGrant operation.

    @@ -1862,8 +1634,6 @@ pub struct RetireGrantInputBody<'a> { /// 0123456789012345678901234567890123456789012345678901234567890123

    /// /// - #[serde(rename = "GrantId")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for RetireGrantInputBody<'a> { @@ -1877,7 +1647,7 @@ impl<'a> std::fmt::Debug for RetireGrantInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RevokeGrantInputBody<'a> { ///

    A unique identifier for the customer master key associated with the grant.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a @@ -1894,12 +1664,8 @@ pub struct RevokeGrantInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Identifier of the grant to be revoked.

    - #[serde(rename = "GrantId")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for RevokeGrantInputBody<'a> { @@ -1912,7 +1678,7 @@ impl<'a> std::fmt::Debug for RevokeGrantInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ScheduleKeyDeletionInputBody<'a> { ///

    The unique identifier of the customer master key (CMK) to delete.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -1928,15 +1694,11 @@ pub struct ScheduleKeyDeletionInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    The waiting period, specified in number of days. After the waiting period ends, AWS KMS /// deletes the customer master key (CMK).

    ///

    This value is optional. If you include a value, it must be between 7 and 30, inclusive. If /// you do not include a value, it defaults to 30.

    - #[serde(rename = "PendingWindowInDays")] - #[serde(skip_serializing_if = "Option::is_none")] pub pending_window_in_days: &'a std::option::Option, } impl<'a> std::fmt::Debug for ScheduleKeyDeletionInputBody<'a> { @@ -1949,7 +1711,7 @@ impl<'a> std::fmt::Debug for ScheduleKeyDeletionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SignInputBody<'a> { ///

    Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the /// message. The KeyUsage type of the CMK must be SIGN_VERIFY. To find @@ -1975,34 +1737,23 @@ pub struct SignInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a /// larger message, provide the message digest.

    ///

    If you provide a message, AWS KMS generates a hash digest of the message and then signs /// it.

    - #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub message: &'a std::option::Option, ///

    Tells AWS KMS whether the value of the Message parameter is a message or /// message digest. The default value, RAW, indicates a message. To indicate a message digest, /// enter DIGEST.

    - #[serde(rename = "MessageType")] - #[serde(skip_serializing_if = "Option::is_none")] pub message_type: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, ///

    Specifies the signing algorithm to use when signing the message.

    ///

    Choose an algorithm that is compatible with the type and size of the specified asymmetric /// CMK.

    - #[serde(rename = "SigningAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub signing_algorithm: &'a std::option::Option, } impl<'a> std::fmt::Debug for SignInputBody<'a> { @@ -2018,7 +1769,7 @@ impl<'a> std::fmt::Debug for SignInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInputBody<'a> { ///

    Identifies a customer managed CMK in the account and Region.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -2034,8 +1785,6 @@ pub struct TagResourceInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    One or more tags.

    ///

    Each tag consists of a tag key and a tag value. The tag value can be an empty (null) @@ -2043,8 +1792,6 @@ pub struct TagResourceInputBody<'a> { ///

    You cannot have more than one tag on a CMK with the same tag key. If you specify an /// existing tag key with a different tag value, AWS KMS replaces the current tag value with the /// specified one.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { @@ -2057,7 +1804,7 @@ impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UntagResourceInputBody<'a> { ///

    Identifies the CMK from which you are removing tags.

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -2073,12 +1820,8 @@ pub struct UntagResourceInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    One or more tag keys. Specify only the tag keys, not the tag values.

    - #[serde(rename = "TagKeys")] - #[serde(skip_serializing_if = "Option::is_none")] pub tag_keys: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { @@ -2091,13 +1834,11 @@ impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAliasInputBody<'a> { ///

    Identifies the alias that is changing its CMK. This value must begin with /// alias/ followed by the alias name, such as alias/ExampleAlias. You /// cannot use UpdateAlias to change the alias name.

    - #[serde(rename = "AliasName")] - #[serde(skip_serializing_if = "Option::is_none")] pub alias_name: &'a std::option::Option, ///

    Identifies the customer managed CMK to associate with the alias. You don't have permission /// to associate an alias with an AWS managed CMK.

    @@ -2119,8 +1860,6 @@ pub struct UpdateAliasInputBody<'a> { ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    ///

    To verify that the alias /// is mapped to the correct CMK, use ListAliases.

    - #[serde(rename = "TargetKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_key_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateAliasInputBody<'a> { @@ -2133,24 +1872,18 @@ impl<'a> std::fmt::Debug for UpdateAliasInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateCustomKeyStoreInputBody<'a> { ///

    Identifies the custom key store that you want to update. Enter the ID of the custom key /// store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

    - #[serde(rename = "CustomKeyStoreId")] - #[serde(skip_serializing_if = "Option::is_none")] pub custom_key_store_id: &'a std::option::Option, ///

    Changes the friendly name of the custom key store to the value that you specify. The /// custom key store name must be unique in the AWS account.

    - #[serde(rename = "NewCustomKeyStoreName")] - #[serde(skip_serializing_if = "Option::is_none")] pub new_custom_key_store_name: &'a std::option::Option, ///

    Enter the current password of the kmsuser crypto user (CU) in the AWS CloudHSM /// cluster that is associated with the custom key store.

    ///

    This parameter tells AWS KMS the current password of the kmsuser crypto user /// (CU). It does not set or change the password of any users in the AWS CloudHSM cluster.

    - #[serde(rename = "KeyStorePassword")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_store_password: &'a std::option::Option, ///

    Associates the custom key store with a related AWS CloudHSM cluster.

    ///

    Enter the cluster ID of the cluster that you used to create the custom key store or a @@ -2159,8 +1892,6 @@ pub struct UpdateCustomKeyStoreInputBody<'a> { /// cluster. In addition, the replacement cluster must fulfill the requirements for /// a cluster associated with a custom key store. To view the cluster certificate of a cluster, /// use the DescribeClusters operation.

    - #[serde(rename = "CloudHsmClusterId")] - #[serde(skip_serializing_if = "Option::is_none")] pub cloud_hsm_cluster_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateCustomKeyStoreInputBody<'a> { @@ -2175,7 +1906,7 @@ impl<'a> std::fmt::Debug for UpdateCustomKeyStoreInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateKeyDescriptionInputBody<'a> { ///

    A unique identifier for the customer master key (CMK).

    ///

    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

    @@ -2191,12 +1922,8 @@ pub struct UpdateKeyDescriptionInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    New description for the CMK.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateKeyDescriptionInputBody<'a> { @@ -2209,7 +1936,7 @@ impl<'a> std::fmt::Debug for UpdateKeyDescriptionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct VerifyInputBody<'a> { ///

    Identifies the asymmetric CMK that will be used to verify the signature. This must be the /// same CMK that was used to generate the signature. If you specify a different CMK, the @@ -2235,8 +1962,6 @@ pub struct VerifyInputBody<'a> { /// /// ///

    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

    - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Specifies the message that was signed. You can submit a raw message of up to 4096 bytes, /// or a hash digest of the message. If you submit a digest, use the MessageType @@ -2244,9 +1969,6 @@ pub struct VerifyInputBody<'a> { ///

    If the message specified here is different from the message that was signed, the signature /// verification fails. A message and its hash digest are considered to be the same /// message.

    - #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub message: &'a std::option::Option, ///

    Tells AWS KMS whether the value of the Message parameter is a message or /// message digest. The default value, RAW, indicates a message. To indicate a message digest, @@ -2256,24 +1978,15 @@ pub struct VerifyInputBody<'a> { /// parameter is a message digest. If you use the DIGEST value with a raw message, /// the security of the verification operation can be compromised.

    ///
    - #[serde(rename = "MessageType")] - #[serde(skip_serializing_if = "Option::is_none")] pub message_type: &'a std::option::Option, ///

    The signature that the Sign operation generated.

    - #[serde(rename = "Signature")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub signature: &'a std::option::Option, ///

    The signing algorithm that was used to sign the message. If you submit a different /// algorithm, the signature verification fails.

    - #[serde(rename = "SigningAlgorithm")] - #[serde(skip_serializing_if = "Option::is_none")] pub signing_algorithm: &'a std::option::Option, ///

    A list of grant tokens.

    ///

    For more information, see Grant Tokens in the /// AWS Key Management Service Developer Guide.

    - #[serde(rename = "GrantTokens")] - #[serde(skip_serializing_if = "Option::is_none")] pub grant_tokens: &'a std::option::Option>, } impl<'a> std::fmt::Debug for VerifyInputBody<'a> { diff --git a/sdk/lambda/Cargo.toml b/sdk/lambda/Cargo.toml index 5878001df748..b72ce3d99588 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.5-alpha" +version = "0.0.6-alpha" description = "AWS Lambda\n

    \n Overview\n

    \n

    This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional\n information. For the service overview, see What is\n AWS Lambda, and for information about how the service works, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" @@ -34,6 +34,8 @@ version = "1" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [features] client = ["aws-hyper"] rustls = ["aws-hyper/rustls"] diff --git a/sdk/lambda/src/aws_json_errors.rs b/sdk/lambda/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/lambda/src/aws_json_errors.rs +++ b/sdk/lambda/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/lambda/src/client.rs b/sdk/lambda/src/client.rs index 7f5da6d18d41..89cc492957af 100644 --- a/sdk/lambda/src/client.rs +++ b/sdk/lambda/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,259 +33,201 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn add_layer_version_permission(&self) -> fluent_builders::AddLayerVersionPermission { fluent_builders::AddLayerVersionPermission::new(self.handle.clone()) } - pub fn add_permission(&self) -> fluent_builders::AddPermission { fluent_builders::AddPermission::new(self.handle.clone()) } - pub fn create_alias(&self) -> fluent_builders::CreateAlias { fluent_builders::CreateAlias::new(self.handle.clone()) } - pub fn create_code_signing_config(&self) -> fluent_builders::CreateCodeSigningConfig { fluent_builders::CreateCodeSigningConfig::new(self.handle.clone()) } - pub fn create_event_source_mapping(&self) -> fluent_builders::CreateEventSourceMapping { fluent_builders::CreateEventSourceMapping::new(self.handle.clone()) } - pub fn create_function(&self) -> fluent_builders::CreateFunction { fluent_builders::CreateFunction::new(self.handle.clone()) } - pub fn delete_alias(&self) -> fluent_builders::DeleteAlias { fluent_builders::DeleteAlias::new(self.handle.clone()) } - pub fn delete_code_signing_config(&self) -> fluent_builders::DeleteCodeSigningConfig { fluent_builders::DeleteCodeSigningConfig::new(self.handle.clone()) } - pub fn delete_event_source_mapping(&self) -> fluent_builders::DeleteEventSourceMapping { fluent_builders::DeleteEventSourceMapping::new(self.handle.clone()) } - pub fn delete_function(&self) -> fluent_builders::DeleteFunction { fluent_builders::DeleteFunction::new(self.handle.clone()) } - pub fn delete_function_code_signing_config( &self, ) -> fluent_builders::DeleteFunctionCodeSigningConfig { fluent_builders::DeleteFunctionCodeSigningConfig::new(self.handle.clone()) } - pub fn delete_function_concurrency(&self) -> fluent_builders::DeleteFunctionConcurrency { fluent_builders::DeleteFunctionConcurrency::new(self.handle.clone()) } - pub fn delete_function_event_invoke_config( &self, ) -> fluent_builders::DeleteFunctionEventInvokeConfig { fluent_builders::DeleteFunctionEventInvokeConfig::new(self.handle.clone()) } - pub fn delete_layer_version(&self) -> fluent_builders::DeleteLayerVersion { fluent_builders::DeleteLayerVersion::new(self.handle.clone()) } - pub fn delete_provisioned_concurrency_config( &self, ) -> fluent_builders::DeleteProvisionedConcurrencyConfig { fluent_builders::DeleteProvisionedConcurrencyConfig::new(self.handle.clone()) } - pub fn get_account_settings(&self) -> fluent_builders::GetAccountSettings { fluent_builders::GetAccountSettings::new(self.handle.clone()) } - pub fn get_alias(&self) -> fluent_builders::GetAlias { fluent_builders::GetAlias::new(self.handle.clone()) } - pub fn get_code_signing_config(&self) -> fluent_builders::GetCodeSigningConfig { fluent_builders::GetCodeSigningConfig::new(self.handle.clone()) } - pub fn get_event_source_mapping(&self) -> fluent_builders::GetEventSourceMapping { fluent_builders::GetEventSourceMapping::new(self.handle.clone()) } - pub fn get_function(&self) -> fluent_builders::GetFunction { fluent_builders::GetFunction::new(self.handle.clone()) } - pub fn get_function_code_signing_config( &self, ) -> fluent_builders::GetFunctionCodeSigningConfig { fluent_builders::GetFunctionCodeSigningConfig::new(self.handle.clone()) } - pub fn get_function_concurrency(&self) -> fluent_builders::GetFunctionConcurrency { fluent_builders::GetFunctionConcurrency::new(self.handle.clone()) } - pub fn get_function_configuration(&self) -> fluent_builders::GetFunctionConfiguration { fluent_builders::GetFunctionConfiguration::new(self.handle.clone()) } - pub fn get_function_event_invoke_config( &self, ) -> fluent_builders::GetFunctionEventInvokeConfig { fluent_builders::GetFunctionEventInvokeConfig::new(self.handle.clone()) } - pub fn get_layer_version(&self) -> fluent_builders::GetLayerVersion { fluent_builders::GetLayerVersion::new(self.handle.clone()) } - pub fn get_layer_version_by_arn(&self) -> fluent_builders::GetLayerVersionByArn { fluent_builders::GetLayerVersionByArn::new(self.handle.clone()) } - pub fn get_layer_version_policy(&self) -> fluent_builders::GetLayerVersionPolicy { fluent_builders::GetLayerVersionPolicy::new(self.handle.clone()) } - pub fn get_policy(&self) -> fluent_builders::GetPolicy { fluent_builders::GetPolicy::new(self.handle.clone()) } - pub fn get_provisioned_concurrency_config( &self, ) -> fluent_builders::GetProvisionedConcurrencyConfig { fluent_builders::GetProvisionedConcurrencyConfig::new(self.handle.clone()) } - pub fn invoke(&self) -> fluent_builders::Invoke { fluent_builders::Invoke::new(self.handle.clone()) } - pub fn invoke_async(&self) -> fluent_builders::InvokeAsync { fluent_builders::InvokeAsync::new(self.handle.clone()) } - pub fn list_aliases(&self) -> fluent_builders::ListAliases { fluent_builders::ListAliases::new(self.handle.clone()) } - pub fn list_code_signing_configs(&self) -> fluent_builders::ListCodeSigningConfigs { fluent_builders::ListCodeSigningConfigs::new(self.handle.clone()) } - pub fn list_event_source_mappings(&self) -> fluent_builders::ListEventSourceMappings { fluent_builders::ListEventSourceMappings::new(self.handle.clone()) } - pub fn list_function_event_invoke_configs( &self, ) -> fluent_builders::ListFunctionEventInvokeConfigs { fluent_builders::ListFunctionEventInvokeConfigs::new(self.handle.clone()) } - pub fn list_functions(&self) -> fluent_builders::ListFunctions { fluent_builders::ListFunctions::new(self.handle.clone()) } - pub fn list_functions_by_code_signing_config( &self, ) -> fluent_builders::ListFunctionsByCodeSigningConfig { fluent_builders::ListFunctionsByCodeSigningConfig::new(self.handle.clone()) } - pub fn list_layers(&self) -> fluent_builders::ListLayers { fluent_builders::ListLayers::new(self.handle.clone()) } - pub fn list_layer_versions(&self) -> fluent_builders::ListLayerVersions { fluent_builders::ListLayerVersions::new(self.handle.clone()) } - pub fn list_provisioned_concurrency_configs( &self, ) -> fluent_builders::ListProvisionedConcurrencyConfigs { fluent_builders::ListProvisionedConcurrencyConfigs::new(self.handle.clone()) } - pub fn list_tags(&self) -> fluent_builders::ListTags { fluent_builders::ListTags::new(self.handle.clone()) } - pub fn list_versions_by_function(&self) -> fluent_builders::ListVersionsByFunction { fluent_builders::ListVersionsByFunction::new(self.handle.clone()) } - pub fn publish_layer_version(&self) -> fluent_builders::PublishLayerVersion { fluent_builders::PublishLayerVersion::new(self.handle.clone()) } - pub fn publish_version(&self) -> fluent_builders::PublishVersion { fluent_builders::PublishVersion::new(self.handle.clone()) } - pub fn put_function_code_signing_config( &self, ) -> fluent_builders::PutFunctionCodeSigningConfig { fluent_builders::PutFunctionCodeSigningConfig::new(self.handle.clone()) } - pub fn put_function_concurrency(&self) -> fluent_builders::PutFunctionConcurrency { fluent_builders::PutFunctionConcurrency::new(self.handle.clone()) } - pub fn put_function_event_invoke_config( &self, ) -> fluent_builders::PutFunctionEventInvokeConfig { fluent_builders::PutFunctionEventInvokeConfig::new(self.handle.clone()) } - pub fn put_provisioned_concurrency_config( &self, ) -> fluent_builders::PutProvisionedConcurrencyConfig { fluent_builders::PutProvisionedConcurrencyConfig::new(self.handle.clone()) } - pub fn remove_layer_version_permission(&self) -> fluent_builders::RemoveLayerVersionPermission { fluent_builders::RemoveLayerVersionPermission::new(self.handle.clone()) } - pub fn remove_permission(&self) -> fluent_builders::RemovePermission { fluent_builders::RemovePermission::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 fn update_alias(&self) -> fluent_builders::UpdateAlias { fluent_builders::UpdateAlias::new(self.handle.clone()) } - pub fn update_code_signing_config(&self) -> fluent_builders::UpdateCodeSigningConfig { fluent_builders::UpdateCodeSigningConfig::new(self.handle.clone()) } - pub fn update_event_source_mapping(&self) -> fluent_builders::UpdateEventSourceMapping { fluent_builders::UpdateEventSourceMapping::new(self.handle.clone()) } - pub fn update_function_code(&self) -> fluent_builders::UpdateFunctionCode { fluent_builders::UpdateFunctionCode::new(self.handle.clone()) } - pub fn update_function_configuration(&self) -> fluent_builders::UpdateFunctionConfiguration { fluent_builders::UpdateFunctionConfiguration::new(self.handle.clone()) } - pub fn update_function_event_invoke_config( &self, ) -> fluent_builders::UpdateFunctionEventInvokeConfig { @@ -295,7 +235,6 @@ impl Client { } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct AddLayerVersionPermission { handle: std::sync::Arc, @@ -324,7 +263,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name or Amazon Resource Name (ARN) of the layer.

    pub fn layer_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.layer_name(inp); @@ -394,7 +332,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct AddPermission { handle: std::sync::Arc, @@ -423,7 +360,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Lambda function, version, or alias.

    ///

    /// Name formats @@ -534,7 +470,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateAlias { handle: std::sync::Arc, @@ -563,7 +498,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Lambda function.

    ///

    /// Name formats @@ -636,7 +570,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateCodeSigningConfig { handle: std::sync::Arc, @@ -665,7 +598,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Descriptive name for this code signing configuration.

    pub fn description(mut self, inp: impl Into) -> Self { self.inner = self.inner.description(inp); @@ -700,7 +632,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateEventSourceMapping { handle: std::sync::Arc, @@ -729,7 +660,6 @@ 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 event source.

    ///
      ///
    • @@ -1002,7 +932,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateFunction { handle: std::sync::Arc, @@ -1031,7 +960,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -1282,7 +1210,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteAlias { handle: std::sync::Arc, @@ -1311,7 +1238,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -1350,7 +1276,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteCodeSigningConfig { handle: std::sync::Arc, @@ -1379,7 +1304,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The The Amazon Resource Name (ARN) of the code signing configuration.

      pub fn code_signing_config_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.code_signing_config_arn(inp); @@ -1390,7 +1314,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteEventSourceMapping { handle: std::sync::Arc, @@ -1419,7 +1342,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The identifier of the event source mapping.

      pub fn uuid(mut self, inp: impl Into) -> Self { self.inner = self.inner.uuid(inp); @@ -1430,7 +1352,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteFunction { handle: std::sync::Arc, @@ -1459,7 +1380,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function or version.

      ///

      /// Name formats @@ -1498,7 +1418,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteFunctionCodeSigningConfig { handle: std::sync::Arc, @@ -1527,7 +1446,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -1557,7 +1475,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteFunctionConcurrency { handle: std::sync::Arc, @@ -1586,7 +1503,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -1616,7 +1532,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteFunctionEventInvokeConfig { handle: std::sync::Arc, @@ -1645,7 +1560,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function, version, or alias.

      ///

      /// Name formats @@ -1684,7 +1598,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteLayerVersion { handle: std::sync::Arc, @@ -1713,7 +1626,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name or Amazon Resource Name (ARN) of the layer.

      pub fn layer_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.layer_name(inp); @@ -1733,7 +1645,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteProvisionedConcurrencyConfig { handle: std::sync::Arc, @@ -1762,7 +1673,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -1801,7 +1711,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetAccountSettings { handle: std::sync::Arc, @@ -1831,7 +1740,6 @@ pub mod fluent_builders { self.handle.client.call(op).await } } - #[derive(std::fmt::Debug)] pub struct GetAlias { handle: std::sync::Arc, @@ -1860,7 +1768,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -1899,7 +1806,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetCodeSigningConfig { handle: std::sync::Arc, @@ -1928,7 +1834,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The The Amazon Resource Name (ARN) of the code signing configuration.

      pub fn code_signing_config_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.code_signing_config_arn(inp); @@ -1939,7 +1844,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetEventSourceMapping { handle: std::sync::Arc, @@ -1968,7 +1872,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The identifier of the event source mapping.

      pub fn uuid(mut self, inp: impl Into) -> Self { self.inner = self.inner.uuid(inp); @@ -1979,7 +1882,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetFunction { handle: std::sync::Arc, @@ -2008,7 +1910,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function, version, or alias.

      ///

      /// Name formats @@ -2047,7 +1948,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetFunctionCodeSigningConfig { handle: std::sync::Arc, @@ -2076,7 +1976,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -2106,7 +2005,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetFunctionConcurrency { handle: std::sync::Arc, @@ -2135,7 +2033,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -2165,7 +2062,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetFunctionConfiguration { handle: std::sync::Arc, @@ -2194,7 +2090,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function, version, or alias.

      ///

      /// Name formats @@ -2233,7 +2128,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetFunctionEventInvokeConfig { handle: std::sync::Arc, @@ -2262,7 +2156,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function, version, or alias.

      ///

      /// Name formats @@ -2301,7 +2194,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetLayerVersion { handle: std::sync::Arc, @@ -2330,7 +2222,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name or Amazon Resource Name (ARN) of the layer.

      pub fn layer_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.layer_name(inp); @@ -2350,7 +2241,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetLayerVersionByArn { handle: std::sync::Arc, @@ -2379,7 +2269,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ARN of the layer version.

      pub fn arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.arn(inp); @@ -2390,7 +2279,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetLayerVersionPolicy { handle: std::sync::Arc, @@ -2419,7 +2307,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name or Amazon Resource Name (ARN) of the layer.

      pub fn layer_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.layer_name(inp); @@ -2439,7 +2326,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetPolicy { handle: std::sync::Arc, @@ -2468,7 +2354,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function, version, or alias.

      ///

      /// Name formats @@ -2507,7 +2392,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetProvisionedConcurrencyConfig { handle: std::sync::Arc, @@ -2536,7 +2420,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -2575,7 +2458,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct Invoke { handle: std::sync::Arc, @@ -2604,7 +2486,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function, version, or alias.

      ///

      /// Name formats @@ -2701,7 +2582,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct InvokeAsync { handle: std::sync::Arc, @@ -2730,7 +2610,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -2769,7 +2648,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListAliases { handle: std::sync::Arc, @@ -2798,7 +2676,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Lambda function.

      ///

      /// Name formats @@ -2858,7 +2735,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListCodeSigningConfigs { handle: std::sync::Arc, @@ -2887,7 +2763,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Specify the pagination token that's returned by a previous request to retrieve the next page of results.

      pub fn marker(mut self, inp: impl Into) -> Self { self.inner = self.inner.marker(inp); @@ -2907,7 +2782,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListEventSourceMappings { handle: std::sync::Arc, @@ -2936,7 +2810,6 @@ 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 event source.

      ///
        ///
      • @@ -3018,7 +2891,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListFunctionEventInvokeConfigs { handle: std::sync::Arc, @@ -3047,7 +2919,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -3095,7 +2966,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListFunctions { handle: std::sync::Arc, @@ -3124,7 +2994,6 @@ 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 AWS 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.

        @@ -3168,7 +3037,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListFunctionsByCodeSigningConfig { handle: std::sync::Arc, @@ -3197,7 +3065,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The The Amazon Resource Name (ARN) of the code signing configuration.

        pub fn code_signing_config_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.code_signing_config_arn(inp); @@ -3226,7 +3093,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListLayers { handle: std::sync::Arc, @@ -3255,7 +3121,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        A runtime identifier. For example, go1.x.

        pub fn compatible_runtime(mut self, inp: crate::model::Runtime) -> Self { self.inner = self.inner.compatible_runtime(inp); @@ -3287,7 +3152,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListLayerVersions { handle: std::sync::Arc, @@ -3316,7 +3180,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        A runtime identifier. For example, go1.x.

        pub fn compatible_runtime(mut self, inp: crate::model::Runtime) -> Self { self.inner = self.inner.compatible_runtime(inp); @@ -3357,7 +3220,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListProvisionedConcurrencyConfigs { handle: std::sync::Arc, @@ -3386,7 +3248,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -3434,7 +3295,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListTags { handle: std::sync::Arc, @@ -3463,7 +3323,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The function's Amazon Resource Name (ARN).

        pub fn resource(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource(inp); @@ -3474,7 +3333,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListVersionsByFunction { handle: std::sync::Arc, @@ -3503,7 +3361,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -3551,7 +3408,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PublishLayerVersion { handle: std::sync::Arc, @@ -3580,7 +3436,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name or Amazon Resource Name (ARN) of the layer.

        pub fn layer_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.layer_name(inp); @@ -3647,7 +3502,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PublishVersion { handle: std::sync::Arc, @@ -3676,7 +3530,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -3736,7 +3589,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutFunctionCodeSigningConfig { handle: std::sync::Arc, @@ -3765,7 +3617,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The The Amazon Resource Name (ARN) of the code signing configuration.

        pub fn code_signing_config_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.code_signing_config_arn(inp); @@ -3807,7 +3658,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutFunctionConcurrency { handle: std::sync::Arc, @@ -3836,7 +3686,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -3875,7 +3724,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutFunctionEventInvokeConfig { handle: std::sync::Arc, @@ -3904,7 +3752,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function, version, or alias.

        ///

        /// Name formats @@ -3994,7 +3841,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutProvisionedConcurrencyConfig { handle: std::sync::Arc, @@ -4023,7 +3869,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -4074,7 +3919,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RemoveLayerVersionPermission { handle: std::sync::Arc, @@ -4103,7 +3947,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name or Amazon Resource Name (ARN) of the layer.

        pub fn layer_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.layer_name(inp); @@ -4142,7 +3985,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RemovePermission { handle: std::sync::Arc, @@ -4171,7 +4013,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function, version, or alias.

        ///

        /// Name formats @@ -4229,7 +4070,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TagResource { handle: std::sync::Arc, @@ -4258,7 +4098,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The function's Amazon Resource Name (ARN).

        pub fn resource(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource(inp); @@ -4287,7 +4126,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UntagResource { handle: std::sync::Arc, @@ -4316,7 +4154,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The function's Amazon Resource Name (ARN).

        pub fn resource(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource(inp); @@ -4339,7 +4176,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateAlias { handle: std::sync::Arc, @@ -4368,7 +4204,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -4451,7 +4286,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateCodeSigningConfig { handle: std::sync::Arc, @@ -4480,7 +4314,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The The Amazon Resource Name (ARN) of the code signing configuration.

        pub fn code_signing_config_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.code_signing_config_arn(inp); @@ -4524,7 +4357,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateEventSourceMapping { handle: std::sync::Arc, @@ -4553,7 +4385,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The identifier of the event source mapping.

        pub fn uuid(mut self, inp: impl Into) -> Self { self.inner = self.inner.uuid(inp); @@ -4738,7 +4569,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateFunctionCode { handle: std::sync::Arc, @@ -4767,7 +4597,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -4876,7 +4705,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateFunctionConfiguration { handle: std::sync::Arc, @@ -4905,7 +4733,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function.

        ///

        /// Name formats @@ -5104,7 +4931,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateFunctionEventInvokeConfig { handle: std::sync::Arc, @@ -5133,7 +4959,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

        The name of the Lambda function, version, or alias.

        ///

        /// Name formats diff --git a/sdk/lambda/src/config.rs b/sdk/lambda/src/config.rs index 6f873009de17..693e4a2e5674 100644 --- a/sdk/lambda/src/config.rs +++ b/sdk/lambda/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/lambda/src/error.rs b/sdk/lambda/src/error.rs index 14e48d44969c..cc09530e3203 100644 --- a/sdk/lambda/src/error.rs +++ b/sdk/lambda/src/error.rs @@ -15,7 +15,6 @@ pub enum AddLayerVersionPermissionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -41,7 +40,6 @@ impl smithy_types::retry::ProvideErrorKind for AddLayerVersionPermissionError { None } } - impl AddLayerVersionPermissionError { pub fn new(kind: AddLayerVersionPermissionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -64,18 +62,21 @@ impl AddLayerVersionPermissionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for AddLayerVersionPermissionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -107,7 +108,6 @@ pub enum AddPermissionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -133,7 +133,6 @@ impl smithy_types::retry::ProvideErrorKind for AddPermissionError { None } } - impl AddPermissionError { pub fn new(kind: AddPermissionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -156,18 +155,21 @@ impl AddPermissionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for AddPermissionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -197,7 +199,6 @@ pub enum CreateAliasErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -221,7 +222,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateAliasError { None } } - impl CreateAliasError { pub fn new(kind: CreateAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -244,18 +244,21 @@ impl CreateAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -280,7 +283,6 @@ pub struct CreateCodeSigningConfigError { pub enum CreateCodeSigningConfigErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -301,7 +303,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateCodeSigningConfigError { None } } - impl CreateCodeSigningConfigError { pub fn new(kind: CreateCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -324,18 +325,21 @@ impl CreateCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -360,7 +364,6 @@ pub enum CreateEventSourceMappingErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -384,7 +387,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateEventSourceMappingError { None } } - impl CreateEventSourceMappingError { pub fn new(kind: CreateEventSourceMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -407,18 +409,21 @@ impl CreateEventSourceMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateEventSourceMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -450,7 +455,6 @@ pub enum CreateFunctionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -478,7 +482,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateFunctionError { None } } - impl CreateFunctionError { pub fn new(kind: CreateFunctionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -501,18 +504,21 @@ impl CreateFunctionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateFunctionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -543,7 +549,6 @@ pub enum DeleteAliasErrorKind { ResourceConflictError(crate::error::ResourceConflictError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -566,7 +571,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteAliasError { None } } - impl DeleteAliasError { pub fn new(kind: DeleteAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -589,18 +593,21 @@ impl DeleteAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -626,7 +633,6 @@ pub enum DeleteCodeSigningConfigErrorKind { ResourceConflictError(crate::error::ResourceConflictError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -649,7 +655,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteCodeSigningConfigError { None } } - impl DeleteCodeSigningConfigError { pub fn new(kind: DeleteCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -672,18 +677,21 @@ impl DeleteCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -710,7 +718,6 @@ pub enum DeleteEventSourceMappingErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -734,7 +741,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteEventSourceMappingError { None } } - impl DeleteEventSourceMappingError { pub fn new(kind: DeleteEventSourceMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -757,18 +763,21 @@ impl DeleteEventSourceMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteEventSourceMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -796,7 +805,6 @@ pub enum DeleteFunctionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -820,7 +828,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteFunctionError { None } } - impl DeleteFunctionError { pub fn new(kind: DeleteFunctionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -843,18 +850,21 @@ impl DeleteFunctionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteFunctionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -883,7 +893,6 @@ pub enum DeleteFunctionCodeSigningConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -916,7 +925,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteFunctionCodeSigningConfigEr None } } - impl DeleteFunctionCodeSigningConfigError { pub fn new(kind: DeleteFunctionCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -939,18 +947,21 @@ impl DeleteFunctionCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteFunctionCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -983,7 +994,6 @@ pub enum DeleteFunctionConcurrencyErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1007,7 +1017,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteFunctionConcurrencyError { None } } - impl DeleteFunctionConcurrencyError { pub fn new(kind: DeleteFunctionConcurrencyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1030,18 +1039,21 @@ impl DeleteFunctionConcurrencyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteFunctionConcurrencyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1068,7 +1080,6 @@ pub enum DeleteFunctionEventInvokeConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1095,7 +1106,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteFunctionEventInvokeConfigEr None } } - impl DeleteFunctionEventInvokeConfigError { pub fn new(kind: DeleteFunctionEventInvokeConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1118,18 +1128,21 @@ impl DeleteFunctionEventInvokeConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteFunctionEventInvokeConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1155,7 +1168,6 @@ pub struct DeleteLayerVersionError { pub enum DeleteLayerVersionErrorKind { ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1176,7 +1188,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteLayerVersionError { None } } - impl DeleteLayerVersionError { pub fn new(kind: DeleteLayerVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1199,18 +1210,21 @@ impl DeleteLayerVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteLayerVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1235,7 +1249,6 @@ pub enum DeleteProvisionedConcurrencyConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1267,7 +1280,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteProvisionedConcurrencyConfi None } } - impl DeleteProvisionedConcurrencyConfigError { pub fn new( kind: DeleteProvisionedConcurrencyConfigErrorKind, @@ -1293,18 +1305,21 @@ impl DeleteProvisionedConcurrencyConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteProvisionedConcurrencyConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1337,7 +1352,6 @@ pub struct GetAccountSettingsError { pub enum GetAccountSettingsErrorKind { ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1358,7 +1372,6 @@ impl smithy_types::retry::ProvideErrorKind for GetAccountSettingsError { None } } - impl GetAccountSettingsError { pub fn new(kind: GetAccountSettingsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1381,18 +1394,21 @@ impl GetAccountSettingsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetAccountSettingsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1416,7 +1432,6 @@ pub enum GetAliasErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1439,7 +1454,6 @@ impl smithy_types::retry::ProvideErrorKind for GetAliasError { None } } - impl GetAliasError { pub fn new(kind: GetAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1462,18 +1476,21 @@ impl GetAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1498,7 +1515,6 @@ pub enum GetCodeSigningConfigErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1520,7 +1536,6 @@ impl smithy_types::retry::ProvideErrorKind for GetCodeSigningConfigError { None } } - impl GetCodeSigningConfigError { pub fn new(kind: GetCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1543,18 +1558,21 @@ impl GetCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1579,7 +1597,6 @@ pub enum GetEventSourceMappingErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1602,7 +1619,6 @@ impl smithy_types::retry::ProvideErrorKind for GetEventSourceMappingError { None } } - impl GetEventSourceMappingError { pub fn new(kind: GetEventSourceMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1625,18 +1641,21 @@ impl GetEventSourceMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetEventSourceMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1662,7 +1681,6 @@ pub enum GetFunctionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1685,7 +1703,6 @@ impl smithy_types::retry::ProvideErrorKind for GetFunctionError { None } } - impl GetFunctionError { pub fn new(kind: GetFunctionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1708,18 +1725,21 @@ impl GetFunctionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetFunctionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1745,7 +1765,6 @@ pub enum GetFunctionCodeSigningConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1770,7 +1789,6 @@ impl smithy_types::retry::ProvideErrorKind for GetFunctionCodeSigningConfigError None } } - impl GetFunctionCodeSigningConfigError { pub fn new(kind: GetFunctionCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1793,18 +1811,21 @@ impl GetFunctionCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetFunctionCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1832,7 +1853,6 @@ pub enum GetFunctionConcurrencyErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1855,7 +1875,6 @@ impl smithy_types::retry::ProvideErrorKind for GetFunctionConcurrencyError { None } } - impl GetFunctionConcurrencyError { pub fn new(kind: GetFunctionConcurrencyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1878,18 +1897,21 @@ impl GetFunctionConcurrencyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetFunctionConcurrencyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1915,7 +1937,6 @@ pub enum GetFunctionConfigurationErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1938,7 +1959,6 @@ impl smithy_types::retry::ProvideErrorKind for GetFunctionConfigurationError { None } } - impl GetFunctionConfigurationError { pub fn new(kind: GetFunctionConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1961,18 +1981,21 @@ impl GetFunctionConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetFunctionConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1998,7 +2021,6 @@ pub enum GetFunctionEventInvokeConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2023,7 +2045,6 @@ impl smithy_types::retry::ProvideErrorKind for GetFunctionEventInvokeConfigError None } } - impl GetFunctionEventInvokeConfigError { pub fn new(kind: GetFunctionEventInvokeConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2046,18 +2067,21 @@ impl GetFunctionEventInvokeConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetFunctionEventInvokeConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2085,7 +2109,6 @@ pub enum GetLayerVersionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2108,7 +2131,6 @@ impl smithy_types::retry::ProvideErrorKind for GetLayerVersionError { None } } - impl GetLayerVersionError { pub fn new(kind: GetLayerVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2131,18 +2153,21 @@ impl GetLayerVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetLayerVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2168,7 +2193,6 @@ pub enum GetLayerVersionByArnErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2191,7 +2215,6 @@ impl smithy_types::retry::ProvideErrorKind for GetLayerVersionByArnError { None } } - impl GetLayerVersionByArnError { pub fn new(kind: GetLayerVersionByArnErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2214,18 +2237,21 @@ impl GetLayerVersionByArnError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetLayerVersionByArnError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2251,7 +2277,6 @@ pub enum GetLayerVersionPolicyErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2274,7 +2299,6 @@ impl smithy_types::retry::ProvideErrorKind for GetLayerVersionPolicyError { None } } - impl GetLayerVersionPolicyError { pub fn new(kind: GetLayerVersionPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2297,18 +2321,21 @@ impl GetLayerVersionPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetLayerVersionPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2334,7 +2361,6 @@ pub enum GetPolicyErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2357,7 +2383,6 @@ impl smithy_types::retry::ProvideErrorKind for GetPolicyError { None } } - impl GetPolicyError { pub fn new(kind: GetPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2380,18 +2405,21 @@ impl GetPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2420,7 +2448,6 @@ pub enum GetProvisionedConcurrencyConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2450,7 +2477,6 @@ impl smithy_types::retry::ProvideErrorKind for GetProvisionedConcurrencyConfigEr None } } - impl GetProvisionedConcurrencyConfigError { pub fn new(kind: GetProvisionedConcurrencyConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2473,18 +2499,21 @@ impl GetProvisionedConcurrencyConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetProvisionedConcurrencyConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2537,7 +2566,6 @@ pub enum InvokeErrorKind { SubnetIPAddressLimitReachedError(crate::error::SubnetIPAddressLimitReachedError), TooManyRequestsError(crate::error::TooManyRequestsError), UnsupportedMediaTypeError(crate::error::UnsupportedMediaTypeError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2582,7 +2610,6 @@ impl smithy_types::retry::ProvideErrorKind for InvokeError { None } } - impl InvokeError { pub fn new(kind: InvokeErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2605,18 +2632,21 @@ impl InvokeError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for InvokeError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2665,7 +2695,6 @@ pub enum InvokeAsyncErrorKind { ResourceConflictError(crate::error::ResourceConflictError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2689,7 +2718,6 @@ impl smithy_types::retry::ProvideErrorKind for InvokeAsyncError { None } } - impl InvokeAsyncError { pub fn new(kind: InvokeAsyncErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2712,18 +2740,21 @@ impl InvokeAsyncError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for InvokeAsyncError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2750,7 +2781,6 @@ pub enum ListAliasesErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2773,7 +2803,6 @@ impl smithy_types::retry::ProvideErrorKind for ListAliasesError { None } } - impl ListAliasesError { pub fn new(kind: ListAliasesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2796,18 +2825,21 @@ impl ListAliasesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListAliasesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2831,7 +2863,6 @@ pub struct ListCodeSigningConfigsError { pub enum ListCodeSigningConfigsErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2852,7 +2883,6 @@ impl smithy_types::retry::ProvideErrorKind for ListCodeSigningConfigsError { None } } - impl ListCodeSigningConfigsError { pub fn new(kind: ListCodeSigningConfigsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2875,18 +2905,21 @@ impl ListCodeSigningConfigsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListCodeSigningConfigsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2910,7 +2943,6 @@ pub enum ListEventSourceMappingsErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2933,7 +2965,6 @@ impl smithy_types::retry::ProvideErrorKind for ListEventSourceMappingsError { None } } - impl ListEventSourceMappingsError { pub fn new(kind: ListEventSourceMappingsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2956,18 +2987,21 @@ impl ListEventSourceMappingsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListEventSourceMappingsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2993,7 +3027,6 @@ pub enum ListFunctionEventInvokeConfigsErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3018,7 +3051,6 @@ impl smithy_types::retry::ProvideErrorKind for ListFunctionEventInvokeConfigsErr None } } - impl ListFunctionEventInvokeConfigsError { pub fn new(kind: ListFunctionEventInvokeConfigsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3041,18 +3073,21 @@ impl ListFunctionEventInvokeConfigsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListFunctionEventInvokeConfigsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3079,7 +3114,6 @@ pub enum ListFunctionsErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3101,7 +3135,6 @@ impl smithy_types::retry::ProvideErrorKind for ListFunctionsError { None } } - impl ListFunctionsError { pub fn new(kind: ListFunctionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3124,18 +3157,21 @@ impl ListFunctionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListFunctionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3159,7 +3195,6 @@ pub enum ListFunctionsByCodeSigningConfigErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3185,7 +3220,6 @@ impl smithy_types::retry::ProvideErrorKind for ListFunctionsByCodeSigningConfigE None } } - impl ListFunctionsByCodeSigningConfigError { pub fn new(kind: ListFunctionsByCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3208,18 +3242,21 @@ impl ListFunctionsByCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListFunctionsByCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3247,7 +3284,6 @@ pub enum ListLayersErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3269,7 +3305,6 @@ impl smithy_types::retry::ProvideErrorKind for ListLayersError { None } } - impl ListLayersError { pub fn new(kind: ListLayersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3292,18 +3327,21 @@ impl ListLayersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListLayersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3328,7 +3366,6 @@ pub enum ListLayerVersionsErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3351,7 +3388,6 @@ impl smithy_types::retry::ProvideErrorKind for ListLayerVersionsError { None } } - impl ListLayerVersionsError { pub fn new(kind: ListLayerVersionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3374,18 +3410,21 @@ impl ListLayerVersionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListLayerVersionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3411,7 +3450,6 @@ pub enum ListProvisionedConcurrencyConfigsErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3440,7 +3478,6 @@ impl smithy_types::retry::ProvideErrorKind for ListProvisionedConcurrencyConfigs None } } - impl ListProvisionedConcurrencyConfigsError { pub fn new( kind: ListProvisionedConcurrencyConfigsErrorKind, @@ -3466,18 +3503,21 @@ impl ListProvisionedConcurrencyConfigsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListProvisionedConcurrencyConfigsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3509,7 +3549,6 @@ pub enum ListTagsErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3532,7 +3571,6 @@ impl smithy_types::retry::ProvideErrorKind for ListTagsError { None } } - impl ListTagsError { pub fn new(kind: ListTagsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3555,18 +3593,21 @@ impl ListTagsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListTagsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3592,7 +3633,6 @@ pub enum ListVersionsByFunctionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3615,7 +3655,6 @@ impl smithy_types::retry::ProvideErrorKind for ListVersionsByFunctionError { None } } - impl ListVersionsByFunctionError { pub fn new(kind: ListVersionsByFunctionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3638,18 +3677,21 @@ impl ListVersionsByFunctionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListVersionsByFunctionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3676,7 +3718,6 @@ pub enum PublishLayerVersionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3700,7 +3741,6 @@ impl smithy_types::retry::ProvideErrorKind for PublishLayerVersionError { None } } - impl PublishLayerVersionError { pub fn new(kind: PublishLayerVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3723,18 +3763,21 @@ impl PublishLayerVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PublishLayerVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3764,7 +3807,6 @@ pub enum PublishVersionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3790,7 +3832,6 @@ impl smithy_types::retry::ProvideErrorKind for PublishVersionError { None } } - impl PublishVersionError { pub fn new(kind: PublishVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3813,18 +3854,21 @@ impl PublishVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PublishVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3855,7 +3899,6 @@ pub enum PutFunctionCodeSigningConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3884,7 +3927,6 @@ impl smithy_types::retry::ProvideErrorKind for PutFunctionCodeSigningConfigError None } } - impl PutFunctionCodeSigningConfigError { pub fn new(kind: PutFunctionCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3907,18 +3949,21 @@ impl PutFunctionCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutFunctionCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3951,7 +3996,6 @@ pub enum PutFunctionConcurrencyErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3975,7 +4019,6 @@ impl smithy_types::retry::ProvideErrorKind for PutFunctionConcurrencyError { None } } - impl PutFunctionConcurrencyError { pub fn new(kind: PutFunctionConcurrencyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3998,18 +4041,21 @@ impl PutFunctionConcurrencyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutFunctionConcurrencyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4036,7 +4082,6 @@ pub enum PutFunctionEventInvokeConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4061,7 +4106,6 @@ impl smithy_types::retry::ProvideErrorKind for PutFunctionEventInvokeConfigError None } } - impl PutFunctionEventInvokeConfigError { pub fn new(kind: PutFunctionEventInvokeConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4084,18 +4128,21 @@ impl PutFunctionEventInvokeConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutFunctionEventInvokeConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4124,7 +4171,6 @@ pub enum PutProvisionedConcurrencyConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4154,7 +4200,6 @@ impl smithy_types::retry::ProvideErrorKind for PutProvisionedConcurrencyConfigEr None } } - impl PutProvisionedConcurrencyConfigError { pub fn new(kind: PutProvisionedConcurrencyConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4177,18 +4222,21 @@ impl PutProvisionedConcurrencyConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutProvisionedConcurrencyConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4218,7 +4266,6 @@ pub enum RemoveLayerVersionPermissionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4244,7 +4291,6 @@ impl smithy_types::retry::ProvideErrorKind for RemoveLayerVersionPermissionError None } } - impl RemoveLayerVersionPermissionError { pub fn new(kind: RemoveLayerVersionPermissionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4267,18 +4313,21 @@ impl RemoveLayerVersionPermissionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RemoveLayerVersionPermissionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4308,7 +4357,6 @@ pub enum RemovePermissionErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4332,7 +4380,6 @@ impl smithy_types::retry::ProvideErrorKind for RemovePermissionError { None } } - impl RemovePermissionError { pub fn new(kind: RemovePermissionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4355,18 +4402,21 @@ impl RemovePermissionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RemovePermissionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4394,7 +4444,6 @@ pub enum TagResourceErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4418,7 +4467,6 @@ impl smithy_types::retry::ProvideErrorKind for TagResourceError { None } } - impl TagResourceError { pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4441,18 +4489,21 @@ impl TagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4480,7 +4531,6 @@ pub enum UntagResourceErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4504,7 +4554,6 @@ impl smithy_types::retry::ProvideErrorKind for UntagResourceError { None } } - impl UntagResourceError { pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4527,18 +4576,21 @@ impl UntagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UntagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4567,7 +4619,6 @@ pub enum UpdateAliasErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4592,7 +4643,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateAliasError { None } } - impl UpdateAliasError { pub fn new(kind: UpdateAliasErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4615,18 +4665,21 @@ impl UpdateAliasError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateAliasError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4653,7 +4706,6 @@ pub enum UpdateCodeSigningConfigErrorKind { InvalidParameterValueError(crate::error::InvalidParameterValueError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4675,7 +4727,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateCodeSigningConfigError { None } } - impl UpdateCodeSigningConfigError { pub fn new(kind: UpdateCodeSigningConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4698,18 +4749,21 @@ impl UpdateCodeSigningConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateCodeSigningConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4736,7 +4790,6 @@ pub enum UpdateEventSourceMappingErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4761,7 +4814,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateEventSourceMappingError { None } } - impl UpdateEventSourceMappingError { pub fn new(kind: UpdateEventSourceMappingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4784,18 +4836,21 @@ impl UpdateEventSourceMappingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateEventSourceMappingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4829,7 +4884,6 @@ pub enum UpdateFunctionCodeErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4858,7 +4912,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateFunctionCodeError { None } } - impl UpdateFunctionCodeError { pub fn new(kind: UpdateFunctionCodeErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4881,18 +4934,21 @@ impl UpdateFunctionCodeError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateFunctionCodeError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4929,7 +4985,6 @@ pub enum UpdateFunctionConfigurationErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4965,7 +5020,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateFunctionConfigurationError None } } - impl UpdateFunctionConfigurationError { pub fn new(kind: UpdateFunctionConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4988,18 +5042,21 @@ impl UpdateFunctionConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateFunctionConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5036,7 +5093,6 @@ pub enum UpdateFunctionEventInvokeConfigErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ServiceError(crate::error::ServiceError), TooManyRequestsError(crate::error::TooManyRequestsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5063,7 +5119,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateFunctionEventInvokeConfigEr None } } - impl UpdateFunctionEventInvokeConfigError { pub fn new(kind: UpdateFunctionEventInvokeConfigErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5086,18 +5141,21 @@ impl UpdateFunctionEventInvokeConfigError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateFunctionEventInvokeConfigError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5114,23 +5172,19 @@ impl std::error::Error for UpdateFunctionEventInvokeConfigError { ///

        The request throughput limit was exceeded.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TooManyRequestsError { ///

        The number of seconds the caller should wait before retrying.

        #[serde(rename = "retryAfterSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub retry_after_seconds: std::option::Option, #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, #[serde(rename = "Reason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub reason: std::option::Option, } @@ -5230,14 +5284,12 @@ impl TooManyRequestsError { ///

        The AWS Lambda service encountered an internal error.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5308,14 +5360,12 @@ impl ServiceError { ///

        The resource specified in the request does not exist.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotFoundError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5386,16 +5436,14 @@ impl ResourceNotFoundError { ///

        One of the parameters in the request is invalid.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidParameterValueError { ///

        The exception type.

        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

        The exception message.

        #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5471,16 +5519,14 @@ impl InvalidParameterValueError { ///

        The resource already exists, or another operation is in progress.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceConflictError { ///

        The exception type.

        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

        The exception message.

        #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5555,16 +5601,14 @@ impl ResourceConflictError { /// GetFunction or the GetAlias API to retrieve the latest RevisionId for your /// resource.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PreconditionFailedError { ///

        The exception type.

        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

        The exception message.

        #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5638,14 +5682,12 @@ impl PreconditionFailedError { ///

        The code signature failed the integrity check. Lambda always blocks deployment if the integrity check /// fails, even if code signing policy is set to WARN.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidCodeSignatureError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5720,14 +5762,12 @@ impl InvalidCodeSignatureError { ///

        The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy /// is set to ENFORCE. Lambda blocks the deployment.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CodeVerificationFailedError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5801,14 +5841,12 @@ impl CodeVerificationFailedError { ///

        The specified code signing configuration does not exist.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CodeSigningConfigNotFoundError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5883,15 +5921,13 @@ impl CodeSigningConfigNotFoundError { ///

        You have exceeded your maximum total code size per account. Learn more ///

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CodeStorageExceededError { ///

        The exception type.

        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -5964,14 +6000,12 @@ impl CodeStorageExceededError { ///

        The operation conflicts with the resource's availability. For example, you attempted to update an EventSource /// Mapping in CREATING, or tried to delete a EventSource mapping currently in the UPDATING state.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceInUseError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6042,14 +6076,12 @@ impl ResourceInUseError { ///

        The runtime or runtime version specified is not supported.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidRuntimeError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6120,16 +6152,14 @@ impl InvalidRuntimeError { ///

        The request body could not be parsed as JSON.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidRequestContentError { ///

        The exception type.

        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

        The exception message.

        #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6205,14 +6235,12 @@ impl InvalidRequestContentError { ///

        The content type of the Invoke request body is not JSON.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedMediaTypeError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6287,14 +6315,12 @@ impl UnsupportedMediaTypeError { ///

        AWS Lambda was not able to set up VPC access for the Lambda function because one or more configured subnets /// has no available IP addresses.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SubnetIPAddressLimitReachedError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6369,16 +6395,14 @@ impl SubnetIPAddressLimitReachedError { ///

        The function is inactive and its VPC connection is no longer available. Wait for the VPC connection to /// reestablish and try again.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotReadyError { ///

        The exception type.

        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

        The exception message.

        #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6452,14 +6476,12 @@ impl ResourceNotReadyError { ///

        The request payload exceeded the Invoke request body JSON input limit. For more information, see /// Limits.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RequestTooLargeError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6531,14 +6553,12 @@ impl RequestTooLargeError { ///

        Lambda was unable to decrypt the environment variables because the KMS key was not found. Check the function's /// KMS key settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSNotFoundError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6610,14 +6630,12 @@ impl KMSNotFoundError { ///

        Lambda was unable to decrypt the environment variables because the KMS key used is in an invalid state for /// Decrypt. Check the function's KMS key settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSInvalidStateError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6689,14 +6707,12 @@ impl KMSInvalidStateError { ///

        Lambda was unable to decrypt the environment variables because the KMS key used is disabled. Check the Lambda /// function's KMS key settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSDisabledError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6768,14 +6784,12 @@ impl KMSDisabledError { ///

        Lambda was unable to decrypt the environment variables because KMS access was denied. Check the Lambda /// function's KMS permissions.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KMSAccessDeniedError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6846,14 +6860,12 @@ impl KMSAccessDeniedError { ///

        AWS Lambda could not unzip the deployment package.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidZipFileError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -6924,14 +6936,12 @@ impl InvalidZipFileError { ///

        The Subnet ID provided in the Lambda function VPC configuration is invalid.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSubnetIDError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7002,14 +7012,12 @@ impl InvalidSubnetIDError { ///

        The Security Group ID provided in the Lambda function VPC configuration is invalid.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSecurityGroupIDError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7084,14 +7092,12 @@ impl InvalidSecurityGroupIDError { ///

        AWS Lambda was not able to create an elastic network interface in the VPC, specified as part of Lambda /// function configuration, because the limit for network interfaces has been reached.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ENILimitReachedError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7163,14 +7169,12 @@ impl ENILimitReachedError { ///

        The function was able to make a network connection to the configured file system, but the mount operation /// timed out.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EFSMountTimeoutError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7241,14 +7245,12 @@ impl EFSMountTimeoutError { ///

        The function couldn't mount the configured file system due to a permission or configuration issue.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EFSMountFailureError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7319,14 +7321,12 @@ impl EFSMountFailureError { ///

        The function couldn't make a network connection to the configured file system.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EFSMountConnectivityError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7400,14 +7400,12 @@ impl EFSMountConnectivityError { ///

        An error occured when reading from or writing to a connected file system.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EFSIOError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7478,18 +7476,15 @@ impl EFSIOError { ///

        AWS Lambda received an unexpected EC2 client exception while setting up for the Lambda function.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EC2UnexpectedError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, #[serde(rename = "EC2ErrorCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ec2_error_code: std::option::Option, } @@ -7572,14 +7567,12 @@ impl EC2UnexpectedError { ///

        AWS Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role provided /// for the Lambda function.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EC2ThrottledError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7650,14 +7643,12 @@ impl EC2ThrottledError { ///

        Need additional permissions to configure VPC settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EC2AccessDeniedError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7728,14 +7719,12 @@ impl EC2AccessDeniedError { ///

        The specified configuration does not exist.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedConcurrencyConfigNotFoundError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -7807,14 +7796,12 @@ impl ProvisionedConcurrencyConfigNotFoundError { ///

        The permissions policy for the resource is too large. Learn more ///

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PolicyLengthExceededError { #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/lambda/src/http_serde.rs b/sdk/lambda/src/http_serde.rs index 85966c6ac1e6..544583878ea4 100644 --- a/sdk/lambda/src/http_serde.rs +++ b/sdk/lambda/src/http_serde.rs @@ -4,7 +4,6 @@ pub fn deser_header_add_layer_version_permission_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_1: Vec = smithy_http::header::read_many(headers)?; - if var_1.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -18,7 +17,6 @@ pub fn deser_header_add_permission_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_2: Vec = smithy_http::header::read_many(headers)?; - if var_2.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -32,7 +30,6 @@ pub fn deser_header_create_alias_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_3: Vec = smithy_http::header::read_many(headers)?; - if var_3.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -46,7 +43,6 @@ pub fn deser_header_create_event_source_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_4: Vec = smithy_http::header::read_many(headers)?; - if var_4.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -60,7 +56,6 @@ pub fn deser_header_create_function_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_5: Vec = smithy_http::header::read_many(headers)?; - if var_5.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -74,7 +69,6 @@ pub fn deser_header_delete_alias_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_6: Vec = smithy_http::header::read_many(headers)?; - if var_6.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -88,7 +82,6 @@ pub fn deser_header_delete_event_source_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_7: Vec = smithy_http::header::read_many(headers)?; - if var_7.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -102,7 +95,6 @@ pub fn deser_header_delete_function_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_8: Vec = smithy_http::header::read_many(headers)?; - if var_8.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -116,7 +108,6 @@ pub fn deser_header_delete_function_code_signing_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_9: Vec = smithy_http::header::read_many(headers)?; - if var_9.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -130,7 +121,6 @@ pub fn deser_header_delete_function_concurrency_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_10: Vec = smithy_http::header::read_many(headers)?; - if var_10.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -144,7 +134,6 @@ pub fn deser_header_delete_function_event_invoke_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_11: Vec = smithy_http::header::read_many(headers)?; - if var_11.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -158,7 +147,6 @@ pub fn deser_header_delete_layer_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_12: Vec = smithy_http::header::read_many(headers)?; - if var_12.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -172,7 +160,6 @@ pub fn deser_header_delete_provisioned_concurrency_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_13: Vec = smithy_http::header::read_many(headers)?; - if var_13.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -186,7 +173,6 @@ pub fn deser_header_get_account_settings_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_14: Vec = smithy_http::header::read_many(headers)?; - if var_14.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -200,7 +186,6 @@ pub fn deser_header_get_alias_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_15: Vec = smithy_http::header::read_many(headers)?; - if var_15.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -214,7 +199,6 @@ pub fn deser_header_get_event_source_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_16: Vec = smithy_http::header::read_many(headers)?; - if var_16.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -228,7 +212,6 @@ pub fn deser_header_get_function_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_17: Vec = smithy_http::header::read_many(headers)?; - if var_17.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -242,7 +225,6 @@ pub fn deser_header_get_function_code_signing_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_18: Vec = smithy_http::header::read_many(headers)?; - if var_18.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -256,7 +238,6 @@ pub fn deser_header_get_function_concurrency_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_19: Vec = smithy_http::header::read_many(headers)?; - if var_19.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -270,7 +251,6 @@ pub fn deser_header_get_function_configuration_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_20: Vec = smithy_http::header::read_many(headers)?; - if var_20.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -284,7 +264,6 @@ pub fn deser_header_get_function_event_invoke_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_21: Vec = smithy_http::header::read_many(headers)?; - if var_21.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -298,7 +277,6 @@ pub fn deser_header_get_layer_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_22: Vec = smithy_http::header::read_many(headers)?; - if var_22.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -312,7 +290,6 @@ pub fn deser_header_get_layer_version_by_arn_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_23: Vec = smithy_http::header::read_many(headers)?; - if var_23.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -326,7 +303,6 @@ pub fn deser_header_get_layer_version_policy_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_24: Vec = smithy_http::header::read_many(headers)?; - if var_24.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -340,7 +316,6 @@ pub fn deser_header_get_policy_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_25: Vec = smithy_http::header::read_many(headers)?; - if var_25.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -354,7 +329,6 @@ pub fn deser_header_get_provisioned_concurrency_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_26: Vec = smithy_http::header::read_many(headers)?; - if var_26.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -368,7 +342,6 @@ pub fn deser_header_invoke_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_27: Vec = smithy_http::header::read_many(headers)?; - if var_27.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -382,7 +355,6 @@ pub fn deser_header_invoke_function_error( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("X-Amz-Function-Error").iter(); let var_28: Vec = smithy_http::header::read_many(headers)?; - if var_28.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -396,7 +368,6 @@ pub fn deser_header_invoke_log_result( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("X-Amz-Log-Result").iter(); let var_29: Vec = smithy_http::header::read_many(headers)?; - if var_29.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -418,7 +389,6 @@ pub fn deser_header_invoke_executed_version( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("X-Amz-Executed-Version").iter(); let var_30: Vec = smithy_http::header::read_many(headers)?; - if var_30.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -432,7 +402,6 @@ pub fn deser_header_list_aliases_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_31: Vec = smithy_http::header::read_many(headers)?; - if var_31.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -446,7 +415,6 @@ pub fn deser_header_list_event_source_mappings_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_32: Vec = smithy_http::header::read_many(headers)?; - if var_32.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -460,7 +428,6 @@ pub fn deser_header_list_function_event_invoke_configs_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_33: Vec = smithy_http::header::read_many(headers)?; - if var_33.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -474,7 +441,6 @@ pub fn deser_header_list_functions_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_34: Vec = smithy_http::header::read_many(headers)?; - if var_34.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -488,7 +454,6 @@ pub fn deser_header_list_layers_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_35: Vec = smithy_http::header::read_many(headers)?; - if var_35.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -502,7 +467,6 @@ pub fn deser_header_list_layer_versions_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_36: Vec = smithy_http::header::read_many(headers)?; - if var_36.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -516,7 +480,6 @@ pub fn deser_header_list_provisioned_concurrency_configs_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_37: Vec = smithy_http::header::read_many(headers)?; - if var_37.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -530,7 +493,6 @@ pub fn deser_header_list_tags_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_38: Vec = smithy_http::header::read_many(headers)?; - if var_38.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -544,7 +506,6 @@ pub fn deser_header_list_versions_by_function_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_39: Vec = smithy_http::header::read_many(headers)?; - if var_39.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -558,7 +519,6 @@ pub fn deser_header_publish_layer_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_40: Vec = smithy_http::header::read_many(headers)?; - if var_40.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -572,7 +532,6 @@ pub fn deser_header_publish_version_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_41: Vec = smithy_http::header::read_many(headers)?; - if var_41.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -586,7 +545,6 @@ pub fn deser_header_put_function_code_signing_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_42: Vec = smithy_http::header::read_many(headers)?; - if var_42.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -600,7 +558,6 @@ pub fn deser_header_put_function_concurrency_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_43: Vec = smithy_http::header::read_many(headers)?; - if var_43.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -614,7 +571,6 @@ pub fn deser_header_put_function_event_invoke_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_44: Vec = smithy_http::header::read_many(headers)?; - if var_44.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -628,7 +584,6 @@ pub fn deser_header_put_provisioned_concurrency_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_45: Vec = smithy_http::header::read_many(headers)?; - if var_45.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -642,7 +597,6 @@ pub fn deser_header_remove_layer_version_permission_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_46: Vec = smithy_http::header::read_many(headers)?; - if var_46.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -656,7 +610,6 @@ pub fn deser_header_remove_permission_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_47: Vec = smithy_http::header::read_many(headers)?; - if var_47.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -670,7 +623,6 @@ pub fn deser_header_tag_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_48: Vec = smithy_http::header::read_many(headers)?; - if var_48.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -684,7 +636,6 @@ pub fn deser_header_untag_resource_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_49: Vec = smithy_http::header::read_many(headers)?; - if var_49.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -698,7 +649,6 @@ pub fn deser_header_update_alias_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_50: Vec = smithy_http::header::read_many(headers)?; - if var_50.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -712,7 +662,6 @@ pub fn deser_header_update_event_source_mapping_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_51: Vec = smithy_http::header::read_many(headers)?; - if var_51.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -726,7 +675,6 @@ pub fn deser_header_update_function_code_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_52: Vec = smithy_http::header::read_many(headers)?; - if var_52.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -740,7 +688,6 @@ pub fn deser_header_update_function_configuration_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_53: Vec = smithy_http::header::read_many(headers)?; - if var_53.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -754,7 +701,6 @@ pub fn deser_header_update_function_event_invoke_config_retry_after_seconds( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Retry-After").iter(); let var_54: Vec = smithy_http::header::read_many(headers)?; - if var_54.len() > 1 { Err(smithy_http::header::ParseError) } else { diff --git a/sdk/lambda/src/input.rs b/sdk/lambda/src/input.rs index a31d7ac002f0..895ca7f2e4f6 100644 --- a/sdk/lambda/src/input.rs +++ b/sdk/lambda/src/input.rs @@ -116,48 +116,38 @@ impl AddLayerVersionPermissionInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_add_layer_version_permission_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_add_layer_version_permission(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::AddLayerVersionPermission::new(), @@ -166,7 +156,6 @@ impl AddLayerVersionPermissionInput { "AddLayerVersionPermission", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -378,46 +367,38 @@ impl AddPermissionInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_add_permission_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_add_permission(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::AddPermission::new(), @@ -426,7 +407,6 @@ impl AddPermissionInput { "AddPermission", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -591,46 +571,38 @@ impl CreateAliasInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_alias_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_alias(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateAlias::new(), @@ -639,7 +611,6 @@ impl CreateAliasInput { "CreateAlias", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -756,49 +727,38 @@ impl CreateCodeSigningConfigInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_code_signing_config_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_code_signing_config(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateCodeSigningConfig::new(), @@ -807,7 +767,6 @@ impl CreateCodeSigningConfigInput { "CreateCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1192,49 +1151,38 @@ impl CreateEventSourceMappingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_event_source_mapping_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_event_source_mapping(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateEventSourceMapping::new(), @@ -1243,7 +1191,6 @@ impl CreateEventSourceMappingInput { "CreateEventSourceMapping", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1608,46 +1555,37 @@ impl CreateFunctionInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_function_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_function(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateFunction::new(), @@ -1656,7 +1594,6 @@ impl CreateFunctionInput { "CreateFunction", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1771,41 +1708,33 @@ impl DeleteAliasInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteAlias::new(), @@ -1814,7 +1743,6 @@ impl DeleteAliasInput { "DeleteAlias", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1906,41 +1834,33 @@ impl DeleteCodeSigningConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteCodeSigningConfig::new(), @@ -1949,7 +1869,6 @@ impl DeleteCodeSigningConfigInput { "DeleteCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2041,41 +1960,33 @@ impl DeleteEventSourceMappingInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteEventSourceMapping::new(), @@ -2084,7 +1995,6 @@ impl DeleteEventSourceMappingInput { "DeleteEventSourceMapping", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2204,41 +2114,33 @@ impl DeleteFunctionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteFunction::new(), @@ -2247,7 +2149,6 @@ impl DeleteFunctionInput { "DeleteFunction", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2366,41 +2267,33 @@ impl DeleteFunctionCodeSigningConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteFunctionCodeSigningConfig::new(), @@ -2409,7 +2302,6 @@ impl DeleteFunctionCodeSigningConfigInput { "DeleteFunctionCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2519,41 +2411,33 @@ impl DeleteFunctionConcurrencyInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteFunctionConcurrency::new(), @@ -2562,7 +2446,6 @@ impl DeleteFunctionConcurrencyInput { "DeleteFunctionConcurrency", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2685,41 +2568,33 @@ impl DeleteFunctionEventInvokeConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteFunctionEventInvokeConfig::new(), @@ -2728,7 +2603,6 @@ impl DeleteFunctionEventInvokeConfigInput { "DeleteFunctionEventInvokeConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2837,41 +2711,33 @@ impl DeleteLayerVersionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteLayerVersion::new(), @@ -2880,7 +2746,6 @@ impl DeleteLayerVersionInput { "DeleteLayerVersion", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3004,41 +2869,33 @@ impl DeleteProvisionedConcurrencyConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteProvisionedConcurrencyConfig::new(), @@ -3047,7 +2904,6 @@ impl DeleteProvisionedConcurrencyConfigInput { "DeleteProvisionedConcurrencyConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3132,41 +2988,33 @@ impl GetAccountSettingsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetAccountSettings::new(), @@ -3175,7 +3023,6 @@ impl GetAccountSettingsInput { "GetAccountSettings", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3290,45 +3137,36 @@ impl GetAliasInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetAlias::new()) .with_metadata(smithy_http::operation::Metadata::new("GetAlias", "lambda")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3420,41 +3258,33 @@ impl GetCodeSigningConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetCodeSigningConfig::new(), @@ -3463,7 +3293,6 @@ impl GetCodeSigningConfigInput { "GetCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3555,41 +3384,33 @@ impl GetEventSourceMappingInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetEventSourceMapping::new(), @@ -3598,7 +3419,6 @@ impl GetEventSourceMappingInput { "GetEventSourceMapping", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3718,41 +3538,33 @@ impl GetFunctionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetFunction::new(), @@ -3761,7 +3573,6 @@ impl GetFunctionInput { "GetFunction", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3880,41 +3691,33 @@ impl GetFunctionCodeSigningConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetFunctionCodeSigningConfig::new(), @@ -3923,7 +3726,6 @@ impl GetFunctionCodeSigningConfigInput { "GetFunctionCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4033,41 +3835,33 @@ impl GetFunctionConcurrencyInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetFunctionConcurrency::new(), @@ -4076,7 +3870,6 @@ impl GetFunctionConcurrencyInput { "GetFunctionConcurrency", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4197,41 +3990,33 @@ impl GetFunctionConfigurationInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetFunctionConfiguration::new(), @@ -4240,7 +4025,6 @@ impl GetFunctionConfigurationInput { "GetFunctionConfiguration", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4370,41 +4154,33 @@ impl GetFunctionEventInvokeConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetFunctionEventInvokeConfig::new(), @@ -4413,7 +4189,6 @@ impl GetFunctionEventInvokeConfigInput { "GetFunctionEventInvokeConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4522,41 +4297,33 @@ impl GetLayerVersionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetLayerVersion::new(), @@ -4565,7 +4332,6 @@ impl GetLayerVersionInput { "GetLayerVersion", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4655,41 +4421,33 @@ impl GetLayerVersionByArnInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetLayerVersionByArn::new(), @@ -4698,7 +4456,6 @@ impl GetLayerVersionByArnInput { "GetLayerVersionByArn", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4803,41 +4560,33 @@ impl GetLayerVersionPolicyInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetLayerVersionPolicy::new(), @@ -4846,7 +4595,6 @@ impl GetLayerVersionPolicyInput { "GetLayerVersionPolicy", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4967,45 +4715,36 @@ impl GetPolicyInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetPolicy::new()) .with_metadata(smithy_http::operation::Metadata::new("GetPolicy", "lambda")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5135,41 +4874,33 @@ impl GetProvisionedConcurrencyConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetProvisionedConcurrencyConfig::new(), @@ -5178,7 +4909,6 @@ impl GetProvisionedConcurrencyConfigInput { "GetProvisionedConcurrencyConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5368,45 +5098,36 @@ impl InvokeInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_invoke_input(self.payload)?; 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::Invoke::new()) .with_metadata(smithy_http::operation::Metadata::new("Invoke", "lambda")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5594,41 +5315,33 @@ impl InvokeAsyncInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_invoke_async_input(self.invoke_args)?; 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::InvokeAsync::new(), @@ -5637,7 +5350,6 @@ impl InvokeAsyncInput { "InvokeAsync", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5782,41 +5494,33 @@ impl ListAliasesInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListAliases::new(), @@ -5825,7 +5529,6 @@ impl ListAliasesInput { "ListAliases", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5943,41 +5646,33 @@ impl ListCodeSigningConfigsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListCodeSigningConfigs::new(), @@ -5986,7 +5681,6 @@ impl ListCodeSigningConfigsInput { "ListCodeSigningConfigs", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6159,41 +5853,33 @@ impl ListEventSourceMappingsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListEventSourceMappings::new(), @@ -6202,7 +5888,6 @@ impl ListEventSourceMappingsInput { "ListEventSourceMappings", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6347,41 +6032,33 @@ impl ListFunctionEventInvokeConfigsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListFunctionEventInvokeConfigs::new(), @@ -6390,7 +6067,6 @@ impl ListFunctionEventInvokeConfigsInput { "ListFunctionEventInvokeConfigs", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6529,41 +6205,33 @@ impl ListFunctionsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListFunctions::new(), @@ -6572,7 +6240,6 @@ impl ListFunctionsInput { "ListFunctions", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6701,41 +6368,33 @@ impl ListFunctionsByCodeSigningConfigInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListFunctionsByCodeSigningConfig::new(), @@ -6744,7 +6403,6 @@ impl ListFunctionsByCodeSigningConfigInput { "ListFunctionsByCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6870,41 +6528,33 @@ impl ListLayersInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListLayers::new(), @@ -6913,7 +6563,6 @@ impl ListLayersInput { "ListLayers", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7051,41 +6700,33 @@ impl ListLayerVersionsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListLayerVersions::new(), @@ -7094,7 +6735,6 @@ impl ListLayerVersionsInput { "ListLayerVersions", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7244,41 +6884,33 @@ impl ListProvisionedConcurrencyConfigsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListProvisionedConcurrencyConfigs::new(), @@ -7287,7 +6919,6 @@ impl ListProvisionedConcurrencyConfigsInput { "ListProvisionedConcurrencyConfigs", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7388,45 +7019,36 @@ impl ListTagsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::ListTags::new()) .with_metadata(smithy_http::operation::Metadata::new("ListTags", "lambda")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7558,41 +7180,33 @@ impl ListVersionsByFunctionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListVersionsByFunction::new(), @@ -7601,7 +7215,6 @@ impl ListVersionsByFunctionInput { "ListVersionsByFunction", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7764,47 +7377,38 @@ impl PublishLayerVersionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_publish_layer_version_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_publish_layer_version(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PublishLayerVersion::new(), @@ -7813,7 +7417,6 @@ impl PublishLayerVersionInput { "PublishLayerVersion", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7956,46 +7559,37 @@ impl PublishVersionInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_publish_version_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_publish_version(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PublishVersion::new(), @@ -8004,7 +7598,6 @@ impl PublishVersionInput { "PublishVersion", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8128,45 +7721,39 @@ impl PutFunctionCodeSigningConfigInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_function_code_signing_config_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_put_function_code_signing_config(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutFunctionCodeSigningConfig::new(), @@ -8175,7 +7762,6 @@ impl PutFunctionCodeSigningConfigInput { "PutFunctionCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8294,49 +7880,38 @@ impl PutFunctionConcurrencyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_function_concurrency_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_put_function_concurrency(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutFunctionConcurrency::new(), @@ -8345,7 +7920,6 @@ impl PutFunctionConcurrencyInput { "PutFunctionConcurrency", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8523,45 +8097,39 @@ impl PutFunctionEventInvokeConfigInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_function_event_invoke_config_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_put_function_event_invoke_config(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutFunctionEventInvokeConfig::new(), @@ -8570,7 +8138,6 @@ impl PutFunctionEventInvokeConfigInput { "PutFunctionEventInvokeConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8712,45 +8279,39 @@ impl PutProvisionedConcurrencyConfigInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_provisioned_concurrency_config_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_put_provisioned_concurrency_config(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutProvisionedConcurrencyConfig::new(), @@ -8759,7 +8320,6 @@ impl PutProvisionedConcurrencyConfigInput { "PutProvisionedConcurrencyConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8893,41 +8453,33 @@ impl RemoveLayerVersionPermissionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RemoveLayerVersionPermission::new(), @@ -8936,7 +8488,6 @@ impl RemoveLayerVersionPermissionInput { "RemoveLayerVersionPermission", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9089,41 +8640,33 @@ impl RemovePermissionInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RemovePermission::new(), @@ -9132,7 +8675,6 @@ impl RemovePermissionInput { "RemovePermission", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9254,46 +8796,38 @@ impl TagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_tag_resource_input_body(&self) - .map_err(|err| { + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TagResource::new(), @@ -9302,7 +8836,6 @@ impl TagResourceInput { "TagResource", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9407,41 +8940,33 @@ impl UntagResourceInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UntagResource::new(), @@ -9450,7 +8975,6 @@ impl UntagResourceInput { "UntagResource", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9629,46 +9153,38 @@ impl UpdateAliasInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_alias_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_alias(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateAlias::new(), @@ -9677,7 +9193,6 @@ impl UpdateAliasInput { "UpdateAlias", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9806,49 +9321,38 @@ impl UpdateCodeSigningConfigInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_code_signing_config_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_code_signing_config(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateCodeSigningConfig::new(), @@ -9857,7 +9361,6 @@ impl UpdateCodeSigningConfigInput { "UpdateCodeSigningConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10149,49 +9652,38 @@ impl UpdateEventSourceMappingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_event_source_mapping_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_event_source_mapping(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateEventSourceMapping::new(), @@ -10200,7 +9692,6 @@ impl UpdateEventSourceMappingInput { "UpdateEventSourceMapping", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10403,47 +9894,38 @@ impl UpdateFunctionCodeInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_function_code_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_function_code(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateFunctionCode::new(), @@ -10452,7 +9934,6 @@ impl UpdateFunctionCodeInput { "UpdateFunctionCode", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10764,48 +10245,38 @@ impl UpdateFunctionConfigurationInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_update_function_configuration_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_update_function_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateFunctionConfiguration::new(), @@ -10814,7 +10285,6 @@ impl UpdateFunctionConfigurationInput { "UpdateFunctionConfiguration", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10992,45 +10462,41 @@ impl UpdateFunctionEventInvokeConfigInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_function_event_invoke_config_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_update_function_event_invoke_config( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateFunctionEventInvokeConfig::new(), @@ -11039,7 +10505,6 @@ impl UpdateFunctionEventInvokeConfigInput { "UpdateFunctionEventInvokeConfig", "lambda", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) diff --git a/sdk/lambda/src/json_deser.rs b/sdk/lambda/src/json_deser.rs index c23e7f14522d..685ee01b940d 100644 --- a/sdk/lambda/src/json_deser.rs +++ b/sdk/lambda/src/json_deser.rs @@ -21,7 +21,6 @@ pub fn invalid_parameter_value_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -39,7 +38,6 @@ pub fn policy_length_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -57,7 +55,6 @@ pub fn precondition_failed_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -75,7 +72,6 @@ pub fn resource_conflict_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -93,7 +89,6 @@ pub fn resource_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -111,7 +106,6 @@ pub fn service_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -129,7 +123,6 @@ pub fn too_many_requests_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_retry_after_seconds(parsed_body.retry_after_seconds); builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); @@ -149,7 +142,6 @@ pub fn add_layer_version_permission_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_statement(parsed_body.statement); builder = builder.set_revision_id(parsed_body.revision_id); Ok(builder) @@ -167,7 +159,6 @@ pub fn add_permission_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_statement(parsed_body.statement); Ok(builder) } @@ -184,7 +175,6 @@ pub fn create_alias_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_alias_arn(parsed_body.alias_arn); builder = builder.set_name(parsed_body.name); builder = builder.set_function_version(parsed_body.function_version); @@ -206,7 +196,6 @@ pub fn create_code_signing_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_code_signing_config(parsed_body.code_signing_config); Ok(builder) } @@ -223,7 +212,6 @@ pub fn create_event_source_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_uuid(parsed_body.uuid); builder = builder.set_starting_position(parsed_body.starting_position); builder = builder.set_starting_position_timestamp(parsed_body.starting_position_timestamp); @@ -263,7 +251,6 @@ pub fn code_signing_config_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -281,7 +268,6 @@ pub fn code_storage_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -299,7 +285,6 @@ pub fn code_verification_failed_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -317,7 +302,6 @@ pub fn invalid_code_signature_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -335,7 +319,6 @@ pub fn create_function_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_function_name(parsed_body.function_name); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_runtime(parsed_body.runtime); @@ -383,7 +366,6 @@ pub fn resource_in_use_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -401,7 +383,6 @@ pub fn delete_event_source_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_uuid(parsed_body.uuid); builder = builder.set_starting_position(parsed_body.starting_position); builder = builder.set_starting_position_timestamp(parsed_body.starting_position_timestamp); @@ -441,7 +422,6 @@ pub fn get_account_settings_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_account_limit(parsed_body.account_limit); builder = builder.set_account_usage(parsed_body.account_usage); Ok(builder) @@ -459,7 +439,6 @@ pub fn get_alias_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_alias_arn(parsed_body.alias_arn); builder = builder.set_name(parsed_body.name); builder = builder.set_function_version(parsed_body.function_version); @@ -481,7 +460,6 @@ pub fn get_code_signing_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_code_signing_config(parsed_body.code_signing_config); Ok(builder) } @@ -498,7 +476,6 @@ pub fn get_event_source_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_uuid(parsed_body.uuid); builder = builder.set_starting_position(parsed_body.starting_position); builder = builder.set_starting_position_timestamp(parsed_body.starting_position_timestamp); @@ -538,7 +515,6 @@ pub fn get_function_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_configuration(parsed_body.configuration); builder = builder.set_code(parsed_body.code); builder = builder.set_tags(parsed_body.tags); @@ -558,7 +534,6 @@ pub fn get_function_code_signing_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_code_signing_config_arn(parsed_body.code_signing_config_arn); builder = builder.set_function_name(parsed_body.function_name); Ok(builder) @@ -576,7 +551,6 @@ pub fn get_function_concurrency_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_reserved_concurrent_executions(parsed_body.reserved_concurrent_executions); Ok(builder) @@ -594,7 +568,6 @@ pub fn get_function_configuration_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_function_name(parsed_body.function_name); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_runtime(parsed_body.runtime); @@ -642,7 +615,6 @@ pub fn get_function_event_invoke_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_last_modified(parsed_body.last_modified); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_maximum_retry_attempts(parsed_body.maximum_retry_attempts); @@ -663,7 +635,6 @@ pub fn get_layer_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_content(parsed_body.content); builder = builder.set_layer_arn(parsed_body.layer_arn); builder = builder.set_layer_version_arn(parsed_body.layer_version_arn); @@ -687,7 +658,6 @@ pub fn get_layer_version_by_arn_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_content(parsed_body.content); builder = builder.set_layer_arn(parsed_body.layer_arn); builder = builder.set_layer_version_arn(parsed_body.layer_version_arn); @@ -711,7 +681,6 @@ pub fn get_layer_version_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_policy(parsed_body.policy); builder = builder.set_revision_id(parsed_body.revision_id); Ok(builder) @@ -729,7 +698,6 @@ pub fn get_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_policy(parsed_body.policy); builder = builder.set_revision_id(parsed_body.revision_id); Ok(builder) @@ -748,7 +716,6 @@ pub fn provisioned_concurrency_config_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -767,7 +734,6 @@ pub fn get_provisioned_concurrency_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_requested_provisioned_concurrent_executions( parsed_body.requested_provisioned_concurrent_executions, ); @@ -795,7 +761,6 @@ pub fn ec2_access_denied_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -813,7 +778,6 @@ pub fn ec2_throttled_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -831,7 +795,6 @@ pub fn ec2_unexpected_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); builder = builder.set_ec2_error_code(parsed_body.ec2_error_code); @@ -850,7 +813,6 @@ pub fn efsio_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -868,7 +830,6 @@ pub fn efs_mount_connectivity_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -886,7 +847,6 @@ pub fn efs_mount_failure_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -904,7 +864,6 @@ pub fn efs_mount_timeout_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -922,7 +881,6 @@ pub fn eni_limit_reached_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -940,7 +898,6 @@ pub fn invalid_request_content_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -958,7 +915,6 @@ pub fn invalid_runtime_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -976,7 +932,6 @@ pub fn invalid_security_group_id_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -994,7 +949,6 @@ pub fn invalid_subnet_id_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1012,7 +966,6 @@ pub fn invalid_zip_file_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1030,7 +983,6 @@ pub fn kms_access_denied_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1048,7 +1000,6 @@ pub fn kms_disabled_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1066,7 +1017,6 @@ pub fn kms_invalid_state_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1084,7 +1034,6 @@ pub fn kms_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1102,7 +1051,6 @@ pub fn request_too_large_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1120,7 +1068,6 @@ pub fn resource_not_ready_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1138,7 +1085,6 @@ pub fn subnet_ip_address_limit_reached_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1156,7 +1102,6 @@ pub fn unsupported_media_type_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type(parsed_body.r#type); builder = builder.set_message(parsed_body.message); Ok(builder) @@ -1174,7 +1119,6 @@ pub fn list_aliases_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_aliases(parsed_body.aliases); Ok(builder) @@ -1192,7 +1136,6 @@ pub fn list_code_signing_configs_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_code_signing_configs(parsed_body.code_signing_configs); Ok(builder) @@ -1210,7 +1153,6 @@ pub fn list_event_source_mappings_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_event_source_mappings(parsed_body.event_source_mappings); Ok(builder) @@ -1229,7 +1171,6 @@ pub fn list_function_event_invoke_configs_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_function_event_invoke_configs(parsed_body.function_event_invoke_configs); builder = builder.set_next_marker(parsed_body.next_marker); Ok(builder) @@ -1247,7 +1188,6 @@ pub fn list_functions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_functions(parsed_body.functions); Ok(builder) @@ -1267,7 +1207,6 @@ pub fn list_functions_by_code_signing_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_function_arns(parsed_body.function_arns); Ok(builder) @@ -1285,7 +1224,6 @@ pub fn list_layers_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_layers(parsed_body.layers); Ok(builder) @@ -1303,7 +1241,6 @@ pub fn list_layer_versions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_layer_versions(parsed_body.layer_versions); Ok(builder) @@ -1323,7 +1260,6 @@ pub fn list_provisioned_concurrency_configs_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_provisioned_concurrency_configs(parsed_body.provisioned_concurrency_configs); builder = builder.set_next_marker(parsed_body.next_marker); @@ -1342,7 +1278,6 @@ pub fn list_tags_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tags(parsed_body.tags); Ok(builder) } @@ -1359,7 +1294,6 @@ pub fn list_versions_by_function_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_marker(parsed_body.next_marker); builder = builder.set_versions(parsed_body.versions); Ok(builder) @@ -1377,7 +1311,6 @@ pub fn publish_layer_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_content(parsed_body.content); builder = builder.set_layer_arn(parsed_body.layer_arn); builder = builder.set_layer_version_arn(parsed_body.layer_version_arn); @@ -1401,7 +1334,6 @@ pub fn publish_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_function_name(parsed_body.function_name); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_runtime(parsed_body.runtime); @@ -1449,7 +1381,6 @@ pub fn put_function_code_signing_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_code_signing_config_arn(parsed_body.code_signing_config_arn); builder = builder.set_function_name(parsed_body.function_name); Ok(builder) @@ -1467,7 +1398,6 @@ pub fn put_function_concurrency_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_reserved_concurrent_executions(parsed_body.reserved_concurrent_executions); Ok(builder) @@ -1485,7 +1415,6 @@ pub fn put_function_event_invoke_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_last_modified(parsed_body.last_modified); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_maximum_retry_attempts(parsed_body.maximum_retry_attempts); @@ -1507,7 +1436,6 @@ pub fn put_provisioned_concurrency_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_requested_provisioned_concurrent_executions( parsed_body.requested_provisioned_concurrent_executions, ); @@ -1535,7 +1463,6 @@ pub fn update_alias_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_alias_arn(parsed_body.alias_arn); builder = builder.set_name(parsed_body.name); builder = builder.set_function_version(parsed_body.function_version); @@ -1557,7 +1484,6 @@ pub fn update_code_signing_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_code_signing_config(parsed_body.code_signing_config); Ok(builder) } @@ -1574,7 +1500,6 @@ pub fn update_event_source_mapping_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_uuid(parsed_body.uuid); builder = builder.set_starting_position(parsed_body.starting_position); builder = builder.set_starting_position_timestamp(parsed_body.starting_position_timestamp); @@ -1614,7 +1539,6 @@ pub fn update_function_code_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_function_name(parsed_body.function_name); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_runtime(parsed_body.runtime); @@ -1662,7 +1586,6 @@ pub fn update_function_configuration_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_function_name(parsed_body.function_name); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_runtime(parsed_body.runtime); @@ -1711,7 +1634,6 @@ pub fn update_function_event_invoke_config_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_last_modified(parsed_body.last_modified); builder = builder.set_function_arn(parsed_body.function_arn); builder = builder.set_maximum_retry_attempts(parsed_body.maximum_retry_attempts); diff --git a/sdk/lambda/src/json_ser.rs b/sdk/lambda/src/json_ser.rs new file mode 100644 index 000000000000..1f5828722686 --- /dev/null +++ b/sdk/lambda/src/json_ser.rs @@ -0,0 +1,867 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_add_layer_version_permission_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::AddLayerVersionPermissionInput, +) { + if let Some(var_1) = &input.statement_id { + object.key("StatementId").string(var_1); + } + if let Some(var_2) = &input.action { + object.key("Action").string(var_2); + } + if let Some(var_3) = &input.principal { + object.key("Principal").string(var_3); + } + if let Some(var_4) = &input.organization_id { + object.key("OrganizationId").string(var_4); + } +} + +pub fn serialize_structure_add_permission_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::AddPermissionInput, +) { + if let Some(var_5) = &input.statement_id { + object.key("StatementId").string(var_5); + } + if let Some(var_6) = &input.action { + object.key("Action").string(var_6); + } + if let Some(var_7) = &input.principal { + object.key("Principal").string(var_7); + } + if let Some(var_8) = &input.source_arn { + object.key("SourceArn").string(var_8); + } + if let Some(var_9) = &input.source_account { + object.key("SourceAccount").string(var_9); + } + if let Some(var_10) = &input.event_source_token { + object.key("EventSourceToken").string(var_10); + } + if let Some(var_11) = &input.revision_id { + object.key("RevisionId").string(var_11); + } +} + +pub fn serialize_structure_create_alias_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAliasInput, +) { + if let Some(var_12) = &input.name { + object.key("Name").string(var_12); + } + if let Some(var_13) = &input.function_version { + object.key("FunctionVersion").string(var_13); + } + if let Some(var_14) = &input.description { + object.key("Description").string(var_14); + } + if let Some(var_15) = &input.routing_config { + let mut object_16 = object.key("RoutingConfig").start_object(); + crate::json_ser::serialize_structure_alias_routing_configuration(&mut object_16, var_15); + object_16.finish(); + } +} + +pub fn serialize_structure_create_code_signing_config_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateCodeSigningConfigInput, +) { + if let Some(var_17) = &input.description { + object.key("Description").string(var_17); + } + if let Some(var_18) = &input.allowed_publishers { + let mut object_19 = object.key("AllowedPublishers").start_object(); + crate::json_ser::serialize_structure_allowed_publishers(&mut object_19, var_18); + object_19.finish(); + } + if let Some(var_20) = &input.code_signing_policies { + let mut object_21 = object.key("CodeSigningPolicies").start_object(); + crate::json_ser::serialize_structure_code_signing_policies(&mut object_21, var_20); + object_21.finish(); + } +} + +pub fn serialize_structure_create_event_source_mapping_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateEventSourceMappingInput, +) { + if let Some(var_22) = &input.event_source_arn { + object.key("EventSourceArn").string(var_22); + } + if let Some(var_23) = &input.function_name { + object.key("FunctionName").string(var_23); + } + if let Some(var_24) = &input.enabled { + object.key("Enabled").boolean(*var_24); + } + if let Some(var_25) = &input.batch_size { + object.key("BatchSize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_25).into()), + ); + } + if let Some(var_26) = &input.maximum_batching_window_in_seconds { + object.key("MaximumBatchingWindowInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_26).into()), + ); + } + if let Some(var_27) = &input.parallelization_factor { + object.key("ParallelizationFactor").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_27).into()), + ); + } + if let Some(var_28) = &input.starting_position { + object.key("StartingPosition").string(var_28.as_str()); + } + if let Some(var_29) = &input.starting_position_timestamp { + object + .key("StartingPositionTimestamp") + .instant(var_29, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_30) = &input.destination_config { + let mut object_31 = object.key("DestinationConfig").start_object(); + crate::json_ser::serialize_structure_destination_config(&mut object_31, var_30); + object_31.finish(); + } + if let Some(var_32) = &input.maximum_record_age_in_seconds { + object.key("MaximumRecordAgeInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_32).into()), + ); + } + if let Some(var_33) = &input.bisect_batch_on_function_error { + object.key("BisectBatchOnFunctionError").boolean(*var_33); + } + if let Some(var_34) = &input.maximum_retry_attempts { + object.key("MaximumRetryAttempts").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_34).into()), + ); + } + if let Some(var_35) = &input.tumbling_window_in_seconds { + object.key("TumblingWindowInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_35).into()), + ); + } + if let Some(var_36) = &input.topics { + let mut array_37 = object.key("Topics").start_array(); + for item_38 in var_36 { + array_37.value().string(item_38); + } + array_37.finish(); + } + if let Some(var_39) = &input.queues { + let mut array_40 = object.key("Queues").start_array(); + for item_41 in var_39 { + array_40.value().string(item_41); + } + array_40.finish(); + } + if let Some(var_42) = &input.source_access_configurations { + let mut array_43 = object.key("SourceAccessConfigurations").start_array(); + for item_44 in var_42 { + let mut object_45 = array_43.value().start_object(); + crate::json_ser::serialize_structure_source_access_configuration( + &mut object_45, + item_44, + ); + object_45.finish(); + } + array_43.finish(); + } + if let Some(var_46) = &input.self_managed_event_source { + let mut object_47 = object.key("SelfManagedEventSource").start_object(); + crate::json_ser::serialize_structure_self_managed_event_source(&mut object_47, var_46); + object_47.finish(); + } + if let Some(var_48) = &input.function_response_types { + let mut array_49 = object.key("FunctionResponseTypes").start_array(); + for item_50 in var_48 { + array_49.value().string(item_50.as_str()); + } + array_49.finish(); + } +} + +pub fn serialize_structure_create_function_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateFunctionInput, +) { + if let Some(var_51) = &input.function_name { + object.key("FunctionName").string(var_51); + } + if let Some(var_52) = &input.runtime { + object.key("Runtime").string(var_52.as_str()); + } + if let Some(var_53) = &input.role { + object.key("Role").string(var_53); + } + if let Some(var_54) = &input.handler { + object.key("Handler").string(var_54); + } + if let Some(var_55) = &input.code { + let mut object_56 = object.key("Code").start_object(); + crate::json_ser::serialize_structure_function_code(&mut object_56, var_55); + object_56.finish(); + } + if let Some(var_57) = &input.description { + object.key("Description").string(var_57); + } + if let Some(var_58) = &input.timeout { + object.key("Timeout").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_58).into()), + ); + } + if let Some(var_59) = &input.memory_size { + object.key("MemorySize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_59).into()), + ); + } + object.key("Publish").boolean(input.publish); + if let Some(var_60) = &input.vpc_config { + let mut object_61 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_61, var_60); + object_61.finish(); + } + if let Some(var_62) = &input.package_type { + object.key("PackageType").string(var_62.as_str()); + } + if let Some(var_63) = &input.dead_letter_config { + let mut object_64 = object.key("DeadLetterConfig").start_object(); + crate::json_ser::serialize_structure_dead_letter_config(&mut object_64, var_63); + object_64.finish(); + } + if let Some(var_65) = &input.environment { + let mut object_66 = object.key("Environment").start_object(); + crate::json_ser::serialize_structure_environment(&mut object_66, var_65); + object_66.finish(); + } + if let Some(var_67) = &input.kms_key_arn { + object.key("KMSKeyArn").string(var_67); + } + if let Some(var_68) = &input.tracing_config { + let mut object_69 = object.key("TracingConfig").start_object(); + crate::json_ser::serialize_structure_tracing_config(&mut object_69, var_68); + object_69.finish(); + } + if let Some(var_70) = &input.tags { + let mut object_71 = object.key("Tags").start_object(); + for (key_72, value_73) in var_70 { + object_71.key(key_72).string(value_73); + } + object_71.finish(); + } + if let Some(var_74) = &input.layers { + let mut array_75 = object.key("Layers").start_array(); + for item_76 in var_74 { + array_75.value().string(item_76); + } + array_75.finish(); + } + if let Some(var_77) = &input.file_system_configs { + let mut array_78 = object.key("FileSystemConfigs").start_array(); + for item_79 in var_77 { + let mut object_80 = array_78.value().start_object(); + crate::json_ser::serialize_structure_file_system_config(&mut object_80, item_79); + object_80.finish(); + } + array_78.finish(); + } + if let Some(var_81) = &input.image_config { + let mut object_82 = object.key("ImageConfig").start_object(); + crate::json_ser::serialize_structure_image_config(&mut object_82, var_81); + object_82.finish(); + } + if let Some(var_83) = &input.code_signing_config_arn { + object.key("CodeSigningConfigArn").string(var_83); + } +} + +pub fn serialize_structure_publish_layer_version_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PublishLayerVersionInput, +) { + if let Some(var_84) = &input.description { + object.key("Description").string(var_84); + } + if let Some(var_85) = &input.content { + let mut object_86 = object.key("Content").start_object(); + crate::json_ser::serialize_structure_layer_version_content_input(&mut object_86, var_85); + object_86.finish(); + } + if let Some(var_87) = &input.compatible_runtimes { + let mut array_88 = object.key("CompatibleRuntimes").start_array(); + for item_89 in var_87 { + array_88.value().string(item_89.as_str()); + } + array_88.finish(); + } + if let Some(var_90) = &input.license_info { + object.key("LicenseInfo").string(var_90); + } +} + +pub fn serialize_structure_publish_version_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PublishVersionInput, +) { + if let Some(var_91) = &input.code_sha256 { + object.key("CodeSha256").string(var_91); + } + if let Some(var_92) = &input.description { + object.key("Description").string(var_92); + } + if let Some(var_93) = &input.revision_id { + object.key("RevisionId").string(var_93); + } +} + +pub fn serialize_structure_put_function_code_signing_config_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutFunctionCodeSigningConfigInput, +) { + if let Some(var_94) = &input.code_signing_config_arn { + object.key("CodeSigningConfigArn").string(var_94); + } +} + +pub fn serialize_structure_put_function_concurrency_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutFunctionConcurrencyInput, +) { + if let Some(var_95) = &input.reserved_concurrent_executions { + object.key("ReservedConcurrentExecutions").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_95).into()), + ); + } +} + +pub fn serialize_structure_put_function_event_invoke_config_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutFunctionEventInvokeConfigInput, +) { + if let Some(var_96) = &input.maximum_retry_attempts { + object.key("MaximumRetryAttempts").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_96).into()), + ); + } + if let Some(var_97) = &input.maximum_event_age_in_seconds { + object.key("MaximumEventAgeInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_97).into()), + ); + } + if let Some(var_98) = &input.destination_config { + let mut object_99 = object.key("DestinationConfig").start_object(); + crate::json_ser::serialize_structure_destination_config(&mut object_99, var_98); + object_99.finish(); + } +} + +pub fn serialize_structure_put_provisioned_concurrency_config_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutProvisionedConcurrencyConfigInput, +) { + if let Some(var_100) = &input.provisioned_concurrent_executions { + object.key("ProvisionedConcurrentExecutions").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_100).into()), + ); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_101) = &input.tags { + let mut object_102 = object.key("Tags").start_object(); + for (key_103, value_104) in var_101 { + object_102.key(key_103).string(value_104); + } + object_102.finish(); + } +} + +pub fn serialize_structure_update_alias_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAliasInput, +) { + if let Some(var_105) = &input.function_version { + object.key("FunctionVersion").string(var_105); + } + if let Some(var_106) = &input.description { + object.key("Description").string(var_106); + } + if let Some(var_107) = &input.routing_config { + let mut object_108 = object.key("RoutingConfig").start_object(); + crate::json_ser::serialize_structure_alias_routing_configuration(&mut object_108, var_107); + object_108.finish(); + } + if let Some(var_109) = &input.revision_id { + object.key("RevisionId").string(var_109); + } +} + +pub fn serialize_structure_update_code_signing_config_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateCodeSigningConfigInput, +) { + if let Some(var_110) = &input.description { + object.key("Description").string(var_110); + } + if let Some(var_111) = &input.allowed_publishers { + let mut object_112 = object.key("AllowedPublishers").start_object(); + crate::json_ser::serialize_structure_allowed_publishers(&mut object_112, var_111); + object_112.finish(); + } + if let Some(var_113) = &input.code_signing_policies { + let mut object_114 = object.key("CodeSigningPolicies").start_object(); + crate::json_ser::serialize_structure_code_signing_policies(&mut object_114, var_113); + object_114.finish(); + } +} + +pub fn serialize_structure_update_event_source_mapping_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateEventSourceMappingInput, +) { + if let Some(var_115) = &input.function_name { + object.key("FunctionName").string(var_115); + } + if let Some(var_116) = &input.enabled { + object.key("Enabled").boolean(*var_116); + } + if let Some(var_117) = &input.batch_size { + object.key("BatchSize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_117).into()), + ); + } + if let Some(var_118) = &input.maximum_batching_window_in_seconds { + object.key("MaximumBatchingWindowInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_118).into()), + ); + } + if let Some(var_119) = &input.destination_config { + let mut object_120 = object.key("DestinationConfig").start_object(); + crate::json_ser::serialize_structure_destination_config(&mut object_120, var_119); + object_120.finish(); + } + if let Some(var_121) = &input.maximum_record_age_in_seconds { + object.key("MaximumRecordAgeInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_121).into()), + ); + } + if let Some(var_122) = &input.bisect_batch_on_function_error { + object.key("BisectBatchOnFunctionError").boolean(*var_122); + } + if let Some(var_123) = &input.maximum_retry_attempts { + object.key("MaximumRetryAttempts").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_123).into()), + ); + } + if let Some(var_124) = &input.parallelization_factor { + object.key("ParallelizationFactor").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_124).into()), + ); + } + if let Some(var_125) = &input.source_access_configurations { + let mut array_126 = object.key("SourceAccessConfigurations").start_array(); + for item_127 in var_125 { + let mut object_128 = array_126.value().start_object(); + crate::json_ser::serialize_structure_source_access_configuration( + &mut object_128, + item_127, + ); + object_128.finish(); + } + array_126.finish(); + } + if let Some(var_129) = &input.tumbling_window_in_seconds { + object.key("TumblingWindowInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_129).into()), + ); + } + if let Some(var_130) = &input.function_response_types { + let mut array_131 = object.key("FunctionResponseTypes").start_array(); + for item_132 in var_130 { + array_131.value().string(item_132.as_str()); + } + array_131.finish(); + } +} + +pub fn serialize_structure_update_function_code_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateFunctionCodeInput, +) { + if let Some(var_133) = &input.zip_file { + object + .key("ZipFile") + .string_unchecked(&smithy_http::base64::encode(var_133)); + } + if let Some(var_134) = &input.s3_bucket { + object.key("S3Bucket").string(var_134); + } + if let Some(var_135) = &input.s3_key { + object.key("S3Key").string(var_135); + } + if let Some(var_136) = &input.s3_object_version { + object.key("S3ObjectVersion").string(var_136); + } + if let Some(var_137) = &input.image_uri { + object.key("ImageUri").string(var_137); + } + object.key("Publish").boolean(input.publish); + object.key("DryRun").boolean(input.dry_run); + if let Some(var_138) = &input.revision_id { + object.key("RevisionId").string(var_138); + } +} + +pub fn serialize_structure_update_function_configuration_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateFunctionConfigurationInput, +) { + if let Some(var_139) = &input.role { + object.key("Role").string(var_139); + } + if let Some(var_140) = &input.handler { + object.key("Handler").string(var_140); + } + if let Some(var_141) = &input.description { + object.key("Description").string(var_141); + } + if let Some(var_142) = &input.timeout { + object.key("Timeout").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_142).into()), + ); + } + if let Some(var_143) = &input.memory_size { + object.key("MemorySize").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_143).into()), + ); + } + if let Some(var_144) = &input.vpc_config { + let mut object_145 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_145, var_144); + object_145.finish(); + } + if let Some(var_146) = &input.environment { + let mut object_147 = object.key("Environment").start_object(); + crate::json_ser::serialize_structure_environment(&mut object_147, var_146); + object_147.finish(); + } + if let Some(var_148) = &input.runtime { + object.key("Runtime").string(var_148.as_str()); + } + if let Some(var_149) = &input.dead_letter_config { + let mut object_150 = object.key("DeadLetterConfig").start_object(); + crate::json_ser::serialize_structure_dead_letter_config(&mut object_150, var_149); + object_150.finish(); + } + if let Some(var_151) = &input.kms_key_arn { + object.key("KMSKeyArn").string(var_151); + } + if let Some(var_152) = &input.tracing_config { + let mut object_153 = object.key("TracingConfig").start_object(); + crate::json_ser::serialize_structure_tracing_config(&mut object_153, var_152); + object_153.finish(); + } + if let Some(var_154) = &input.revision_id { + object.key("RevisionId").string(var_154); + } + if let Some(var_155) = &input.layers { + let mut array_156 = object.key("Layers").start_array(); + for item_157 in var_155 { + array_156.value().string(item_157); + } + array_156.finish(); + } + if let Some(var_158) = &input.file_system_configs { + let mut array_159 = object.key("FileSystemConfigs").start_array(); + for item_160 in var_158 { + let mut object_161 = array_159.value().start_object(); + crate::json_ser::serialize_structure_file_system_config(&mut object_161, item_160); + object_161.finish(); + } + array_159.finish(); + } + if let Some(var_162) = &input.image_config { + let mut object_163 = object.key("ImageConfig").start_object(); + crate::json_ser::serialize_structure_image_config(&mut object_163, var_162); + object_163.finish(); + } +} + +pub fn serialize_structure_update_function_event_invoke_config_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateFunctionEventInvokeConfigInput, +) { + if let Some(var_164) = &input.maximum_retry_attempts { + object.key("MaximumRetryAttempts").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_164).into()), + ); + } + if let Some(var_165) = &input.maximum_event_age_in_seconds { + object.key("MaximumEventAgeInSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_165).into()), + ); + } + if let Some(var_166) = &input.destination_config { + let mut object_167 = object.key("DestinationConfig").start_object(); + crate::json_ser::serialize_structure_destination_config(&mut object_167, var_166); + object_167.finish(); + } +} + +pub fn serialize_structure_alias_routing_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AliasRoutingConfiguration, +) { + if let Some(var_168) = &input.additional_version_weights { + let mut object_169 = object.key("AdditionalVersionWeights").start_object(); + for (key_170, value_171) in var_168 { + object_169.key(key_170).number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((*value_171).into()), + ); + } + object_169.finish(); + } +} + +pub fn serialize_structure_allowed_publishers( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AllowedPublishers, +) { + if let Some(var_172) = &input.signing_profile_version_arns { + let mut array_173 = object.key("SigningProfileVersionArns").start_array(); + for item_174 in var_172 { + array_173.value().string(item_174); + } + array_173.finish(); + } +} + +pub fn serialize_structure_code_signing_policies( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CodeSigningPolicies, +) { + if let Some(var_175) = &input.untrusted_artifact_on_deployment { + object + .key("UntrustedArtifactOnDeployment") + .string(var_175.as_str()); + } +} + +pub fn serialize_structure_destination_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DestinationConfig, +) { + if let Some(var_176) = &input.on_success { + let mut object_177 = object.key("OnSuccess").start_object(); + crate::json_ser::serialize_structure_on_success(&mut object_177, var_176); + object_177.finish(); + } + if let Some(var_178) = &input.on_failure { + let mut object_179 = object.key("OnFailure").start_object(); + crate::json_ser::serialize_structure_on_failure(&mut object_179, var_178); + object_179.finish(); + } +} + +pub fn serialize_structure_source_access_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::SourceAccessConfiguration, +) { + if let Some(var_180) = &input.r#type { + object.key("Type").string(var_180.as_str()); + } + if let Some(var_181) = &input.uri { + object.key("URI").string(var_181); + } +} + +pub fn serialize_structure_self_managed_event_source( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::SelfManagedEventSource, +) { + if let Some(var_182) = &input.endpoints { + let mut object_183 = object.key("Endpoints").start_object(); + for (key_184, value_185) in var_182 { + let mut array_186 = object_183.key(key_184.as_str()).start_array(); + for item_187 in value_185 { + array_186.value().string(item_187); + } + array_186.finish(); + } + object_183.finish(); + } +} + +pub fn serialize_structure_function_code( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::FunctionCode, +) { + if let Some(var_188) = &input.zip_file { + object + .key("ZipFile") + .string_unchecked(&smithy_http::base64::encode(var_188)); + } + if let Some(var_189) = &input.s3_bucket { + object.key("S3Bucket").string(var_189); + } + if let Some(var_190) = &input.s3_key { + object.key("S3Key").string(var_190); + } + if let Some(var_191) = &input.s3_object_version { + object.key("S3ObjectVersion").string(var_191); + } + if let Some(var_192) = &input.image_uri { + object.key("ImageUri").string(var_192); + } +} + +pub fn serialize_structure_vpc_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::VpcConfig, +) { + if let Some(var_193) = &input.subnet_ids { + let mut array_194 = object.key("SubnetIds").start_array(); + for item_195 in var_193 { + array_194.value().string(item_195); + } + array_194.finish(); + } + if let Some(var_196) = &input.security_group_ids { + let mut array_197 = object.key("SecurityGroupIds").start_array(); + for item_198 in var_196 { + array_197.value().string(item_198); + } + array_197.finish(); + } +} + +pub fn serialize_structure_dead_letter_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DeadLetterConfig, +) { + if let Some(var_199) = &input.target_arn { + object.key("TargetArn").string(var_199); + } +} + +pub fn serialize_structure_environment( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Environment, +) { + if let Some(var_200) = &input.variables { + let mut object_201 = object.key("Variables").start_object(); + for (key_202, value_203) in var_200 { + object_201.key(key_202).string(value_203); + } + object_201.finish(); + } +} + +pub fn serialize_structure_tracing_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TracingConfig, +) { + if let Some(var_204) = &input.mode { + object.key("Mode").string(var_204.as_str()); + } +} + +pub fn serialize_structure_file_system_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::FileSystemConfig, +) { + if let Some(var_205) = &input.arn { + object.key("Arn").string(var_205); + } + if let Some(var_206) = &input.local_mount_path { + object.key("LocalMountPath").string(var_206); + } +} + +pub fn serialize_structure_image_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ImageConfig, +) { + if let Some(var_207) = &input.entry_point { + let mut array_208 = object.key("EntryPoint").start_array(); + for item_209 in var_207 { + array_208.value().string(item_209); + } + array_208.finish(); + } + if let Some(var_210) = &input.command { + let mut array_211 = object.key("Command").start_array(); + for item_212 in var_210 { + array_211.value().string(item_212); + } + array_211.finish(); + } + if let Some(var_213) = &input.working_directory { + object.key("WorkingDirectory").string(var_213); + } +} + +pub fn serialize_structure_layer_version_content_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::LayerVersionContentInput, +) { + if let Some(var_214) = &input.s3_bucket { + object.key("S3Bucket").string(var_214); + } + if let Some(var_215) = &input.s3_key { + object.key("S3Key").string(var_215); + } + if let Some(var_216) = &input.s3_object_version { + object.key("S3ObjectVersion").string(var_216); + } + if let Some(var_217) = &input.zip_file { + object + .key("ZipFile") + .string_unchecked(&smithy_http::base64::encode(var_217)); + } +} + +pub fn serialize_structure_on_success( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OnSuccess, +) { + if let Some(var_218) = &input.destination { + object.key("Destination").string(var_218); + } +} + +pub fn serialize_structure_on_failure( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OnFailure, +) { + if let Some(var_219) = &input.destination { + object.key("Destination").string(var_219); + } +} diff --git a/sdk/lambda/src/lib.rs b/sdk/lambda/src/lib.rs index 9b8b97595ead..5f5ff16eed5d 100644 --- a/sdk/lambda/src/lib.rs +++ b/sdk/lambda/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! AWS Lambda //!

        //! Overview @@ -26,6 +27,7 @@ mod http_serde; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_deser; @@ -34,6 +36,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/lambda/src/model.rs b/sdk/lambda/src/model.rs index a40062c6a5f0..897a1023380a 100644 --- a/sdk/lambda/src/model.rs +++ b/sdk/lambda/src/model.rs @@ -37,7 +37,6 @@ impl std::convert::From<&str> for ThrottleReason { } } } - impl std::str::FromStr for ThrottleReason { type Err = std::convert::Infallible; @@ -45,7 +44,6 @@ impl std::str::FromStr for ThrottleReason { Ok(ThrottleReason::from(s)) } } - impl ThrottleReason { pub fn as_str(&self) -> &str { match self { @@ -71,19 +69,6 @@ impl AsRef for ThrottleReason { self.as_str() } } - -impl serde::Serialize for ThrottleReason { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ThrottleReason { fn deserialize(deserializer: D) -> Result where @@ -96,16 +81,14 @@ impl<'de> serde::Deserialize<'de> for ThrottleReason { ///

        A configuration object that specifies the destination of an event after Lambda processes it.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DestinationConfig { ///

        The destination configuration for successful invocations.

        #[serde(rename = "OnSuccess")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub on_success: std::option::Option, ///

        The destination configuration for failed invocations.

        #[serde(rename = "OnFailure")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub on_failure: std::option::Option, } @@ -163,11 +146,10 @@ impl DestinationConfig { ///

        A destination for events that failed processing.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OnFailure { ///

        The Amazon Resource Name (ARN) of the destination resource.

        #[serde(rename = "Destination")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination: std::option::Option, } @@ -213,11 +195,10 @@ impl OnFailure { ///

        A destination for events that were processed successfully.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OnSuccess { ///

        The Amazon Resource Name (ARN) of the destination resource.

        #[serde(rename = "Destination")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination: std::option::Option, } @@ -263,16 +244,14 @@ impl OnSuccess { ///

        Response to GetFunctionConfiguration request.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ImageConfigResponse { ///

        Configuration values that override the container image Dockerfile.

        #[serde(rename = "ImageConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub image_config: std::option::Option, ///

        Error response to GetFunctionConfiguration.

        #[serde(rename = "Error")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error: std::option::Option, } @@ -336,16 +315,14 @@ impl ImageConfigResponse { ///

        Error response to GetFunctionConfiguration.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ImageConfigError { ///

        Error code.

        #[serde(rename = "ErrorCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_code: std::option::Option, ///

        Error message.

        #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -404,22 +381,19 @@ impl ImageConfigError { ///

        Configuration values that override the container image Dockerfile settings. See /// Container settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ImageConfig { ///

        Specifies the entry point to their application, which is typically the location of the runtime /// executable.

        #[serde(rename = "EntryPoint")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub entry_point: std::option::Option>, ///

        Specifies parameters that you want to pass in with ENTRYPOINT.

        #[serde(rename = "Command")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub command: std::option::Option>, ///

        Specifies the working directory.

        #[serde(rename = "WorkingDirectory")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub working_directory: std::option::Option, } @@ -522,7 +496,6 @@ impl std::convert::From<&str> for PackageType { } } } - impl std::str::FromStr for PackageType { type Err = std::convert::Infallible; @@ -530,7 +503,6 @@ impl std::str::FromStr for PackageType { Ok(PackageType::from(s)) } } - impl PackageType { pub fn as_str(&self) -> &str { match self { @@ -545,19 +517,6 @@ impl AsRef for PackageType { self.as_str() } } - -impl serde::Serialize for PackageType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PackageType { fn deserialize(deserializer: D) -> Result where @@ -570,16 +529,14 @@ impl<'de> serde::Deserialize<'de> for PackageType { ///

        Details about the connection between a Lambda function and an Amazon EFS file system.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FileSystemConfig { ///

        The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.

        #[serde(rename = "Arn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

        The path where the function can access the file system, starting with /mnt/.

        #[serde(rename = "LocalMountPath")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub local_mount_path: std::option::Option, } @@ -680,7 +637,6 @@ impl std::convert::From<&str> for LastUpdateStatusReasonCode { } } } - impl std::str::FromStr for LastUpdateStatusReasonCode { type Err = std::convert::Infallible; @@ -688,7 +644,6 @@ impl std::str::FromStr for LastUpdateStatusReasonCode { Ok(LastUpdateStatusReasonCode::from(s)) } } - impl LastUpdateStatusReasonCode { pub fn as_str(&self) -> &str { match self { @@ -713,19 +668,6 @@ impl AsRef for LastUpdateStatusReasonCode { self.as_str() } } - -impl serde::Serialize for LastUpdateStatusReasonCode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for LastUpdateStatusReasonCode { fn deserialize(deserializer: D) -> Result where @@ -762,7 +704,6 @@ impl std::convert::From<&str> for LastUpdateStatus { } } } - impl std::str::FromStr for LastUpdateStatus { type Err = std::convert::Infallible; @@ -770,7 +711,6 @@ impl std::str::FromStr for LastUpdateStatus { Ok(LastUpdateStatus::from(s)) } } - impl LastUpdateStatus { pub fn as_str(&self) -> &str { match self { @@ -786,19 +726,6 @@ impl AsRef for LastUpdateStatus { self.as_str() } } - -impl serde::Serialize for LastUpdateStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for LastUpdateStatus { fn deserialize(deserializer: D) -> Result where @@ -855,7 +782,6 @@ impl std::convert::From<&str> for StateReasonCode { } } } - impl std::str::FromStr for StateReasonCode { type Err = std::convert::Infallible; @@ -863,7 +789,6 @@ impl std::str::FromStr for StateReasonCode { Ok(StateReasonCode::from(s)) } } - impl StateReasonCode { pub fn as_str(&self) -> &str { match self { @@ -889,19 +814,6 @@ impl AsRef for StateReasonCode { self.as_str() } } - -impl serde::Serialize for StateReasonCode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StateReasonCode { fn deserialize(deserializer: D) -> Result where @@ -940,7 +852,6 @@ impl std::convert::From<&str> for State { } } } - impl std::str::FromStr for State { type Err = std::convert::Infallible; @@ -948,7 +859,6 @@ impl std::str::FromStr for State { Ok(State::from(s)) } } - impl State { pub fn as_str(&self) -> &str { match self { @@ -965,19 +875,6 @@ impl AsRef for State { self.as_str() } } - -impl serde::Serialize for State { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for State { fn deserialize(deserializer: D) -> Result where @@ -991,11 +888,10 @@ impl<'de> serde::Deserialize<'de> for State { ///

        An AWS Lambda /// layer.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Layer { ///

        The Amazon Resource Name (ARN) of the function layer.

        #[serde(rename = "Arn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

        The size of the layer archive in bytes.

        @@ -1003,12 +899,10 @@ pub struct Layer { pub code_size: i64, ///

        The Amazon Resource Name (ARN) for a signing profile version.

        #[serde(rename = "SigningProfileVersionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_profile_version_arn: std::option::Option, ///

        The Amazon Resource Name (ARN) of a signing job.

        #[serde(rename = "SigningJobArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_job_arn: std::option::Option, } @@ -1099,11 +993,10 @@ impl Layer { ///

        The function's AWS X-Ray tracing configuration.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TracingConfigResponse { ///

        The tracing mode.

        #[serde(rename = "Mode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub mode: std::option::Option, } @@ -1169,7 +1062,6 @@ impl std::convert::From<&str> for TracingMode { } } } - impl std::str::FromStr for TracingMode { type Err = std::convert::Infallible; @@ -1177,7 +1069,6 @@ impl std::str::FromStr for TracingMode { Ok(TracingMode::from(s)) } } - impl TracingMode { pub fn as_str(&self) -> &str { match self { @@ -1192,19 +1083,6 @@ impl AsRef for TracingMode { self.as_str() } } - -impl serde::Serialize for TracingMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TracingMode { fn deserialize(deserializer: D) -> Result where @@ -1218,17 +1096,15 @@ impl<'de> serde::Deserialize<'de> for TracingMode { ///

        The results of an operation to update or read environment variables. If the operation is successful, the /// response contains the environment variables. If it failed, the response contains details about the error.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EnvironmentResponse { ///

        Environment variable key-value pairs.

        #[serde(rename = "Variables")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub variables: std::option::Option>, ///

        Error messages for environment variables that couldn't be applied.

        #[serde(rename = "Error")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error: std::option::Option, } @@ -1301,16 +1177,14 @@ impl EnvironmentResponse { ///

        Error messages for environment variables that couldn't be applied.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EnvironmentError { ///

        The error code.

        #[serde(rename = "ErrorCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_code: std::option::Option, ///

        The error message.

        #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1369,11 +1243,10 @@ impl EnvironmentError { ///

        The dead-letter queue for /// failed asynchronous invocations.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DeadLetterConfig { ///

        The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

        #[serde(rename = "TargetArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_arn: std::option::Option, } @@ -1419,21 +1292,18 @@ impl DeadLetterConfig { ///

        The VPC security groups and subnets that are attached to a Lambda function.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct VpcConfigResponse { ///

        A list of VPC subnet IDs.

        #[serde(rename = "SubnetIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub subnet_ids: std::option::Option>, ///

        A list of VPC security groups IDs.

        #[serde(rename = "SecurityGroupIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub security_group_ids: std::option::Option>, ///

        The ID of the VPC.

        #[serde(rename = "VpcId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub vpc_id: std::option::Option, } @@ -1577,7 +1447,6 @@ impl std::convert::From<&str> for Runtime { } } } - impl std::str::FromStr for Runtime { type Err = std::convert::Infallible; @@ -1585,7 +1454,6 @@ impl std::str::FromStr for Runtime { Ok(Runtime::from(s)) } } - impl Runtime { pub fn as_str(&self) -> &str { match self { @@ -1622,19 +1490,6 @@ impl AsRef for Runtime { self.as_str() } } - -impl serde::Serialize for Runtime { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Runtime { fn deserialize(deserializer: D) -> Result where @@ -1648,11 +1503,10 @@ impl<'de> serde::Deserialize<'de> for Runtime { ///

        The function's AWS X-Ray tracing configuration. To sample and record incoming requests, set Mode /// to Active.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TracingConfig { ///

        The tracing mode.

        #[serde(rename = "Mode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub mode: std::option::Option, } @@ -1696,11 +1550,10 @@ impl TracingConfig { ///

        A function's environment variable settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Environment { ///

        Environment variable key-value pairs.

        #[serde(rename = "Variables")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub variables: std::option::Option>, @@ -1759,16 +1612,14 @@ impl Environment { ///

        The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct VpcConfig { ///

        A list of VPC subnet IDs.

        #[serde(rename = "SubnetIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub subnet_ids: std::option::Option>, ///

        A list of VPC security groups IDs.

        #[serde(rename = "SecurityGroupIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub security_group_ids: std::option::Option>, } @@ -1854,7 +1705,6 @@ impl std::convert::From<&str> for FunctionResponseType { } } } - impl std::str::FromStr for FunctionResponseType { type Err = std::convert::Infallible; @@ -1862,7 +1712,6 @@ impl std::str::FromStr for FunctionResponseType { Ok(FunctionResponseType::from(s)) } } - impl FunctionResponseType { pub fn as_str(&self) -> &str { match self { @@ -1876,19 +1725,6 @@ impl AsRef for FunctionResponseType { self.as_str() } } - -impl serde::Serialize for FunctionResponseType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for FunctionResponseType { fn deserialize(deserializer: D) -> Result where @@ -1901,11 +1737,10 @@ impl<'de> serde::Deserialize<'de> for FunctionResponseType { ///

        The Self-Managed Apache Kafka cluster for your event source.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SelfManagedEventSource { ///

        The list of bootstrap servers for your Kafka brokers in the following format: "KAFKA_BOOTSTRAP_SERVERS": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"].

        #[serde(rename = "Endpoints")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub endpoints: std::option::Option< std::collections::HashMap>, @@ -1991,7 +1826,6 @@ impl std::convert::From<&str> for EndPointType { } } } - impl std::str::FromStr for EndPointType { type Err = std::convert::Infallible; @@ -1999,7 +1833,6 @@ impl std::str::FromStr for EndPointType { Ok(EndPointType::from(s)) } } - impl EndPointType { pub fn as_str(&self) -> &str { match self { @@ -2013,19 +1846,6 @@ impl AsRef for EndPointType { self.as_str() } } - -impl serde::Serialize for EndPointType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for EndPointType { fn deserialize(deserializer: D) -> Result where @@ -2038,7 +1858,7 @@ impl<'de> serde::Deserialize<'de> for EndPointType { ///

        You can specify the authentication protocol, or the VPC components to secure access to your event source.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SourceAccessConfiguration { ///

        The type of authentication protocol or the VPC components for your event source. For example: "Type":"SASL_SCRAM_512_AUTH".

        ///
          @@ -2064,12 +1884,10 @@ pub struct SourceAccessConfiguration { /// ///
        #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

        The value for your chosen configuration in Type. For example: "URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

        #[serde(rename = "URI")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub uri: std::option::Option, } @@ -2180,7 +1998,6 @@ impl std::convert::From<&str> for SourceAccessType { } } } - impl std::str::FromStr for SourceAccessType { type Err = std::convert::Infallible; @@ -2188,7 +2005,6 @@ impl std::str::FromStr for SourceAccessType { Ok(SourceAccessType::from(s)) } } - impl SourceAccessType { pub fn as_str(&self) -> &str { match self { @@ -2206,19 +2022,6 @@ impl AsRef for SourceAccessType { self.as_str() } } - -impl serde::Serialize for SourceAccessType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SourceAccessType { fn deserialize(deserializer: D) -> Result where @@ -2255,7 +2058,6 @@ impl std::convert::From<&str> for EventSourcePosition { } } } - impl std::str::FromStr for EventSourcePosition { type Err = std::convert::Infallible; @@ -2263,7 +2065,6 @@ impl std::str::FromStr for EventSourcePosition { Ok(EventSourcePosition::from(s)) } } - impl EventSourcePosition { pub fn as_str(&self) -> &str { match self { @@ -2279,19 +2080,6 @@ impl AsRef for EventSourcePosition { self.as_str() } } - -impl serde::Serialize for EventSourcePosition { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for EventSourcePosition { fn deserialize(deserializer: D) -> Result where @@ -2304,36 +2092,30 @@ impl<'de> serde::Deserialize<'de> for EventSourcePosition { ///

        Details about a Code signing configuration.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CodeSigningConfig { ///

        Unique identifer for the Code signing configuration.

        #[serde(rename = "CodeSigningConfigId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code_signing_config_id: std::option::Option, ///

        The Amazon Resource Name (ARN) of the Code signing configuration.

        #[serde(rename = "CodeSigningConfigArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code_signing_config_arn: std::option::Option, ///

        Code signing configuration description.

        #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

        List of allowed publishers.

        #[serde(rename = "AllowedPublishers")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub allowed_publishers: std::option::Option, ///

        The code signing policy controls the validation failure action for signature mismatch or expiry.

        #[serde(rename = "CodeSigningPolicies")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code_signing_policies: std::option::Option, ///

        The date and time that the Code signing configuration was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

        #[serde(rename = "LastModified")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified: std::option::Option, } @@ -2452,7 +2234,7 @@ impl CodeSigningConfig { ///

        Code signing configuration policies specifies the validation failure action for signature mismatch or /// expiry.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CodeSigningPolicies { ///

        Code signing configuration policy for deployment validation failure. If you set the policy to /// Enforce, Lambda blocks the deployment request if signature validation checks fail. If you set the @@ -2460,7 +2242,6 @@ pub struct CodeSigningPolicies { ///

        Default value: Warn ///

        #[serde(rename = "UntrustedArtifactOnDeployment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub untrusted_artifact_on_deployment: std::option::Option, } @@ -2542,7 +2323,6 @@ impl std::convert::From<&str> for CodeSigningPolicy { } } } - impl std::str::FromStr for CodeSigningPolicy { type Err = std::convert::Infallible; @@ -2550,7 +2330,6 @@ impl std::str::FromStr for CodeSigningPolicy { Ok(CodeSigningPolicy::from(s)) } } - impl CodeSigningPolicy { pub fn as_str(&self) -> &str { match self { @@ -2565,19 +2344,6 @@ impl AsRef for CodeSigningPolicy { self.as_str() } } - -impl serde::Serialize for CodeSigningPolicy { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CodeSigningPolicy { fn deserialize(deserializer: D) -> Result where @@ -2590,12 +2356,11 @@ impl<'de> serde::Deserialize<'de> for CodeSigningPolicy { ///

        List of signing profiles that can sign a code package.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AllowedPublishers { ///

        The Amazon Resource Name (ARN) for each of the signing profiles. A signing profile defines a trusted user /// who can sign a code package.

        #[serde(rename = "SigningProfileVersionArns")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_profile_version_arns: std::option::Option>, } @@ -2649,11 +2414,10 @@ impl AllowedPublishers { ///

        The traffic-shifting configuration of a Lambda function alias.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AliasRoutingConfiguration { ///

        The second version, and the percentage of traffic that's routed to it.

        #[serde(rename = "AdditionalVersionWeights")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub additional_version_weights: std::option::Option>, @@ -2736,7 +2500,6 @@ impl std::convert::From<&str> for ProvisionedConcurrencyStatusEnum { } } } - impl std::str::FromStr for ProvisionedConcurrencyStatusEnum { type Err = std::convert::Infallible; @@ -2744,7 +2507,6 @@ impl std::str::FromStr for ProvisionedConcurrencyStatusEnum { Ok(ProvisionedConcurrencyStatusEnum::from(s)) } } - impl ProvisionedConcurrencyStatusEnum { pub fn as_str(&self) -> &str { match self { @@ -2760,19 +2522,6 @@ impl AsRef for ProvisionedConcurrencyStatusEnum { self.as_str() } } - -impl serde::Serialize for ProvisionedConcurrencyStatusEnum { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ProvisionedConcurrencyStatusEnum { fn deserialize(deserializer: D) -> Result where @@ -2786,16 +2535,14 @@ impl<'de> serde::Deserialize<'de> for ProvisionedConcurrencyStatusEnum { ///

        Details about a version of an AWS Lambda /// layer.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LayerVersionContentOutput { ///

        A link to the layer archive in Amazon S3 that is valid for 10 minutes.

        #[serde(rename = "Location")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub location: std::option::Option, ///

        The SHA-256 hash of the layer archive.

        #[serde(rename = "CodeSha256")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code_sha256: std::option::Option, ///

        The size of the layer archive in bytes.

        @@ -2803,12 +2550,10 @@ pub struct LayerVersionContentOutput { pub code_size: i64, ///

        The Amazon Resource Name (ARN) for a signing profile version.

        #[serde(rename = "SigningProfileVersionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_profile_version_arn: std::option::Option, ///

        The Amazon Resource Name (ARN) of a signing job.

        #[serde(rename = "SigningJobArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_job_arn: std::option::Option, } @@ -2913,28 +2658,23 @@ impl LayerVersionContentOutput { /// layer. You can specify either an Amazon S3 location, /// or upload a layer archive directly.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LayerVersionContentInput { ///

        The Amazon S3 bucket of the layer archive.

        #[serde(rename = "S3Bucket")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_bucket: std::option::Option, ///

        The Amazon S3 key of the layer archive.

        #[serde(rename = "S3Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_key: std::option::Option, ///

        For versioned objects, the version of the layer archive object to use.

        #[serde(rename = "S3ObjectVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_object_version: std::option::Option, ///

        The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients handle the encoding for /// you.

        #[serde(rename = "ZipFile")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub zip_file: std::option::Option, @@ -3021,31 +2761,26 @@ impl LayerVersionContentInput { ///

        Details about a function's configuration.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FunctionConfiguration { ///

        The name of the function.

        #[serde(rename = "FunctionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_name: std::option::Option, ///

        The function's Amazon Resource Name (ARN).

        #[serde(rename = "FunctionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_arn: std::option::Option, ///

        The runtime environment for the Lambda function.

        #[serde(rename = "Runtime")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub runtime: std::option::Option, ///

        The function's execution role.

        #[serde(rename = "Role")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub role: std::option::Option, ///

        The function that Lambda calls to begin executing your function.

        #[serde(rename = "Handler")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub handler: std::option::Option, ///

        The size of the function's deployment package, in bytes.

        @@ -3053,133 +2788,108 @@ pub struct FunctionConfiguration { pub code_size: i64, ///

        The function's description.

        #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

        The amount of time in seconds that Lambda allows a function to run before stopping it.

        #[serde(rename = "Timeout")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timeout: std::option::Option, ///

        The amount of memory available to the function at runtime.

        #[serde(rename = "MemorySize")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub memory_size: std::option::Option, ///

        The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

        #[serde(rename = "LastModified")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified: std::option::Option, ///

        The SHA256 hash of the function's deployment package.

        #[serde(rename = "CodeSha256")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code_sha256: std::option::Option, ///

        The version of the Lambda function.

        #[serde(rename = "Version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

        The function's networking configuration.

        #[serde(rename = "VpcConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub vpc_config: std::option::Option, ///

        The function's dead letter queue.

        #[serde(rename = "DeadLetterConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub dead_letter_config: std::option::Option, ///

        The function's environment variables.

        #[serde(rename = "Environment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub environment: std::option::Option, ///

        The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've /// configured a customer managed CMK.

        #[serde(rename = "KMSKeyArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_key_arn: std::option::Option, ///

        The function's AWS X-Ray tracing configuration.

        #[serde(rename = "TracingConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tracing_config: std::option::Option, ///

        For Lambda@Edge functions, the ARN of the master function.

        #[serde(rename = "MasterArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub master_arn: std::option::Option, ///

        The latest updated revision of the function or alias.

        #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub revision_id: std::option::Option, ///

        The function's /// layers.

        #[serde(rename = "Layers")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub layers: std::option::Option>, ///

        The current state of the function. When the state is Inactive, you can reactivate the function by /// invoking it.

        #[serde(rename = "State")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state: std::option::Option, ///

        The reason for the function's current state.

        #[serde(rename = "StateReason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state_reason: std::option::Option, ///

        The reason code for the function's current state. When the code is Creating, you can't invoke or /// modify the function.

        #[serde(rename = "StateReasonCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state_reason_code: std::option::Option, ///

        The status of the last update that was performed on the function. This is first set to Successful /// after function creation completes.

        #[serde(rename = "LastUpdateStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_update_status: std::option::Option, ///

        The reason for the last update that was performed on the function.

        #[serde(rename = "LastUpdateStatusReason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_update_status_reason: std::option::Option, ///

        The reason code for the last update that was performed on the function.

        #[serde(rename = "LastUpdateStatusReasonCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_update_status_reason_code: std::option::Option, ///

        Connection settings for an Amazon EFS file system.

        #[serde(rename = "FileSystemConfigs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub file_system_configs: std::option::Option>, ///

        The type of deployment package. Set to Image for container image and set Zip for .zip file archive.

        #[serde(rename = "PackageType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub package_type: std::option::Option, ///

        The function's image configuration values.

        #[serde(rename = "ImageConfigResponse")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub image_config_response: std::option::Option, ///

        The ARN of the signing profile version.

        #[serde(rename = "SigningProfileVersionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_profile_version_arn: std::option::Option, ///

        The ARN of the signing job.

        #[serde(rename = "SigningJobArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub signing_job_arn: std::option::Option, } @@ -3647,41 +3357,34 @@ impl FunctionConfiguration { ///

        Details about the provisioned concurrency configuration for a function alias or version.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProvisionedConcurrencyConfigListItem { ///

        The Amazon Resource Name (ARN) of the alias or version.

        #[serde(rename = "FunctionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_arn: std::option::Option, ///

        The amount of provisioned concurrency requested.

        #[serde(rename = "RequestedProvisionedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub requested_provisioned_concurrent_executions: std::option::Option, ///

        The amount of provisioned concurrency available.

        #[serde(rename = "AvailableProvisionedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub available_provisioned_concurrent_executions: std::option::Option, ///

        The amount of provisioned concurrency allocated.

        #[serde(rename = "AllocatedProvisionedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub allocated_provisioned_concurrent_executions: std::option::Option, ///

        The status of the allocation process.

        #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

        For failed allocations, the reason that provisioned concurrency could not be allocated.

        #[serde(rename = "StatusReason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_reason: std::option::Option, ///

        The date and time that a user last updated the configuration, in ISO 8601 format.

        #[serde(rename = "LastModified")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified: std::option::Option, } @@ -3824,11 +3527,10 @@ impl ProvisionedConcurrencyConfigListItem { ///

        Details about a version of an AWS Lambda /// layer.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LayerVersionsListItem { ///

        The ARN of the layer version.

        #[serde(rename = "LayerVersionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub layer_version_arn: std::option::Option, ///

        The version number.

        @@ -3836,22 +3538,18 @@ pub struct LayerVersionsListItem { pub version: i64, ///

        The description of the version.

        #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

        The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.

        #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub created_date: std::option::Option, ///

        The layer's compatible runtimes.

        #[serde(rename = "CompatibleRuntimes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compatible_runtimes: std::option::Option>, ///

        The layer's open-source license.

        #[serde(rename = "LicenseInfo")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub license_info: std::option::Option, } @@ -3965,21 +3663,18 @@ impl LayerVersionsListItem { ///

        Details about an AWS Lambda /// layer.

        #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LayersListItem { ///

        The name of the layer.

        #[serde(rename = "LayerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub layer_name: std::option::Option, ///

        The Amazon Resource Name (ARN) of the function layer.

        #[serde(rename = "LayerArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub layer_arn: std::option::Option, ///

        The newest version of the layer.

        #[serde(rename = "LatestMatchingVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub latest_matching_version: std::option::Option, } @@ -4073,7 +3768,6 @@ impl std::convert::From<&str> for FunctionVersion { } } } - impl std::str::FromStr for FunctionVersion { type Err = std::convert::Infallible; @@ -4081,7 +3775,6 @@ impl std::str::FromStr for FunctionVersion { Ok(FunctionVersion::from(s)) } } - impl FunctionVersion { pub fn as_str(&self) -> &str { match self { @@ -4095,19 +3788,6 @@ impl AsRef for FunctionVersion { self.as_str() } } - -impl serde::Serialize for FunctionVersion { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for FunctionVersion { fn deserialize(deserializer: D) -> Result where @@ -4119,14 +3799,10 @@ impl<'de> serde::Deserialize<'de> for FunctionVersion { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FunctionEventInvokeConfig { ///

        The date and time that the configuration was last updated.

        #[serde(rename = "LastModified")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4134,17 +3810,14 @@ pub struct FunctionEventInvokeConfig { pub last_modified: std::option::Option, ///

        The Amazon Resource Name (ARN) of the function.

        #[serde(rename = "FunctionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_arn: std::option::Option, ///

        The maximum number of times to retry when the function returns an error.

        #[serde(rename = "MaximumRetryAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_retry_attempts: std::option::Option, ///

        The maximum age of a request that Lambda sends to a function for processing.

        #[serde(rename = "MaximumEventAgeInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_event_age_in_seconds: std::option::Option, ///

        A destination for events after they have been sent to a function for processing.

        @@ -4170,7 +3843,6 @@ pub struct FunctionEventInvokeConfig { ///
      • ///
      #[serde(rename = "DestinationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_config: std::option::Option, } @@ -4294,26 +3966,20 @@ impl FunctionEventInvokeConfig { ///

      A mapping between an AWS resource and an AWS Lambda function. See CreateEventSourceMapping for details.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EventSourceMappingConfiguration { ///

      The identifier of the event source mapping.

      #[serde(rename = "UUID")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub uuid: std::option::Option, ///

      The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams /// sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.

      #[serde(rename = "StartingPosition")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub starting_position: std::option::Option, ///

      With StartingPosition set to AT_TIMESTAMP, the time from which to start /// reading.

      #[serde(rename = "StartingPositionTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4321,35 +3987,26 @@ pub struct EventSourceMappingConfiguration { pub starting_position_timestamp: std::option::Option, ///

      The maximum number of items to retrieve in a single batch.

      #[serde(rename = "BatchSize")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub batch_size: std::option::Option, ///

      (Streams and SQS standard queues) The maximum amount of time to gather records before invoking the function, in seconds. The default value is zero.

      #[serde(rename = "MaximumBatchingWindowInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_batching_window_in_seconds: std::option::Option, ///

      (Streams) The number of batches to process from each shard concurrently. The default value is 1.

      #[serde(rename = "ParallelizationFactor")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parallelization_factor: std::option::Option, ///

      The Amazon Resource Name (ARN) of the event source.

      #[serde(rename = "EventSourceArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub event_source_arn: std::option::Option, ///

      The ARN of the Lambda function.

      #[serde(rename = "FunctionArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_arn: std::option::Option, ///

      The date that the event source mapping was last updated, or its state changed.

      #[serde(rename = "LastModified")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4357,73 +4014,60 @@ pub struct EventSourceMappingConfiguration { pub last_modified: std::option::Option, ///

      The result of the last AWS Lambda invocation of your Lambda function.

      #[serde(rename = "LastProcessingResult")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_processing_result: std::option::Option, ///

      The state of the event source mapping. It can be one of the following: Creating, /// Enabling, Enabled, Disabling, Disabled, /// Updating, or Deleting.

      #[serde(rename = "State")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state: std::option::Option, ///

      Indicates whether the last change to the event source mapping was made by a user, or by the Lambda /// service.

      #[serde(rename = "StateTransitionReason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state_transition_reason: std::option::Option, ///

      (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

      #[serde(rename = "DestinationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_config: std::option::Option, ///

      The name of the Kafka topic.

      #[serde(rename = "Topics")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub topics: std::option::Option>, ///

      /// (MQ) The name of the Amazon MQ broker destination queue to consume. ///

      #[serde(rename = "Queues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub queues: std::option::Option>, ///

      An array of the authentication protocol, or the VPC components to secure your event source.

      #[serde(rename = "SourceAccessConfigurations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_access_configurations: std::option::Option>, ///

      The Self-Managed Apache Kafka cluster for your event source.

      #[serde(rename = "SelfManagedEventSource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub self_managed_event_source: std::option::Option, ///

      (Streams) Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

      #[serde(rename = "MaximumRecordAgeInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_record_age_in_seconds: std::option::Option, ///

      (Streams) If the function returns an error, split the batch in two and retry. The default value is false.

      #[serde(rename = "BisectBatchOnFunctionError")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub bisect_batch_on_function_error: std::option::Option, ///

      (Streams) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

      #[serde(rename = "MaximumRetryAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub maximum_retry_attempts: std::option::Option, ///

      (Streams) The duration in seconds of a processing window. The range is between 1 second up to 900 seconds.

      #[serde(rename = "TumblingWindowInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tumbling_window_in_seconds: std::option::Option, ///

      (Streams) A list of current response type enums applied to the event source mapping.

      #[serde(rename = "FunctionResponseTypes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_response_types: std::option::Option>, @@ -4803,37 +4447,31 @@ impl EventSourceMappingConfiguration { ///

      Provides configuration information about a Lambda function alias.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AliasConfiguration { ///

      The Amazon Resource Name (ARN) of the alias.

      #[serde(rename = "AliasArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub alias_arn: std::option::Option, ///

      The name of the alias.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

      The function version that the alias invokes.

      #[serde(rename = "FunctionVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub function_version: std::option::Option, ///

      A description of the alias.

      #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

      The routing /// configuration of the alias.

      #[serde(rename = "RoutingConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub routing_config: std::option::Option, ///

      A unique identifier that changes when you update the alias.

      #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub revision_id: std::option::Option, } @@ -4968,7 +4606,6 @@ impl std::convert::From<&str> for LogType { } } } - impl std::str::FromStr for LogType { type Err = std::convert::Infallible; @@ -4976,7 +4613,6 @@ impl std::str::FromStr for LogType { Ok(LogType::from(s)) } } - impl LogType { pub fn as_str(&self) -> &str { match self { @@ -4991,19 +4627,6 @@ impl AsRef for LogType { self.as_str() } } - -impl serde::Serialize for LogType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for LogType { fn deserialize(deserializer: D) -> Result where @@ -5040,7 +4663,6 @@ impl std::convert::From<&str> for InvocationType { } } } - impl std::str::FromStr for InvocationType { type Err = std::convert::Infallible; @@ -5048,7 +4670,6 @@ impl std::str::FromStr for InvocationType { Ok(InvocationType::from(s)) } } - impl InvocationType { pub fn as_str(&self) -> &str { match self { @@ -5064,19 +4685,6 @@ impl AsRef for InvocationType { self.as_str() } } - -impl serde::Serialize for InvocationType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InvocationType { fn deserialize(deserializer: D) -> Result where @@ -5088,11 +4696,10 @@ impl<'de> serde::Deserialize<'de> for InvocationType { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Concurrency { ///

      The number of concurrent executions that are reserved for this function. For more information, see Managing Concurrency.

      #[serde(rename = "ReservedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub reserved_concurrent_executions: std::option::Option, } @@ -5141,26 +4748,22 @@ impl Concurrency { ///

      Details about a function's deployment package.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FunctionCodeLocation { ///

      The service that's hosting the file.

      #[serde(rename = "RepositoryType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub repository_type: std::option::Option, ///

      A presigned URL that you can use to download the deployment package.

      #[serde(rename = "Location")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub location: std::option::Option, ///

      URI of a container image in the Amazon ECR registry.

      #[serde(rename = "ImageUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub image_uri: std::option::Option, ///

      The resolved URI for the image.

      #[serde(rename = "ResolvedImageUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resolved_image_uri: std::option::Option, } @@ -5248,7 +4851,7 @@ impl FunctionCodeLocation { ///

      The number of functions and amount of storage in use.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AccountUsage { ///

      The amount of storage space, in bytes, that's being used by deployment packages and layer archives.

      #[serde(rename = "TotalCodeSize")] @@ -5311,7 +4914,7 @@ impl AccountUsage { ///

      Limits that are related to concurrency and storage. All file and storage sizes are in bytes.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AccountLimit { ///

      The amount of storage space that you can use for all deployment packages and layer archives.

      #[serde(rename = "TotalCodeSize")] @@ -5329,7 +4932,6 @@ pub struct AccountLimit { ///

      The maximum number of simultaneous function executions, minus the capacity that's reserved for individual /// functions with PutFunctionConcurrency.

      #[serde(rename = "UnreservedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub unreserved_concurrent_executions: std::option::Option, } @@ -5432,34 +5034,28 @@ impl AccountLimit { ///

      The code for the Lambda function. You can specify either an object in Amazon S3, upload a .zip file archive deployment /// package directly, or specify the URI of a container image.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FunctionCode { ///

      The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for /// you.

      #[serde(rename = "ZipFile")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub zip_file: std::option::Option, ///

      An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

      #[serde(rename = "S3Bucket")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_bucket: std::option::Option, ///

      The Amazon S3 key of the deployment package.

      #[serde(rename = "S3Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_key: std::option::Option, ///

      For versioned objects, the version of the deployment package object to use.

      #[serde(rename = "S3ObjectVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_object_version: std::option::Option, ///

      URI of a container image in the Amazon ECR registry.

      #[serde(rename = "ImageUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub image_uri: std::option::Option, } diff --git a/sdk/lambda/src/operation.rs b/sdk/lambda/src/operation.rs index 8c213162c541..01daf2acb7f9 100644 --- a/sdk/lambda/src/operation.rs +++ b/sdk/lambda/src/operation.rs @@ -5,7 +5,7 @@ /// accounts in an organization.

      ///

      To revoke permission, call RemoveLayerVersionPermission with the statement ID that you /// specified when you added it.

      -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AddLayerVersionPermission { _private: (), } @@ -18,7 +18,6 @@ impl AddLayerVersionPermission { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for AddLayerVersionPermission { type Output = Result< crate::output::AddLayerVersionPermissionOutput, @@ -43,7 +42,7 @@ impl smithy_http::response::ParseStrictResponse for AddLayerVersionPermission { /// accounts could potentially configure resources in their account to invoke your Lambda function.

      ///

      This action adds a statement to a resource-based permissions policy for the function. For more information /// about function policies, see Lambda Function Policies.

      -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AddPermission { _private: (), } @@ -56,7 +55,6 @@ impl AddPermission { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for AddPermission { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -74,7 +72,7 @@ impl smithy_http::response::ParseStrictResponse for AddPermission { ///

      You can also map an alias to split invocation requests between two versions. Use the /// RoutingConfig parameter to specify a second version and the percentage of invocation requests that /// it receives.

      -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateAlias { _private: (), } @@ -87,7 +85,6 @@ impl CreateAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -102,7 +99,7 @@ impl smithy_http::response::ParseStrictResponse for CreateAlias { ///

      Creates a code signing configuration. A code signing configuration defines a list of /// allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment /// validation checks fail).

      -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateCodeSigningConfig { _private: (), } @@ -115,7 +112,6 @@ impl CreateCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateCodeSigningConfig { type Output = Result< crate::output::CreateCodeSigningConfigOutput, @@ -192,7 +188,7 @@ impl smithy_http::response::ParseStrictResponse for CreateCodeSigningConfig { /// ParallelizationFactor - Process multiple batches from each shard concurrently.

      ///
    • ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateEventSourceMapping { _private: (), } @@ -205,7 +201,6 @@ impl CreateEventSourceMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateEventSourceMapping { type Output = Result< crate::output::CreateEventSourceMappingOutput, @@ -249,7 +244,7 @@ impl smithy_http::response::ParseStrictResponse for CreateEventSourceMapping { ///

    To invoke your function directly, use Invoke. To invoke your function in response to events /// in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a /// function trigger in the other service. For more information, see Invoking Functions.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateFunction { _private: (), } @@ -262,7 +257,6 @@ impl CreateFunction { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateFunction { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -275,7 +269,7 @@ impl smithy_http::response::ParseStrictResponse for CreateFunction { } ///

    Deletes a Lambda function alias.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteAlias { _private: (), } @@ -288,7 +282,6 @@ impl DeleteAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -302,7 +295,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteAlias { ///

    Deletes the code signing configuration. You can delete the code signing configuration only if no function is /// using it.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteCodeSigningConfig { _private: (), } @@ -315,7 +308,6 @@ impl DeleteCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteCodeSigningConfig { type Output = Result< crate::output::DeleteCodeSigningConfigOutput, @@ -333,7 +325,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteCodeSigningConfig { ///

    Deletes an event source /// mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

    ///

    When you delete an event source mapping, it enters a Deleting state and might not be completely deleted for several seconds.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteEventSourceMapping { _private: (), } @@ -346,7 +338,6 @@ impl DeleteEventSourceMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteEventSourceMapping { type Output = Result< crate::output::DeleteEventSourceMappingOutput, @@ -366,7 +357,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteEventSourceMapping { ///

    To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. /// For AWS services and resources that invoke your function directly, delete the trigger in the service where you /// originally configured it.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteFunction { _private: (), } @@ -379,7 +370,6 @@ impl DeleteFunction { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteFunction { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -392,7 +382,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteFunction { } ///

    Removes the code signing configuration from the function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteFunctionCodeSigningConfig { _private: (), } @@ -405,7 +395,6 @@ impl DeleteFunctionCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteFunctionCodeSigningConfig { type Output = Result< crate::output::DeleteFunctionCodeSigningConfigOutput, @@ -421,7 +410,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteFunctionCodeSigningCon } ///

    Removes a concurrent execution limit from a function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteFunctionConcurrency { _private: (), } @@ -434,7 +423,6 @@ impl DeleteFunctionConcurrency { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteFunctionConcurrency { type Output = Result< crate::output::DeleteFunctionConcurrencyOutput, @@ -451,7 +439,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteFunctionConcurrency { ///

    Deletes the configuration for asynchronous invocation for a function, version, or alias.

    ///

    To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteFunctionEventInvokeConfig { _private: (), } @@ -464,7 +452,6 @@ impl DeleteFunctionEventInvokeConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteFunctionEventInvokeConfig { type Output = Result< crate::output::DeleteFunctionEventInvokeConfigOutput, @@ -482,7 +469,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteFunctionEventInvokeCon ///

    Deletes a version of an AWS Lambda /// layer. Deleted versions can no longer be viewed or added to functions. To avoid /// breaking functions, a copy of the version remains in Lambda until no functions refer to it.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteLayerVersion { _private: (), } @@ -495,7 +482,6 @@ impl DeleteLayerVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteLayerVersion { type Output = Result; @@ -509,7 +495,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteLayerVersion { } ///

    Deletes the provisioned concurrency configuration for a function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteProvisionedConcurrencyConfig { _private: (), } @@ -522,7 +508,6 @@ impl DeleteProvisionedConcurrencyConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteProvisionedConcurrencyConfig { type Output = Result< crate::output::DeleteProvisionedConcurrencyConfigOutput, @@ -538,7 +523,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteProvisionedConcurrency } ///

    Retrieves details about your account's limits and usage in an AWS Region.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAccountSettings { _private: (), } @@ -551,7 +536,6 @@ impl GetAccountSettings { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetAccountSettings { type Output = Result; @@ -565,7 +549,7 @@ impl smithy_http::response::ParseStrictResponse for GetAccountSettings { } ///

    Returns details about a Lambda function alias.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAlias { _private: (), } @@ -578,7 +562,6 @@ impl GetAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -591,7 +574,7 @@ impl smithy_http::response::ParseStrictResponse for GetAlias { } ///

    Returns information about the specified code signing configuration.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetCodeSigningConfig { _private: (), } @@ -604,7 +587,6 @@ impl GetCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetCodeSigningConfig { type Output = Result; @@ -618,7 +600,7 @@ impl smithy_http::response::ParseStrictResponse for GetCodeSigningConfig { } ///

    Returns details about an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetEventSourceMapping { _private: (), } @@ -631,7 +613,6 @@ impl GetEventSourceMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetEventSourceMapping { type Output = Result< crate::output::GetEventSourceMappingOutput, @@ -649,7 +630,7 @@ impl smithy_http::response::ParseStrictResponse for GetEventSourceMapping { ///

    Returns information about the function or function version, with a link to download the deployment package /// that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are /// returned.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetFunction { _private: (), } @@ -662,7 +643,6 @@ impl GetFunction { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetFunction { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -675,7 +655,7 @@ impl smithy_http::response::ParseStrictResponse for GetFunction { } ///

    Returns the code signing configuration for the specified function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetFunctionCodeSigningConfig { _private: (), } @@ -688,7 +668,6 @@ impl GetFunctionCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetFunctionCodeSigningConfig { type Output = Result< crate::output::GetFunctionCodeSigningConfigOutput, @@ -705,7 +684,7 @@ impl smithy_http::response::ParseStrictResponse for GetFunctionCodeSigningConfig ///

    Returns details about the reserved concurrency configuration for a function. To set a concurrency limit for a /// function, use PutFunctionConcurrency.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetFunctionConcurrency { _private: (), } @@ -718,7 +697,6 @@ impl GetFunctionConcurrency { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetFunctionConcurrency { type Output = Result< crate::output::GetFunctionConcurrencyOutput, @@ -736,7 +714,7 @@ impl smithy_http::response::ParseStrictResponse for GetFunctionConcurrency { ///

    Returns the version-specific settings of a Lambda function or version. The output includes only options that /// can vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration.

    ///

    To get all of a function's details, including function-level settings, use GetFunction.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetFunctionConfiguration { _private: (), } @@ -749,7 +727,6 @@ impl GetFunctionConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetFunctionConfiguration { type Output = Result< crate::output::GetFunctionConfigurationOutput, @@ -766,7 +743,7 @@ impl smithy_http::response::ParseStrictResponse for GetFunctionConfiguration { ///

    Retrieves the configuration for asynchronous invocation for a function, version, or alias.

    ///

    To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetFunctionEventInvokeConfig { _private: (), } @@ -779,7 +756,6 @@ impl GetFunctionEventInvokeConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetFunctionEventInvokeConfig { type Output = Result< crate::output::GetFunctionEventInvokeConfigOutput, @@ -797,7 +773,7 @@ impl smithy_http::response::ParseStrictResponse for GetFunctionEventInvokeConfig ///

    Returns information about a version of an AWS Lambda /// layer, with a link to download the layer archive /// that's valid for 10 minutes.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetLayerVersion { _private: (), } @@ -810,7 +786,6 @@ impl GetLayerVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetLayerVersion { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -825,7 +800,7 @@ impl smithy_http::response::ParseStrictResponse for GetLayerVersion { ///

    Returns information about a version of an AWS Lambda /// layer, with a link to download the layer archive /// that's valid for 10 minutes.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetLayerVersionByArn { _private: (), } @@ -838,7 +813,6 @@ impl GetLayerVersionByArn { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetLayerVersionByArn { type Output = Result; @@ -853,7 +827,7 @@ impl smithy_http::response::ParseStrictResponse for GetLayerVersionByArn { ///

    Returns the permission policy for a version of an AWS Lambda /// layer. For more information, see AddLayerVersionPermission.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetLayerVersionPolicy { _private: (), } @@ -866,7 +840,6 @@ impl GetLayerVersionPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetLayerVersionPolicy { type Output = Result< crate::output::GetLayerVersionPolicyOutput, @@ -882,7 +855,7 @@ impl smithy_http::response::ParseStrictResponse for GetLayerVersionPolicy { } ///

    Returns the resource-based IAM policy for a function, version, or alias.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetPolicy { _private: (), } @@ -895,7 +868,6 @@ impl GetPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetPolicy { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -908,7 +880,7 @@ impl smithy_http::response::ParseStrictResponse for GetPolicy { } ///

    Retrieves the provisioned concurrency configuration for a function's alias or version.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetProvisionedConcurrencyConfig { _private: (), } @@ -921,7 +893,6 @@ impl GetProvisionedConcurrencyConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetProvisionedConcurrencyConfig { type Output = Result< crate::output::GetProvisionedConcurrencyConfigOutput, @@ -957,7 +928,7 @@ impl smithy_http::response::ParseStrictResponse for GetProvisionedConcurrencyCon /// waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long /// connections with timeout or keep-alive settings.

    ///

    This operation requires permission for the lambda:InvokeFunction action.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct Invoke { _private: (), } @@ -970,7 +941,6 @@ impl Invoke { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for Invoke { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -986,7 +956,7 @@ impl smithy_http::response::ParseStrictResponse for Invoke { ///

    For asynchronous function invocation, use Invoke.

    ///
    ///

    Invokes a function asynchronously.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct InvokeAsync { _private: (), } @@ -999,7 +969,6 @@ impl InvokeAsync { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for InvokeAsync { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1013,7 +982,7 @@ impl smithy_http::response::ParseStrictResponse for InvokeAsync { ///

    Returns a list of aliases /// for a Lambda function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListAliases { _private: (), } @@ -1026,7 +995,6 @@ impl ListAliases { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListAliases { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1041,7 +1009,7 @@ impl smithy_http::response::ParseStrictResponse for ListAliases { ///

    Returns a list of code /// signing configurations. A request returns up to 10,000 configurations per /// call. You can use the MaxItems parameter to return fewer configurations per call.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListCodeSigningConfigs { _private: (), } @@ -1054,7 +1022,6 @@ impl ListCodeSigningConfigs { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListCodeSigningConfigs { type Output = Result< crate::output::ListCodeSigningConfigsOutput, @@ -1071,7 +1038,7 @@ impl smithy_http::response::ParseStrictResponse for ListCodeSigningConfigs { ///

    Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a /// single event source.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListEventSourceMappings { _private: (), } @@ -1084,7 +1051,6 @@ impl ListEventSourceMappings { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListEventSourceMappings { type Output = Result< crate::output::ListEventSourceMappingsOutput, @@ -1101,7 +1067,7 @@ impl smithy_http::response::ParseStrictResponse for ListEventSourceMappings { ///

    Retrieves a list of configurations for asynchronous invocation for a function.

    ///

    To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListFunctionEventInvokeConfigs { _private: (), } @@ -1114,7 +1080,6 @@ impl ListFunctionEventInvokeConfigs { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListFunctionEventInvokeConfigs { type Output = Result< crate::output::ListFunctionEventInvokeConfigsOutput, @@ -1138,7 +1103,7 @@ impl smithy_http::response::ParseStrictResponse for ListFunctionEventInvokeConfi /// To get the additional fields (State, StateReasonCode, StateReason, LastUpdateStatus, LastUpdateStatusReason, LastUpdateStatusReasonCode) /// for a function or version, use GetFunction.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListFunctions { _private: (), } @@ -1151,7 +1116,6 @@ impl ListFunctions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListFunctions { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1165,7 +1129,7 @@ impl smithy_http::response::ParseStrictResponse for ListFunctions { ///

    List the functions that use the specified code signing configuration. You can use this method prior to deleting a /// code signing configuration, to verify that no functions are using it.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListFunctionsByCodeSigningConfig { _private: (), } @@ -1178,7 +1142,6 @@ impl ListFunctionsByCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListFunctionsByCodeSigningConfig { type Output = Result< crate::output::ListFunctionsByCodeSigningConfigOutput, @@ -1196,7 +1159,7 @@ impl smithy_http::response::ParseStrictResponse for ListFunctionsByCodeSigningCo ///

    Lists AWS Lambda /// layers and shows information about the latest version of each. Specify a runtime identifier to list only layers /// that indicate that they're compatible with that runtime.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListLayers { _private: (), } @@ -1209,7 +1172,6 @@ impl ListLayers { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListLayers { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1224,7 +1186,7 @@ impl smithy_http::response::ParseStrictResponse for ListLayers { ///

    Lists the versions of an AWS Lambda /// layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only /// versions that indicate that they're compatible with that runtime.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListLayerVersions { _private: (), } @@ -1237,7 +1199,6 @@ impl ListLayerVersions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListLayerVersions { type Output = Result; @@ -1251,7 +1212,7 @@ impl smithy_http::response::ParseStrictResponse for ListLayerVersions { } ///

    Retrieves a list of provisioned concurrency configurations for a function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListProvisionedConcurrencyConfigs { _private: (), } @@ -1264,7 +1225,6 @@ impl ListProvisionedConcurrencyConfigs { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListProvisionedConcurrencyConfigs { type Output = Result< crate::output::ListProvisionedConcurrencyConfigsOutput, @@ -1281,7 +1241,7 @@ impl smithy_http::response::ParseStrictResponse for ListProvisionedConcurrencyCo ///

    Returns a function's tags. You can /// also view tags with GetFunction.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTags { _private: (), } @@ -1294,7 +1254,6 @@ impl ListTags { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListTags { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1308,7 +1267,7 @@ impl smithy_http::response::ParseStrictResponse for ListTags { ///

    Returns a list of versions, /// with the version-specific configuration of each. Lambda returns up to 50 versions per call.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListVersionsByFunction { _private: (), } @@ -1321,7 +1280,6 @@ impl ListVersionsByFunction { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListVersionsByFunction { type Output = Result< crate::output::ListVersionsByFunctionOutput, @@ -1340,7 +1298,7 @@ impl smithy_http::response::ParseStrictResponse for ListVersionsByFunction { /// layer from a ZIP archive. Each time you call PublishLayerVersion with the same /// layer name, a new version is created.

    ///

    Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PublishLayerVersion { _private: (), } @@ -1353,7 +1311,6 @@ impl PublishLayerVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PublishLayerVersion { type Output = Result; @@ -1373,7 +1330,7 @@ impl smithy_http::response::ParseStrictResponse for PublishLayerVersion { /// version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the /// function before publishing a version.

    ///

    Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PublishVersion { _private: (), } @@ -1386,7 +1343,6 @@ impl PublishVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PublishVersion { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1400,7 +1356,7 @@ impl smithy_http::response::ParseStrictResponse for PublishVersion { ///

    Update the code signing configuration for the function. Changes to the code signing configuration take effect the /// next time a user tries to deploy a code package to the function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutFunctionCodeSigningConfig { _private: (), } @@ -1413,7 +1369,6 @@ impl PutFunctionCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutFunctionCodeSigningConfig { type Output = Result< crate::output::PutFunctionCodeSigningConfigOutput, @@ -1437,7 +1392,7 @@ impl smithy_http::response::ParseStrictResponse for PutFunctionCodeSigningConfig ///

    Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency /// for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for /// functions that aren't configured with a per-function limit. For more information, see Managing Concurrency.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutFunctionConcurrency { _private: (), } @@ -1450,7 +1405,6 @@ impl PutFunctionConcurrency { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutFunctionConcurrency { type Output = Result< crate::output::PutFunctionConcurrencyOutput, @@ -1476,7 +1430,7 @@ impl smithy_http::response::ParseStrictResponse for PutFunctionConcurrency { ///

    To send an invocation record to a queue, topic, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events /// that fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a /// dead-letter queue.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutFunctionEventInvokeConfig { _private: (), } @@ -1489,7 +1443,6 @@ impl PutFunctionEventInvokeConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutFunctionEventInvokeConfig { type Output = Result< crate::output::PutFunctionEventInvokeConfigOutput, @@ -1505,7 +1458,7 @@ impl smithy_http::response::ParseStrictResponse for PutFunctionEventInvokeConfig } ///

    Adds a provisioned concurrency configuration to a function's alias or version.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutProvisionedConcurrencyConfig { _private: (), } @@ -1518,7 +1471,6 @@ impl PutProvisionedConcurrencyConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutProvisionedConcurrencyConfig { type Output = Result< crate::output::PutProvisionedConcurrencyConfigOutput, @@ -1536,7 +1488,7 @@ impl smithy_http::response::ParseStrictResponse for PutProvisionedConcurrencyCon ///

    Removes a statement from the permissions policy for a version of an AWS Lambda /// layer. For more information, see /// AddLayerVersionPermission.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RemoveLayerVersionPermission { _private: (), } @@ -1549,7 +1501,6 @@ impl RemoveLayerVersionPermission { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RemoveLayerVersionPermission { type Output = Result< crate::output::RemoveLayerVersionPermissionOutput, @@ -1566,7 +1517,7 @@ impl smithy_http::response::ParseStrictResponse for RemoveLayerVersionPermission ///

    Revokes function-use permission from an AWS service or another account. You can get the ID of the statement /// from the output of GetPolicy.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RemovePermission { _private: (), } @@ -1579,7 +1530,6 @@ impl RemovePermission { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RemovePermission { type Output = Result; @@ -1593,7 +1543,7 @@ impl smithy_http::response::ParseStrictResponse for RemovePermission { } ///

    Adds tags to a function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), } @@ -1606,7 +1556,6 @@ impl TagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1619,7 +1568,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { } ///

    Removes tags from a function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), } @@ -1632,7 +1581,6 @@ impl UntagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UntagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1645,7 +1593,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { } ///

    Updates the configuration of a Lambda function alias.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAlias { _private: (), } @@ -1658,7 +1606,6 @@ impl UpdateAlias { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateAlias { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1672,7 +1619,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAlias { ///

    Update the code signing configuration. Changes to the code signing configuration take effect the next time a /// user tries to deploy a code package to the function.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateCodeSigningConfig { _private: (), } @@ -1685,7 +1632,6 @@ impl UpdateCodeSigningConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateCodeSigningConfig { type Output = Result< crate::output::UpdateCodeSigningConfigOutput, @@ -1724,7 +1670,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateCodeSigningConfig { /// ParallelizationFactor - Process multiple batches from each shard concurrently.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateEventSourceMapping { _private: (), } @@ -1737,7 +1683,6 @@ impl UpdateEventSourceMapping { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateEventSourceMapping { type Output = Result< crate::output::UpdateEventSourceMappingOutput, @@ -1760,7 +1705,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateEventSourceMapping { ///

    For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if /// you update the image tag to a new image, Lambda does not automatically update the function.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateFunctionCode { _private: (), } @@ -1773,7 +1718,6 @@ impl UpdateFunctionCode { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateFunctionCode { type Output = Result; @@ -1798,7 +1742,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateFunctionCode { /// modify the configuration of a published version, only the unpublished version.

    ///

    To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions /// to an account or AWS service, use AddPermission.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateFunctionConfiguration { _private: (), } @@ -1811,7 +1755,6 @@ impl UpdateFunctionConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateFunctionConfiguration { type Output = Result< crate::output::UpdateFunctionConfigurationOutput, @@ -1828,7 +1771,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateFunctionConfiguration ///

    Updates the configuration for asynchronous invocation for a function, version, or alias.

    ///

    To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateFunctionEventInvokeConfig { _private: (), } @@ -1841,7 +1784,6 @@ impl UpdateFunctionEventInvokeConfig { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateFunctionEventInvokeConfig { type Output = Result< crate::output::UpdateFunctionEventInvokeConfigOutput, diff --git a/sdk/lambda/src/operation_deser.rs b/sdk/lambda/src/operation_deser.rs index 4d1539da3a83..90aff83244a2 100644 --- a/sdk/lambda/src/operation_deser.rs +++ b/sdk/lambda/src/operation_deser.rs @@ -8,7 +8,6 @@ pub fn parse_add_layer_version_permission_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::AddLayerVersionPermissionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -111,10 +110,8 @@ pub fn parse_add_layer_version_permission_error( ) .map_err(crate::error::AddLayerVersionPermissionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_add_layer_version_permission_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_add_layer_version_permission_retry_after_seconds(response.headers()) .map_err(|_|crate::error::AddLayerVersionPermissionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -149,7 +146,6 @@ pub fn parse_add_permission_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::AddPermissionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::AddPermissionError::unhandled(generic)), @@ -285,7 +281,6 @@ pub fn parse_create_alias_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateAliasError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateAliasError::unhandled(generic)), @@ -393,7 +388,6 @@ pub fn parse_create_code_signing_config_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -459,7 +453,6 @@ pub fn parse_create_event_source_mapping_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateEventSourceMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -534,10 +527,8 @@ pub fn parse_create_event_source_mapping_error( ) .map_err(crate::error::CreateEventSourceMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_create_event_source_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_create_event_source_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::CreateEventSourceMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -572,7 +563,6 @@ pub fn parse_create_function_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateFunctionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateFunctionError::unhandled(generic)), @@ -737,7 +727,6 @@ pub fn parse_delete_alias_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteAliasError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteAliasError::unhandled(generic)), @@ -829,7 +818,6 @@ pub fn parse_delete_code_signing_config_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -918,7 +906,6 @@ pub fn parse_delete_event_source_mapping_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteEventSourceMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -991,10 +978,8 @@ pub fn parse_delete_event_source_mapping_error( ) .map_err(crate::error::DeleteEventSourceMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_event_source_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_event_source_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteEventSourceMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1029,7 +1014,6 @@ pub fn parse_delete_function_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteFunctionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteFunctionError::unhandled(generic)), @@ -1137,7 +1121,6 @@ pub fn parse_delete_function_code_signing_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteFunctionCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteFunctionCodeSigningConfigError::unhandled(generic)), @@ -1178,10 +1161,8 @@ pub fn parse_delete_function_code_signing_config_error( let _ = response; output = crate::json_deser::too_many_requests_exception(response.body().as_ref(), output).map_err(crate::error::DeleteFunctionCodeSigningConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_function_code_signing_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_function_code_signing_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteFunctionCodeSigningConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() })}, @@ -1214,7 +1195,6 @@ pub fn parse_delete_function_concurrency_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteFunctionConcurrencyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -1289,10 +1269,8 @@ pub fn parse_delete_function_concurrency_error( ) .map_err(crate::error::DeleteFunctionConcurrencyError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_function_concurrency_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_function_concurrency_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteFunctionConcurrencyError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1325,7 +1303,6 @@ pub fn parse_delete_function_event_invoke_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteFunctionEventInvokeConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteFunctionEventInvokeConfigError::unhandled(generic)), @@ -1386,10 +1363,8 @@ pub fn parse_delete_function_event_invoke_config_error( ) .map_err(crate::error::DeleteFunctionEventInvokeConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_function_event_invoke_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_function_event_invoke_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteFunctionEventInvokeConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1420,7 +1395,6 @@ pub fn parse_delete_layer_version_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteLayerVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteLayerVersionError::unhandled(generic)), @@ -1486,7 +1460,6 @@ pub fn parse_delete_provisioned_concurrency_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteProvisionedConcurrencyConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -1523,10 +1496,8 @@ pub fn parse_delete_provisioned_concurrency_config_error( let _ = response; output = crate::json_deser::too_many_requests_exception(response.body().as_ref(), output).map_err(crate::error::DeleteProvisionedConcurrencyConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_delete_provisioned_concurrency_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_delete_provisioned_concurrency_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::DeleteProvisionedConcurrencyConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() })}, @@ -1556,7 +1527,6 @@ pub fn parse_get_account_settings_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetAccountSettingsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetAccountSettingsError::unhandled(generic)), @@ -1624,7 +1594,6 @@ pub fn parse_get_alias_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetAliasError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetAliasError::unhandled(generic)), @@ -1717,7 +1686,6 @@ pub fn parse_get_code_signing_config_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetCodeSigningConfigError::unhandled(generic)), @@ -1789,7 +1757,6 @@ pub fn parse_get_event_source_mapping_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetEventSourceMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetEventSourceMappingError::unhandled(generic)), @@ -1847,10 +1814,8 @@ pub fn parse_get_event_source_mapping_error( ) .map_err(crate::error::GetEventSourceMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_event_source_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_event_source_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetEventSourceMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -1883,7 +1848,6 @@ pub fn parse_get_function_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetFunctionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetFunctionError::unhandled(generic)), @@ -1979,7 +1943,6 @@ pub fn parse_get_function_code_signing_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetFunctionCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2043,10 +2006,8 @@ pub fn parse_get_function_code_signing_config_error( ) .map_err(crate::error::GetFunctionCodeSigningConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_function_code_signing_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_function_code_signing_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetFunctionCodeSigningConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2082,7 +2043,6 @@ pub fn parse_get_function_concurrency_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetFunctionConcurrencyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2144,10 +2104,8 @@ pub fn parse_get_function_concurrency_error( ) .map_err(crate::error::GetFunctionConcurrencyError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_function_concurrency_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_function_concurrency_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetFunctionConcurrencyError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2184,7 +2142,6 @@ pub fn parse_get_function_configuration_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetFunctionConfigurationError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2246,10 +2203,8 @@ pub fn parse_get_function_configuration_error( ) .map_err(crate::error::GetFunctionConfigurationError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_function_configuration_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_function_configuration_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetFunctionConfigurationError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2288,7 +2243,6 @@ pub fn parse_get_function_event_invoke_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetFunctionEventInvokeConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -2352,10 +2306,8 @@ pub fn parse_get_function_event_invoke_config_error( ) .map_err(crate::error::GetFunctionEventInvokeConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_function_event_invoke_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_function_event_invoke_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetFunctionEventInvokeConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2390,7 +2342,6 @@ pub fn parse_get_layer_version_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetLayerVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetLayerVersionError::unhandled(generic)), @@ -2484,7 +2435,6 @@ pub fn parse_get_layer_version_by_arn_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetLayerVersionByArnError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetLayerVersionByArnError::unhandled(generic)), @@ -2542,10 +2492,8 @@ pub fn parse_get_layer_version_by_arn_error( ) .map_err(crate::error::GetLayerVersionByArnError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_layer_version_by_arn_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_layer_version_by_arn_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetLayerVersionByArnError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2578,7 +2526,6 @@ pub fn parse_get_layer_version_policy_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetLayerVersionPolicyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetLayerVersionPolicyError::unhandled(generic)), @@ -2636,10 +2583,8 @@ pub fn parse_get_layer_version_policy_error( ) .map_err(crate::error::GetLayerVersionPolicyError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_layer_version_policy_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_layer_version_policy_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetLayerVersionPolicyError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -2672,7 +2617,6 @@ pub fn parse_get_policy_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetPolicyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetPolicyError::unhandled(generic)), @@ -2768,7 +2712,6 @@ pub fn parse_get_provisioned_concurrency_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetProvisionedConcurrencyConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetProvisionedConcurrencyConfigError::unhandled(generic)), @@ -2803,10 +2746,8 @@ pub fn parse_get_provisioned_concurrency_config_error( let _ = response; output = crate::json_deser::too_many_requests_exception(response.body().as_ref(), output).map_err(crate::error::GetProvisionedConcurrencyConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_get_provisioned_concurrency_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_get_provisioned_concurrency_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::GetProvisionedConcurrencyConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() })}, @@ -2841,7 +2782,6 @@ pub fn parse_invoke_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::InvokeError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::InvokeError::unhandled(generic)), @@ -3255,7 +3195,6 @@ pub fn parse_invoke_async_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::InvokeAsyncError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::InvokeAsyncError::unhandled(generic)), @@ -3349,7 +3288,6 @@ pub fn parse_list_aliases_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListAliasesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListAliasesError::unhandled(generic)), @@ -3443,7 +3381,6 @@ pub fn parse_list_code_signing_configs_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListCodeSigningConfigsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -3507,7 +3444,6 @@ pub fn parse_list_event_source_mappings_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListEventSourceMappingsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -3569,10 +3505,8 @@ pub fn parse_list_event_source_mappings_error( ) .map_err(crate::error::ListEventSourceMappingsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_list_event_source_mappings_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_list_event_source_mappings_retry_after_seconds(response.headers()) .map_err(|_|crate::error::ListEventSourceMappingsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -3609,7 +3543,6 @@ pub fn parse_list_function_event_invoke_configs_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListFunctionEventInvokeConfigsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListFunctionEventInvokeConfigsError::unhandled(generic)), @@ -3669,10 +3602,8 @@ pub fn parse_list_function_event_invoke_configs_error( ) .map_err(crate::error::ListFunctionEventInvokeConfigsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_list_function_event_invoke_configs_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_list_function_event_invoke_configs_retry_after_seconds(response.headers()) .map_err(|_|crate::error::ListFunctionEventInvokeConfigsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -3708,7 +3639,6 @@ pub fn parse_list_functions_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListFunctionsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListFunctionsError::unhandled(generic)), @@ -3791,7 +3721,6 @@ pub fn parse_list_functions_by_code_signing_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListFunctionsByCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -3873,7 +3802,6 @@ pub fn parse_list_layers_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListLayersError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListLayersError::unhandled(generic)), @@ -3952,7 +3880,6 @@ pub fn parse_list_layer_versions_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListLayerVersionsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListLayerVersionsError::unhandled(generic)), @@ -4051,7 +3978,6 @@ pub fn parse_list_provisioned_concurrency_configs_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListProvisionedConcurrencyConfigsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -4116,10 +4042,8 @@ pub fn parse_list_provisioned_concurrency_configs_error( ) .map_err(crate::error::ListProvisionedConcurrencyConfigsError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_list_provisioned_concurrency_configs_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_list_provisioned_concurrency_configs_retry_after_seconds(response.headers()) .map_err(|_|crate::error::ListProvisionedConcurrencyConfigsError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -4155,7 +4079,6 @@ pub fn parse_list_tags_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListTagsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListTagsError::unhandled(generic)), @@ -4249,7 +4172,6 @@ pub fn parse_list_versions_by_function_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListVersionsByFunctionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -4311,10 +4233,8 @@ pub fn parse_list_versions_by_function_error( ) .map_err(crate::error::ListVersionsByFunctionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_list_versions_by_function_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_list_versions_by_function_retry_after_seconds(response.headers()) .map_err(|_|crate::error::ListVersionsByFunctionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -4348,7 +4268,6 @@ pub fn parse_publish_layer_version_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PublishLayerVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PublishLayerVersionError::unhandled(generic)), @@ -4458,7 +4377,6 @@ pub fn parse_publish_version_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PublishVersionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PublishVersionError::unhandled(generic)), @@ -4597,7 +4515,6 @@ pub fn parse_put_function_code_signing_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutFunctionCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -4693,10 +4610,8 @@ pub fn parse_put_function_code_signing_config_error( ) .map_err(crate::error::PutFunctionCodeSigningConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_put_function_code_signing_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_put_function_code_signing_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::PutFunctionCodeSigningConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -4732,7 +4647,6 @@ pub fn parse_put_function_concurrency_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutFunctionConcurrencyError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -4808,10 +4722,8 @@ pub fn parse_put_function_concurrency_error( ) .map_err(crate::error::PutFunctionConcurrencyError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_put_function_concurrency_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_put_function_concurrency_retry_after_seconds(response.headers()) .map_err(|_|crate::error::PutFunctionConcurrencyError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -4848,7 +4760,6 @@ pub fn parse_put_function_event_invoke_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutFunctionEventInvokeConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -4912,10 +4823,8 @@ pub fn parse_put_function_event_invoke_config_error( ) .map_err(crate::error::PutFunctionEventInvokeConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_put_function_event_invoke_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_put_function_event_invoke_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::PutFunctionEventInvokeConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -4953,7 +4862,6 @@ pub fn parse_put_provisioned_concurrency_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutProvisionedConcurrencyConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutProvisionedConcurrencyConfigError::unhandled(generic)), @@ -5028,10 +4936,8 @@ pub fn parse_put_provisioned_concurrency_config_error( ) .map_err(crate::error::PutProvisionedConcurrencyConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_put_provisioned_concurrency_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_put_provisioned_concurrency_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::PutProvisionedConcurrencyConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5070,7 +4976,6 @@ pub fn parse_remove_layer_version_permission_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::RemoveLayerVersionPermissionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -5148,10 +5053,8 @@ pub fn parse_remove_layer_version_permission_error( ) .map_err(crate::error::RemoveLayerVersionPermissionError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_remove_layer_version_permission_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_remove_layer_version_permission_retry_after_seconds(response.headers()) .map_err(|_|crate::error::RemoveLayerVersionPermissionError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5181,7 +5084,6 @@ pub fn parse_remove_permission_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::RemovePermissionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RemovePermissionError::unhandled(generic)), @@ -5286,7 +5188,6 @@ pub fn parse_tag_resource_error( ) -> 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)), @@ -5391,7 +5292,6 @@ pub fn parse_untag_resource_error( ) -> 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)), @@ -5496,7 +5396,6 @@ pub fn parse_update_alias_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateAliasError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateAliasError::unhandled(generic)), @@ -5618,7 +5517,6 @@ pub fn parse_update_code_signing_config_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateCodeSigningConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -5698,7 +5596,6 @@ pub fn parse_update_event_source_mapping_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateEventSourceMappingError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -5785,10 +5682,8 @@ pub fn parse_update_event_source_mapping_error( ) .map_err(crate::error::UpdateEventSourceMappingError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_event_source_mapping_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_event_source_mapping_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateEventSourceMappingError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -5823,7 +5718,6 @@ pub fn parse_update_function_code_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateFunctionCodeError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateFunctionCodeError::unhandled(generic)), @@ -6007,7 +5901,6 @@ pub fn parse_update_function_configuration_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateFunctionConfigurationError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -6145,10 +6038,8 @@ pub fn parse_update_function_configuration_error( ) .map_err(crate::error::UpdateFunctionConfigurationError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_function_configuration_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_function_configuration_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateFunctionConfigurationError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), @@ -6186,7 +6077,6 @@ pub fn parse_update_function_event_invoke_config_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateFunctionEventInvokeConfigError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateFunctionEventInvokeConfigError::unhandled(generic)), @@ -6247,10 +6137,8 @@ pub fn parse_update_function_event_invoke_config_error( ) .map_err(crate::error::UpdateFunctionEventInvokeConfigError::unhandled)?; output = output.set_retry_after_seconds( - - crate::http_serde::deser_header_update_function_event_invoke_config_retry_after_seconds(response.headers()) + crate::http_serde::deser_header_update_function_event_invoke_config_retry_after_seconds(response.headers()) .map_err(|_|crate::error::UpdateFunctionEventInvokeConfigError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After"))? - ); output.build() }), diff --git a/sdk/lambda/src/operation_ser.rs b/sdk/lambda/src/operation_ser.rs index 0abc9402ad56..8318e9a4373b 100644 --- a/sdk/lambda/src/operation_ser.rs +++ b/sdk/lambda/src/operation_ser.rs @@ -1,106 +1,62 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_add_layer_version_permission_input_body( +pub fn serialize_operation_add_layer_version_permission( input: &crate::input::AddLayerVersionPermissionInput, ) -> Result { - let body = crate::serializer::AddLayerVersionPermissionInputBody { - statement_id: &input.statement_id, - action: &input.action, - principal: &input.principal, - organization_id: &input.organization_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_add_layer_version_permission_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_add_permission_input_body( +pub fn serialize_operation_add_permission( input: &crate::input::AddPermissionInput, ) -> Result { - let body = crate::serializer::AddPermissionInputBody { - statement_id: &input.statement_id, - action: &input.action, - principal: &input.principal, - source_arn: &input.source_arn, - source_account: &input.source_account, - event_source_token: &input.event_source_token, - revision_id: &input.revision_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_add_permission_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_alias_input_body( +pub fn serialize_operation_create_alias( input: &crate::input::CreateAliasInput, ) -> Result { - let body = crate::serializer::CreateAliasInputBody { - name: &input.name, - function_version: &input.function_version, - description: &input.description, - routing_config: &input.routing_config, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_alias_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_code_signing_config_input_body( +pub fn serialize_operation_create_code_signing_config( input: &crate::input::CreateCodeSigningConfigInput, ) -> Result { - let body = crate::serializer::CreateCodeSigningConfigInputBody { - description: &input.description, - allowed_publishers: &input.allowed_publishers, - code_signing_policies: &input.code_signing_policies, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_code_signing_config_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_event_source_mapping_input_body( +pub fn serialize_operation_create_event_source_mapping( input: &crate::input::CreateEventSourceMappingInput, ) -> Result { - let body = crate::serializer::CreateEventSourceMappingInputBody { - event_source_arn: &input.event_source_arn, - function_name: &input.function_name, - enabled: &input.enabled, - batch_size: &input.batch_size, - maximum_batching_window_in_seconds: &input.maximum_batching_window_in_seconds, - parallelization_factor: &input.parallelization_factor, - starting_position: &input.starting_position, - starting_position_timestamp: &input.starting_position_timestamp, - destination_config: &input.destination_config, - maximum_record_age_in_seconds: &input.maximum_record_age_in_seconds, - bisect_batch_on_function_error: &input.bisect_batch_on_function_error, - maximum_retry_attempts: &input.maximum_retry_attempts, - tumbling_window_in_seconds: &input.tumbling_window_in_seconds, - topics: &input.topics, - queues: &input.queues, - source_access_configurations: &input.source_access_configurations, - self_managed_event_source: &input.self_managed_event_source, - function_response_types: &input.function_response_types, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_event_source_mapping_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_function_input_body( +pub fn serialize_operation_create_function( input: &crate::input::CreateFunctionInput, ) -> Result { - let body = crate::serializer::CreateFunctionInputBody { - function_name: &input.function_name, - runtime: &input.runtime, - role: &input.role, - handler: &input.handler, - code: &input.code, - description: &input.description, - timeout: &input.timeout, - memory_size: &input.memory_size, - publish: &input.publish, - vpc_config: &input.vpc_config, - package_type: &input.package_type, - dead_letter_config: &input.dead_letter_config, - environment: &input.environment, - kms_key_arn: &input.kms_key_arn, - tracing_config: &input.tracing_config, - tags: &input.tags, - layers: &input.layers, - file_system_configs: &input.file_system_configs, - image_config: &input.image_config, - code_signing_config_arn: &input.code_signing_config_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_function_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } pub fn ser_payload_invoke_input( @@ -121,163 +77,138 @@ pub fn ser_payload_invoke_async_input( Ok(smithy_http::body::SdkBody::from(payload.into_inner())) } -pub fn serialize_operation_publish_layer_version_input_body( +pub fn serialize_operation_publish_layer_version( input: &crate::input::PublishLayerVersionInput, ) -> Result { - let body = crate::serializer::PublishLayerVersionInputBody { - description: &input.description, - content: &input.content, - compatible_runtimes: &input.compatible_runtimes, - license_info: &input.license_info, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_publish_layer_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_publish_version_input_body( +pub fn serialize_operation_publish_version( input: &crate::input::PublishVersionInput, ) -> Result { - let body = crate::serializer::PublishVersionInputBody { - code_sha256: &input.code_sha256, - description: &input.description, - revision_id: &input.revision_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_publish_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_function_code_signing_config_input_body( +pub fn serialize_operation_put_function_code_signing_config( input: &crate::input::PutFunctionCodeSigningConfigInput, ) -> Result { - let body = crate::serializer::PutFunctionCodeSigningConfigInputBody { - code_signing_config_arn: &input.code_signing_config_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_function_code_signing_config_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_function_concurrency_input_body( +pub fn serialize_operation_put_function_concurrency( input: &crate::input::PutFunctionConcurrencyInput, ) -> Result { - let body = crate::serializer::PutFunctionConcurrencyInputBody { - reserved_concurrent_executions: &input.reserved_concurrent_executions, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_function_concurrency_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_function_event_invoke_config_input_body( +pub fn serialize_operation_put_function_event_invoke_config( input: &crate::input::PutFunctionEventInvokeConfigInput, ) -> Result { - let body = crate::serializer::PutFunctionEventInvokeConfigInputBody { - maximum_retry_attempts: &input.maximum_retry_attempts, - maximum_event_age_in_seconds: &input.maximum_event_age_in_seconds, - destination_config: &input.destination_config, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_function_event_invoke_config_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_provisioned_concurrency_config_input_body( +pub fn serialize_operation_put_provisioned_concurrency_config( input: &crate::input::PutProvisionedConcurrencyConfigInput, ) -> Result { - let body = crate::serializer::PutProvisionedConcurrencyConfigInputBody { - provisioned_concurrent_executions: &input.provisioned_concurrent_executions, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_provisioned_concurrency_config_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_tag_resource_input_body( +pub fn serialize_operation_tag_resource( input: &crate::input::TagResourceInput, ) -> Result { - let body = crate::serializer::TagResourceInputBody { tags: &input.tags }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + 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)) } -pub fn serialize_operation_update_alias_input_body( +pub fn serialize_operation_update_alias( input: &crate::input::UpdateAliasInput, ) -> Result { - let body = crate::serializer::UpdateAliasInputBody { - function_version: &input.function_version, - description: &input.description, - routing_config: &input.routing_config, - revision_id: &input.revision_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_alias_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_code_signing_config_input_body( +pub fn serialize_operation_update_code_signing_config( input: &crate::input::UpdateCodeSigningConfigInput, ) -> Result { - let body = crate::serializer::UpdateCodeSigningConfigInputBody { - description: &input.description, - allowed_publishers: &input.allowed_publishers, - code_signing_policies: &input.code_signing_policies, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_code_signing_config_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_event_source_mapping_input_body( +pub fn serialize_operation_update_event_source_mapping( input: &crate::input::UpdateEventSourceMappingInput, ) -> Result { - let body = crate::serializer::UpdateEventSourceMappingInputBody { - function_name: &input.function_name, - enabled: &input.enabled, - batch_size: &input.batch_size, - maximum_batching_window_in_seconds: &input.maximum_batching_window_in_seconds, - destination_config: &input.destination_config, - maximum_record_age_in_seconds: &input.maximum_record_age_in_seconds, - bisect_batch_on_function_error: &input.bisect_batch_on_function_error, - maximum_retry_attempts: &input.maximum_retry_attempts, - parallelization_factor: &input.parallelization_factor, - source_access_configurations: &input.source_access_configurations, - tumbling_window_in_seconds: &input.tumbling_window_in_seconds, - function_response_types: &input.function_response_types, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_event_source_mapping_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_function_code_input_body( +pub fn serialize_operation_update_function_code( input: &crate::input::UpdateFunctionCodeInput, ) -> Result { - let body = crate::serializer::UpdateFunctionCodeInputBody { - zip_file: &input.zip_file, - s3_bucket: &input.s3_bucket, - s3_key: &input.s3_key, - s3_object_version: &input.s3_object_version, - image_uri: &input.image_uri, - publish: &input.publish, - dry_run: &input.dry_run, - revision_id: &input.revision_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_function_code_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_function_configuration_input_body( +pub fn serialize_operation_update_function_configuration( input: &crate::input::UpdateFunctionConfigurationInput, ) -> Result { - let body = crate::serializer::UpdateFunctionConfigurationInputBody { - role: &input.role, - handler: &input.handler, - description: &input.description, - timeout: &input.timeout, - memory_size: &input.memory_size, - vpc_config: &input.vpc_config, - environment: &input.environment, - runtime: &input.runtime, - dead_letter_config: &input.dead_letter_config, - kms_key_arn: &input.kms_key_arn, - tracing_config: &input.tracing_config, - revision_id: &input.revision_id, - layers: &input.layers, - file_system_configs: &input.file_system_configs, - image_config: &input.image_config, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_function_configuration_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_function_event_invoke_config_input_body( +pub fn serialize_operation_update_function_event_invoke_config( input: &crate::input::UpdateFunctionEventInvokeConfigInput, ) -> Result { - let body = crate::serializer::UpdateFunctionEventInvokeConfigInputBody { - maximum_retry_attempts: &input.maximum_retry_attempts, - maximum_event_age_in_seconds: &input.maximum_event_age_in_seconds, - destination_config: &input.destination_config, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_function_event_invoke_config_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/lambda/src/serde_util.rs b/sdk/lambda/src/serde_util.rs index 3c9aec8631ff..a8b1bc11744a 100644 --- a/sdk/lambda/src/serde_util.rs +++ b/sdk/lambda/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesblob_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::blob_serde::BlobSer(el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> @@ -23,20 +9,6 @@ where Ok(std::option::Option::::deserialize(_deser)?.map(|el| el.0)) } -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/lambda/src/serializer.rs b/sdk/lambda/src/serializer.rs index fc1a616d97d5..1033b0921ea7 100644 --- a/sdk/lambda/src/serializer.rs +++ b/sdk/lambda/src/serializer.rs @@ -1,23 +1,15 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AddLayerVersionPermissionInputBody<'a> { ///

    An identifier that distinguishes the policy from others on the same layer version.

    - #[serde(rename = "StatementId")] - #[serde(skip_serializing_if = "Option::is_none")] pub statement_id: &'a std::option::Option, ///

    The API action that grants access to the layer. For example, lambda:GetLayerVersion.

    - #[serde(rename = "Action")] - #[serde(skip_serializing_if = "Option::is_none")] pub action: &'a std::option::Option, ///

    An account ID, or * to grant permission to all AWS accounts.

    - #[serde(rename = "Principal")] - #[serde(skip_serializing_if = "Option::is_none")] pub principal: &'a std::option::Option, ///

    With the principal set to *, grant permission to all accounts in the specified /// organization.

    - #[serde(rename = "OrganizationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub organization_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for AddLayerVersionPermissionInputBody<'a> { @@ -32,41 +24,27 @@ impl<'a> std::fmt::Debug for AddLayerVersionPermissionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AddPermissionInputBody<'a> { ///

    A statement identifier that differentiates the statement from others in the same policy.

    - #[serde(rename = "StatementId")] - #[serde(skip_serializing_if = "Option::is_none")] pub statement_id: &'a std::option::Option, ///

    The action that the principal can use on the function. For example, lambda:InvokeFunction or /// lambda:GetFunction.

    - #[serde(rename = "Action")] - #[serde(skip_serializing_if = "Option::is_none")] pub action: &'a std::option::Option, ///

    The AWS service or account that invokes the function. If you specify a service, use SourceArn or /// SourceAccount to limit who can invoke the function through that service.

    - #[serde(rename = "Principal")] - #[serde(skip_serializing_if = "Option::is_none")] pub principal: &'a std::option::Option, ///

    For AWS services, the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or /// Amazon SNS topic.

    - #[serde(rename = "SourceArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_arn: &'a std::option::Option, ///

    For Amazon S3, the ID of the account that owns the resource. Use this together with SourceArn to /// ensure that the resource is owned by the specified account. It is possible for an Amazon S3 bucket to be deleted /// by its owner and recreated by another account.

    - #[serde(rename = "SourceAccount")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_account: &'a std::option::Option, ///

    For Alexa Smart Home functions, a token that must be supplied by the invoker.

    - #[serde(rename = "EventSourceToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub event_source_token: &'a std::option::Option, ///

    Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a /// policy that has changed since you last read it.

    - #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub revision_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for AddPermissionInputBody<'a> { @@ -84,24 +62,16 @@ impl<'a> std::fmt::Debug for AddPermissionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAliasInputBody<'a> { ///

    The name of the alias.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The function version that the alias invokes.

    - #[serde(rename = "FunctionVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_version: &'a std::option::Option, ///

    A description of the alias.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The routing /// configuration of the alias.

    - #[serde(rename = "RoutingConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub routing_config: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateAliasInputBody<'a> { @@ -116,19 +86,13 @@ impl<'a> std::fmt::Debug for CreateAliasInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateCodeSigningConfigInputBody<'a> { ///

    Descriptive name for this code signing configuration.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Signing profiles for this code signing configuration.

    - #[serde(rename = "AllowedPublishers")] - #[serde(skip_serializing_if = "Option::is_none")] pub allowed_publishers: &'a std::option::Option, ///

    The code signing policies define the actions to take if the validation checks fail.

    - #[serde(rename = "CodeSigningPolicies")] - #[serde(skip_serializing_if = "Option::is_none")] pub code_signing_policies: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateCodeSigningConfigInputBody<'a> { @@ -142,7 +106,7 @@ impl<'a> std::fmt::Debug for CreateCodeSigningConfigInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateEventSourceMappingInputBody<'a> { ///

    The Amazon Resource Name (ARN) of the event source.

    ///
      @@ -163,8 +127,6 @@ pub struct CreateEventSourceMappingInputBody<'a> { /// Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.

      /// ///
    - #[serde(rename = "EventSourceArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub event_source_arn: &'a std::option::Option, ///

    The name of the Lambda function.

    ///

    @@ -190,12 +152,8 @@ pub struct CreateEventSourceMappingInputBody<'a> { /// ///

    The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 /// characters in length.

    - #[serde(rename = "FunctionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_name: &'a std::option::Option, ///

    If true, the event source mapping is active. Set to false to pause polling and invocation.

    - #[serde(rename = "Enabled")] - #[serde(skip_serializing_if = "Option::is_none")] pub enabled: &'a std::option::Option, ///

    The maximum number of items to retrieve in a single batch.

    ///
      @@ -220,72 +178,39 @@ pub struct CreateEventSourceMappingInputBody<'a> { /// Self-Managed Apache Kafka - Default 100. Max 10,000.

      /// ///
    - #[serde(rename = "BatchSize")] - #[serde(skip_serializing_if = "Option::is_none")] pub batch_size: &'a std::option::Option, ///

    (Streams and SQS standard queues) The maximum amount of time to gather records before invoking the function, in seconds.

    - #[serde(rename = "MaximumBatchingWindowInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_batching_window_in_seconds: &'a std::option::Option, ///

    (Streams) The number of batches to process from each shard concurrently.

    - #[serde(rename = "ParallelizationFactor")] - #[serde(skip_serializing_if = "Option::is_none")] pub parallelization_factor: &'a std::option::Option, ///

    The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams /// sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.

    - #[serde(rename = "StartingPosition")] - #[serde(skip_serializing_if = "Option::is_none")] pub starting_position: &'a std::option::Option, ///

    With StartingPosition set to AT_TIMESTAMP, the time from which to start /// reading.

    - #[serde(rename = "StartingPositionTimestamp")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub starting_position_timestamp: &'a std::option::Option, ///

    (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

    - #[serde(rename = "DestinationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_config: &'a std::option::Option, ///

    (Streams) Discard records older than the specified age. The default value is infinite (-1).

    - #[serde(rename = "MaximumRecordAgeInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_record_age_in_seconds: &'a std::option::Option, ///

    (Streams) If the function returns an error, split the batch in two and retry.

    - #[serde(rename = "BisectBatchOnFunctionError")] - #[serde(skip_serializing_if = "Option::is_none")] pub bisect_batch_on_function_error: &'a std::option::Option, ///

    (Streams) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records will be retried until the record expires.

    - #[serde(rename = "MaximumRetryAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_retry_attempts: &'a std::option::Option, ///

    (Streams) The duration in seconds of a processing window. The range is between 1 second up to 900 seconds.

    - #[serde(rename = "TumblingWindowInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub tumbling_window_in_seconds: &'a std::option::Option, ///

    The name of the Kafka topic.

    - #[serde(rename = "Topics")] - #[serde(skip_serializing_if = "Option::is_none")] pub topics: &'a std::option::Option>, ///

    /// (MQ) The name of the Amazon MQ broker destination queue to consume. ///

    - #[serde(rename = "Queues")] - #[serde(skip_serializing_if = "Option::is_none")] pub queues: &'a std::option::Option>, ///

    An array of the authentication protocol, or the VPC components to secure your event source.

    - #[serde(rename = "SourceAccessConfigurations")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_access_configurations: &'a std::option::Option>, ///

    The Self-Managed Apache Kafka cluster to send records.

    - #[serde(rename = "SelfManagedEventSource")] - #[serde(skip_serializing_if = "Option::is_none")] pub self_managed_event_source: &'a std::option::Option, ///

    (Streams) A list of current response type enums applied to the event source mapping.

    - #[serde(rename = "FunctionResponseTypes")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_response_types: &'a std::option::Option>, } @@ -333,7 +258,7 @@ impl<'a> std::fmt::Debug for CreateEventSourceMappingInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateFunctionInputBody<'a> { ///

    The name of the Lambda function.

    ///

    @@ -355,99 +280,60 @@ pub struct CreateFunctionInputBody<'a> { /// ///

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 /// characters in length.

    - #[serde(rename = "FunctionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_name: &'a std::option::Option, ///

    The identifier of the function's runtime.

    - #[serde(rename = "Runtime")] - #[serde(skip_serializing_if = "Option::is_none")] pub runtime: &'a std::option::Option, ///

    The Amazon Resource Name (ARN) of the function's execution role.

    - #[serde(rename = "Role")] - #[serde(skip_serializing_if = "Option::is_none")] pub role: &'a std::option::Option, ///

    The name of the method within your code that Lambda calls to execute your function. The format includes the /// file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, /// see Programming Model.

    - #[serde(rename = "Handler")] - #[serde(skip_serializing_if = "Option::is_none")] pub handler: &'a std::option::Option, ///

    The code for the function.

    - #[serde(rename = "Code")] - #[serde(skip_serializing_if = "Option::is_none")] pub code: &'a std::option::Option, ///

    A description of the function.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The /// maximum allowed value is 900 seconds.

    - #[serde(rename = "Timeout")] - #[serde(skip_serializing_if = "Option::is_none")] pub timeout: &'a std::option::Option, ///

    The amount of memory available to the function at runtime. Increasing the function's memory also increases its CPU /// allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

    - #[serde(rename = "MemorySize")] - #[serde(skip_serializing_if = "Option::is_none")] pub memory_size: &'a std::option::Option, ///

    Set to true to publish the first version of the function during creation.

    - #[serde(rename = "Publish")] pub publish: &'a bool, ///

    For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. /// When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more /// information, see VPC Settings.

    - #[serde(rename = "VpcConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub vpc_config: &'a std::option::Option, ///

    The type of deployment package. Set to Image for container image and set Zip for ZIP archive.

    - #[serde(rename = "PackageType")] - #[serde(skip_serializing_if = "Option::is_none")] pub package_type: &'a std::option::Option, ///

    A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events /// when they fail processing. For more information, see Dead Letter Queues.

    - #[serde(rename = "DeadLetterConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub dead_letter_config: &'a std::option::Option, ///

    Environment variables that are accessible from function code during execution.

    - #[serde(rename = "Environment")] - #[serde(skip_serializing_if = "Option::is_none")] pub environment: &'a std::option::Option, ///

    The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment /// variables. If it's not provided, AWS Lambda uses a default service key.

    - #[serde(rename = "KMSKeyArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub kms_key_arn: &'a std::option::Option, ///

    Set Mode to Active to sample and trace a subset of incoming requests with AWS /// X-Ray.

    - #[serde(rename = "TracingConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub tracing_config: &'a std::option::Option, ///

    A list of tags to apply to the /// function.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, ///

    A list of function layers /// to add to the function's execution environment. Specify each layer by its ARN, including the version.

    - #[serde(rename = "Layers")] - #[serde(skip_serializing_if = "Option::is_none")] pub layers: &'a std::option::Option>, ///

    Connection settings for an Amazon EFS file system.

    - #[serde(rename = "FileSystemConfigs")] - #[serde(skip_serializing_if = "Option::is_none")] pub file_system_configs: &'a std::option::Option>, ///

    /// Container image configuration /// values that override the values in the container image Dockerfile.

    - #[serde(rename = "ImageConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub image_config: &'a std::option::Option, ///

    To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration /// includes a set of signing profiles, which define the trusted publishers for this function.

    - #[serde(rename = "CodeSigningConfigArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub code_signing_config_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateFunctionInputBody<'a> { @@ -478,20 +364,14 @@ impl<'a> std::fmt::Debug for CreateFunctionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PublishLayerVersionInputBody<'a> { ///

    The description of the version.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The function layer archive.

    - #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] pub content: &'a std::option::Option, ///

    A list of compatible function /// runtimes. Used for filtering with ListLayers and ListLayerVersions.

    - #[serde(rename = "CompatibleRuntimes")] - #[serde(skip_serializing_if = "Option::is_none")] pub compatible_runtimes: &'a std::option::Option>, ///

    The layer's software license. It can be any of the following:

    ///
      @@ -507,8 +387,6 @@ pub struct PublishLayerVersionInputBody<'a> { ///

      The full text of the license.

      /// ///
    - #[serde(rename = "LicenseInfo")] - #[serde(skip_serializing_if = "Option::is_none")] pub license_info: &'a std::option::Option, } impl<'a> std::fmt::Debug for PublishLayerVersionInputBody<'a> { @@ -523,22 +401,16 @@ impl<'a> std::fmt::Debug for PublishLayerVersionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PublishVersionInputBody<'a> { ///

    Only publish a version if the hash value matches the value that's specified. Use this option to avoid /// publishing a version if the function code has changed since you last updated it. You can get the hash for the /// version that you uploaded from the output of UpdateFunctionCode.

    - #[serde(rename = "CodeSha256")] - #[serde(skip_serializing_if = "Option::is_none")] pub code_sha256: &'a std::option::Option, ///

    A description for the version to override the description in the function configuration.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Only update the function if the revision ID matches the ID that's specified. Use this option to avoid /// publishing a version if the function configuration has changed since you last updated it.

    - #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub revision_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for PublishVersionInputBody<'a> { @@ -552,11 +424,9 @@ impl<'a> std::fmt::Debug for PublishVersionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutFunctionCodeSigningConfigInputBody<'a> { ///

    The The Amazon Resource Name (ARN) of the code signing configuration.

    - #[serde(rename = "CodeSigningConfigArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub code_signing_config_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutFunctionCodeSigningConfigInputBody<'a> { @@ -568,11 +438,9 @@ impl<'a> std::fmt::Debug for PutFunctionCodeSigningConfigInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutFunctionConcurrencyInputBody<'a> { ///

    The number of simultaneous executions to reserve for the function.

    - #[serde(rename = "ReservedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] pub reserved_concurrent_executions: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutFunctionConcurrencyInputBody<'a> { @@ -587,15 +455,11 @@ impl<'a> std::fmt::Debug for PutFunctionConcurrencyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutFunctionEventInvokeConfigInputBody<'a> { ///

    The maximum number of times to retry when the function returns an error.

    - #[serde(rename = "MaximumRetryAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_retry_attempts: &'a std::option::Option, ///

    The maximum age of a request that Lambda sends to a function for processing.

    - #[serde(rename = "MaximumEventAgeInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_event_age_in_seconds: &'a std::option::Option, ///

    A destination for events after they have been sent to a function for processing.

    ///

    @@ -619,8 +483,6 @@ pub struct PutFunctionEventInvokeConfigInputBody<'a> { /// Event Bus - The ARN of an Amazon EventBridge event bus.

    /// /// - #[serde(rename = "DestinationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_config: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutFunctionEventInvokeConfigInputBody<'a> { @@ -637,11 +499,9 @@ impl<'a> std::fmt::Debug for PutFunctionEventInvokeConfigInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutProvisionedConcurrencyConfigInputBody<'a> { ///

    The amount of provisioned concurrency to allocate for the version or alias.

    - #[serde(rename = "ProvisionedConcurrentExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] pub provisioned_concurrent_executions: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutProvisionedConcurrencyConfigInputBody<'a> { @@ -656,11 +516,9 @@ impl<'a> std::fmt::Debug for PutProvisionedConcurrencyConfigInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInputBody<'a> { ///

    A list of tags to apply to the function.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap, >, @@ -674,25 +532,17 @@ impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAliasInputBody<'a> { ///

    The function version that the alias invokes.

    - #[serde(rename = "FunctionVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_version: &'a std::option::Option, ///

    A description of the alias.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The routing /// configuration of the alias.

    - #[serde(rename = "RoutingConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub routing_config: &'a std::option::Option, ///

    Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying /// an alias that has changed since you last read it.

    - #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub revision_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateAliasInputBody<'a> { @@ -707,19 +557,13 @@ impl<'a> std::fmt::Debug for UpdateAliasInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateCodeSigningConfigInputBody<'a> { ///

    Descriptive name for this code signing configuration.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Signing profiles for this code signing configuration.

    - #[serde(rename = "AllowedPublishers")] - #[serde(skip_serializing_if = "Option::is_none")] pub allowed_publishers: &'a std::option::Option, ///

    The code signing policy.

    - #[serde(rename = "CodeSigningPolicies")] - #[serde(skip_serializing_if = "Option::is_none")] pub code_signing_policies: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateCodeSigningConfigInputBody<'a> { @@ -733,7 +577,7 @@ impl<'a> std::fmt::Debug for UpdateCodeSigningConfigInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateEventSourceMappingInputBody<'a> { ///

    The name of the Lambda function.

    ///

    @@ -759,12 +603,8 @@ pub struct UpdateEventSourceMappingInputBody<'a> { /// ///

    The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 /// characters in length.

    - #[serde(rename = "FunctionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_name: &'a std::option::Option, ///

    If true, the event source mapping is active. Set to false to pause polling and invocation.

    - #[serde(rename = "Enabled")] - #[serde(skip_serializing_if = "Option::is_none")] pub enabled: &'a std::option::Option, ///

    The maximum number of items to retrieve in a single batch.

    ///
      @@ -789,45 +629,25 @@ pub struct UpdateEventSourceMappingInputBody<'a> { /// Self-Managed Apache Kafka - Default 100. Max 10,000.

      /// ///
    - #[serde(rename = "BatchSize")] - #[serde(skip_serializing_if = "Option::is_none")] pub batch_size: &'a std::option::Option, ///

    (Streams and SQS standard queues) The maximum amount of time to gather records before invoking the function, in seconds.

    - #[serde(rename = "MaximumBatchingWindowInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_batching_window_in_seconds: &'a std::option::Option, ///

    (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

    - #[serde(rename = "DestinationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_config: &'a std::option::Option, ///

    (Streams) Discard records older than the specified age. The default value is infinite (-1).

    - #[serde(rename = "MaximumRecordAgeInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_record_age_in_seconds: &'a std::option::Option, ///

    (Streams) If the function returns an error, split the batch in two and retry.

    - #[serde(rename = "BisectBatchOnFunctionError")] - #[serde(skip_serializing_if = "Option::is_none")] pub bisect_batch_on_function_error: &'a std::option::Option, ///

    (Streams) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records will be retried until the record expires.

    - #[serde(rename = "MaximumRetryAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_retry_attempts: &'a std::option::Option, ///

    (Streams) The number of batches to process from each shard concurrently.

    - #[serde(rename = "ParallelizationFactor")] - #[serde(skip_serializing_if = "Option::is_none")] pub parallelization_factor: &'a std::option::Option, ///

    An array of the authentication protocol, or the VPC components to secure your event source.

    - #[serde(rename = "SourceAccessConfigurations")] - #[serde(skip_serializing_if = "Option::is_none")] pub source_access_configurations: &'a std::option::Option>, ///

    (Streams) The duration in seconds of a processing window. The range is between 1 second up to 900 seconds.

    - #[serde(rename = "TumblingWindowInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub tumbling_window_in_seconds: &'a std::option::Option, ///

    (Streams) A list of current response type enums applied to the event source mapping.

    - #[serde(rename = "FunctionResponseTypes")] - #[serde(skip_serializing_if = "Option::is_none")] pub function_response_types: &'a std::option::Option>, } @@ -866,42 +686,27 @@ impl<'a> std::fmt::Debug for UpdateEventSourceMappingInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateFunctionCodeInputBody<'a> { ///

    The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for /// you.

    - #[serde(rename = "ZipFile")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub zip_file: &'a std::option::Option, ///

    An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

    - #[serde(rename = "S3Bucket")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_bucket: &'a std::option::Option, ///

    The Amazon S3 key of the deployment package.

    - #[serde(rename = "S3Key")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_key: &'a std::option::Option, ///

    For versioned objects, the version of the deployment package object to use.

    - #[serde(rename = "S3ObjectVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_object_version: &'a std::option::Option, ///

    URI of a container image in the Amazon ECR registry.

    - #[serde(rename = "ImageUri")] - #[serde(skip_serializing_if = "Option::is_none")] pub image_uri: &'a std::option::Option, ///

    Set to true to publish a new version of the function after updating the code. This has the same effect as /// calling PublishVersion separately.

    - #[serde(rename = "Publish")] pub publish: &'a bool, ///

    Set to true to validate the request parameters and access permissions without modifying the function /// code.

    - #[serde(rename = "DryRun")] pub dry_run: &'a bool, ///

    Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a /// function that has changed since you last read it.

    - #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub revision_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateFunctionCodeInputBody<'a> { @@ -920,80 +725,50 @@ impl<'a> std::fmt::Debug for UpdateFunctionCodeInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateFunctionConfigurationInputBody<'a> { ///

    The Amazon Resource Name (ARN) of the function's execution role.

    - #[serde(rename = "Role")] - #[serde(skip_serializing_if = "Option::is_none")] pub role: &'a std::option::Option, ///

    The name of the method within your code that Lambda calls to execute your function. The format includes the /// file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, /// see Programming Model.

    - #[serde(rename = "Handler")] - #[serde(skip_serializing_if = "Option::is_none")] pub handler: &'a std::option::Option, ///

    A description of the function.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The /// maximum allowed value is 900 seconds.

    - #[serde(rename = "Timeout")] - #[serde(skip_serializing_if = "Option::is_none")] pub timeout: &'a std::option::Option, ///

    The amount of memory available to the function at runtime. Increasing the function's memory also increases its CPU /// allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

    - #[serde(rename = "MemorySize")] - #[serde(skip_serializing_if = "Option::is_none")] pub memory_size: &'a std::option::Option, ///

    For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. /// When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more /// information, see VPC Settings.

    - #[serde(rename = "VpcConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub vpc_config: &'a std::option::Option, ///

    Environment variables that are accessible from function code during execution.

    - #[serde(rename = "Environment")] - #[serde(skip_serializing_if = "Option::is_none")] pub environment: &'a std::option::Option, ///

    The identifier of the function's runtime.

    - #[serde(rename = "Runtime")] - #[serde(skip_serializing_if = "Option::is_none")] pub runtime: &'a std::option::Option, ///

    A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events /// when they fail processing. For more information, see Dead Letter Queues.

    - #[serde(rename = "DeadLetterConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub dead_letter_config: &'a std::option::Option, ///

    The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment /// variables. If it's not provided, AWS Lambda uses a default service key.

    - #[serde(rename = "KMSKeyArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub kms_key_arn: &'a std::option::Option, ///

    Set Mode to Active to sample and trace a subset of incoming requests with AWS /// X-Ray.

    - #[serde(rename = "TracingConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub tracing_config: &'a std::option::Option, ///

    Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a /// function that has changed since you last read it.

    - #[serde(rename = "RevisionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub revision_id: &'a std::option::Option, ///

    A list of function layers /// to add to the function's execution environment. Specify each layer by its ARN, including the version.

    - #[serde(rename = "Layers")] - #[serde(skip_serializing_if = "Option::is_none")] pub layers: &'a std::option::Option>, ///

    Connection settings for an Amazon EFS file system.

    - #[serde(rename = "FileSystemConfigs")] - #[serde(skip_serializing_if = "Option::is_none")] pub file_system_configs: &'a std::option::Option>, ///

    /// Container image configuration /// values that override the values in the container image Dockerfile.

    - #[serde(rename = "ImageConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub image_config: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateFunctionConfigurationInputBody<'a> { @@ -1019,15 +794,11 @@ impl<'a> std::fmt::Debug for UpdateFunctionConfigurationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateFunctionEventInvokeConfigInputBody<'a> { ///

    The maximum number of times to retry when the function returns an error.

    - #[serde(rename = "MaximumRetryAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_retry_attempts: &'a std::option::Option, ///

    The maximum age of a request that Lambda sends to a function for processing.

    - #[serde(rename = "MaximumEventAgeInSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub maximum_event_age_in_seconds: &'a std::option::Option, ///

    A destination for events after they have been sent to a function for processing.

    ///

    @@ -1051,8 +822,6 @@ pub struct UpdateFunctionEventInvokeConfigInputBody<'a> { /// Event Bus - The ARN of an Amazon EventBridge event bus.

    /// /// - #[serde(rename = "DestinationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub destination_config: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateFunctionEventInvokeConfigInputBody<'a> { diff --git a/sdk/polly/Cargo.toml b/sdk/polly/Cargo.toml index 744c48da12c3..2d3ef79bcbd2 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.5-alpha" +version = "0.0.6-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" @@ -34,6 +34,8 @@ version = "1" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [features] client = ["aws-hyper"] rustls = ["aws-hyper/rustls"] diff --git a/sdk/polly/src/aws_json_errors.rs b/sdk/polly/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/polly/src/aws_json_errors.rs +++ b/sdk/polly/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/polly/src/client.rs b/sdk/polly/src/client.rs index 21fca902ffdd..f9772c22fbe2 100644 --- a/sdk/polly/src/client.rs +++ b/sdk/polly/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,45 +33,35 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn delete_lexicon(&self) -> fluent_builders::DeleteLexicon { fluent_builders::DeleteLexicon::new(self.handle.clone()) } - pub fn describe_voices(&self) -> fluent_builders::DescribeVoices { fluent_builders::DescribeVoices::new(self.handle.clone()) } - pub fn get_lexicon(&self) -> fluent_builders::GetLexicon { fluent_builders::GetLexicon::new(self.handle.clone()) } - pub fn get_speech_synthesis_task(&self) -> fluent_builders::GetSpeechSynthesisTask { fluent_builders::GetSpeechSynthesisTask::new(self.handle.clone()) } - pub fn list_lexicons(&self) -> fluent_builders::ListLexicons { fluent_builders::ListLexicons::new(self.handle.clone()) } - pub fn list_speech_synthesis_tasks(&self) -> fluent_builders::ListSpeechSynthesisTasks { fluent_builders::ListSpeechSynthesisTasks::new(self.handle.clone()) } - pub fn put_lexicon(&self) -> fluent_builders::PutLexicon { fluent_builders::PutLexicon::new(self.handle.clone()) } - pub fn start_speech_synthesis_task(&self) -> fluent_builders::StartSpeechSynthesisTask { fluent_builders::StartSpeechSynthesisTask::new(self.handle.clone()) } - pub fn synthesize_speech(&self) -> fluent_builders::SynthesizeSpeech { fluent_builders::SynthesizeSpeech::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct DeleteLexicon { handle: std::sync::Arc, @@ -102,7 +90,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the lexicon to delete. Must be an existing lexicon in the region.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -113,7 +100,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeVoices { handle: std::sync::Arc, @@ -142,7 +128,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the engine (standard or neural) used by Amazon Polly /// when processing input text for speech synthesis.

    pub fn engine(mut self, inp: crate::model::Engine) -> Self { @@ -191,7 +176,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetLexicon { handle: std::sync::Arc, @@ -220,7 +204,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Name of the lexicon.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -231,7 +214,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetSpeechSynthesisTask { handle: std::sync::Arc, @@ -260,7 +242,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The Amazon Polly generated identifier for a speech synthesis task.

    pub fn task_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.task_id(inp); @@ -271,7 +252,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListLexicons { handle: std::sync::Arc, @@ -300,7 +280,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    An opaque pagination token returned from previous ListLexicons operation. /// If present, indicates where to continue the list of lexicons.

    pub fn next_token(mut self, inp: impl Into) -> Self { @@ -312,7 +291,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListSpeechSynthesisTasks { handle: std::sync::Arc, @@ -341,7 +319,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Maximum number of speech synthesis tasks returned in a List operation.

    pub fn max_results(mut self, inp: i32) -> Self { self.inner = self.inner.max_results(inp); @@ -371,7 +348,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutLexicon { handle: std::sync::Arc, @@ -400,7 +376,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Name of the lexicon. The name must follow the regular express format [0-9A-Za-z]{1,20}. /// That is, the name is a case-sensitive alphanumeric string up to 20 characters long.

    pub fn name(mut self, inp: impl Into) -> Self { @@ -421,7 +396,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StartSpeechSynthesisTask { handle: std::sync::Arc, @@ -450,7 +424,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the engine (standard or neural) for Amazon Polly to /// use when processing input text for speech synthesis. Using a voice that is not supported for /// the engine selected will result in an error.

    @@ -596,7 +569,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct SynthesizeSpeech { handle: std::sync::Arc, @@ -625,7 +597,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the engine (standard or neural) for Amazon Polly to /// use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available in standard-only, NTTS-only, and /// both standard and NTTS formats, see Available Voices.

    diff --git a/sdk/polly/src/config.rs b/sdk/polly/src/config.rs index bafb35193537..76514de8c65e 100644 --- a/sdk/polly/src/config.rs +++ b/sdk/polly/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/polly/src/error.rs b/sdk/polly/src/error.rs index ba283a231f25..d5856286e3f7 100644 --- a/sdk/polly/src/error.rs +++ b/sdk/polly/src/error.rs @@ -10,7 +10,6 @@ pub struct DeleteLexiconError { pub enum DeleteLexiconErrorKind { LexiconNotFoundError(crate::error::LexiconNotFoundError), ServiceFailureError(crate::error::ServiceFailureError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -31,7 +30,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteLexiconError { None } } - impl DeleteLexiconError { pub fn new(kind: DeleteLexiconErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -54,18 +52,21 @@ impl DeleteLexiconError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteLexiconError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -87,7 +88,6 @@ pub struct DescribeVoicesError { pub enum DescribeVoicesErrorKind { InvalidNextTokenError(crate::error::InvalidNextTokenError), ServiceFailureError(crate::error::ServiceFailureError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -108,7 +108,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeVoicesError { None } } - impl DescribeVoicesError { pub fn new(kind: DescribeVoicesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -131,18 +130,21 @@ impl DescribeVoicesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeVoicesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -164,7 +166,6 @@ pub struct GetLexiconError { pub enum GetLexiconErrorKind { LexiconNotFoundError(crate::error::LexiconNotFoundError), ServiceFailureError(crate::error::ServiceFailureError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -185,7 +186,6 @@ impl smithy_types::retry::ProvideErrorKind for GetLexiconError { None } } - impl GetLexiconError { pub fn new(kind: GetLexiconErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -208,18 +208,21 @@ impl GetLexiconError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetLexiconError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -242,7 +245,6 @@ pub enum GetSpeechSynthesisTaskErrorKind { InvalidTaskIdError(crate::error::InvalidTaskIdError), ServiceFailureError(crate::error::ServiceFailureError), SynthesisTaskNotFoundError(crate::error::SynthesisTaskNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -264,7 +266,6 @@ impl smithy_types::retry::ProvideErrorKind for GetSpeechSynthesisTaskError { None } } - impl GetSpeechSynthesisTaskError { pub fn new(kind: GetSpeechSynthesisTaskErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -287,18 +288,21 @@ impl GetSpeechSynthesisTaskError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetSpeechSynthesisTaskError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -321,7 +325,6 @@ pub struct ListLexiconsError { pub enum ListLexiconsErrorKind { InvalidNextTokenError(crate::error::InvalidNextTokenError), ServiceFailureError(crate::error::ServiceFailureError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -342,7 +345,6 @@ impl smithy_types::retry::ProvideErrorKind for ListLexiconsError { None } } - impl ListLexiconsError { pub fn new(kind: ListLexiconsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -365,18 +367,21 @@ impl ListLexiconsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListLexiconsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -398,7 +403,6 @@ pub struct ListSpeechSynthesisTasksError { pub enum ListSpeechSynthesisTasksErrorKind { InvalidNextTokenError(crate::error::InvalidNextTokenError), ServiceFailureError(crate::error::ServiceFailureError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -419,7 +423,6 @@ impl smithy_types::retry::ProvideErrorKind for ListSpeechSynthesisTasksError { None } } - impl ListSpeechSynthesisTasksError { pub fn new(kind: ListSpeechSynthesisTasksErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -442,18 +445,21 @@ impl ListSpeechSynthesisTasksError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListSpeechSynthesisTasksError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -480,7 +486,6 @@ pub enum PutLexiconErrorKind { ServiceFailureError(crate::error::ServiceFailureError), UnsupportedPlsAlphabetError(crate::error::UnsupportedPlsAlphabetError), UnsupportedPlsLanguageError(crate::error::UnsupportedPlsLanguageError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -506,7 +511,6 @@ impl smithy_types::retry::ProvideErrorKind for PutLexiconError { None } } - impl PutLexiconError { pub fn new(kind: PutLexiconErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -529,18 +533,21 @@ impl PutLexiconError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutLexiconError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -577,7 +584,6 @@ pub enum StartSpeechSynthesisTaskErrorKind { ServiceFailureError(crate::error::ServiceFailureError), SsmlMarksNotSupportedForTextTypeError(crate::error::SsmlMarksNotSupportedForTextTypeError), TextLengthExceededError(crate::error::TextLengthExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -612,7 +618,6 @@ impl smithy_types::retry::ProvideErrorKind for StartSpeechSynthesisTaskError { None } } - impl StartSpeechSynthesisTaskError { pub fn new(kind: StartSpeechSynthesisTaskErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -635,18 +640,21 @@ impl StartSpeechSynthesisTaskError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StartSpeechSynthesisTaskError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -689,7 +697,6 @@ pub enum SynthesizeSpeechErrorKind { ServiceFailureError(crate::error::ServiceFailureError), SsmlMarksNotSupportedForTextTypeError(crate::error::SsmlMarksNotSupportedForTextTypeError), TextLengthExceededError(crate::error::TextLengthExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -719,7 +726,6 @@ impl smithy_types::retry::ProvideErrorKind for SynthesizeSpeechError { None } } - impl SynthesizeSpeechError { pub fn new(kind: SynthesizeSpeechErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -742,18 +748,21 @@ impl SynthesizeSpeechError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for SynthesizeSpeechError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -780,10 +789,9 @@ impl std::error::Error for SynthesizeSpeechError { /// more than 100,000 can be billed characters. SSML tags are not counted as billed /// characters.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TextLengthExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -843,10 +851,9 @@ impl TextLengthExceededError { ///

    SSML speech marks are not supported for plain text-type input.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SsmlMarksNotSupportedForTextTypeError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -909,10 +916,9 @@ impl SsmlMarksNotSupportedForTextTypeError { ///

    An unknown condition has caused a service failure.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceFailureError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -973,10 +979,9 @@ impl ServiceFailureError { ///

    Speech marks are not supported for the OutputFormat selected. Speech marks /// are only available for content in json format.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MarksNotSupportedForFormatError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1043,10 +1048,9 @@ impl MarksNotSupportedForFormatError { ///

    Verify that the lexicon exists, is in the region (see ListLexicons) /// and that you spelled its name is spelled correctly. Then try again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LexiconNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1106,10 +1110,9 @@ impl LexiconNotFoundError { ///

    The language specified is not currently supported by Amazon Polly in this capacity.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LanguageNotSupportedError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1173,10 +1176,9 @@ impl LanguageNotSupportedError { ///

    The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, /// and then try again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSsmlError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1236,10 +1238,9 @@ impl InvalidSsmlError { ///

    The specified sample rate is not valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSampleRateError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1300,10 +1301,9 @@ impl InvalidSampleRateError { ///

    This engine is not compatible with the voice that you have designated. Choose a new voice /// that is compatible with the engine or change the engine and restart the operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EngineNotSupportedError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1364,10 +1364,9 @@ impl EngineNotSupportedError { ///

    The provided SNS topic ARN is invalid. Please provide a valid SNS topic ARN and try /// again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSnsTopicArnError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1428,10 +1427,9 @@ impl InvalidSnsTopicArnError { ///

    The provided Amazon S3 key prefix is invalid. Please provide a valid S3 object key /// name.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidS3KeyError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1492,10 +1490,9 @@ impl InvalidS3KeyError { ///

    The provided Amazon S3 bucket name is invalid. Please check your input with S3 bucket /// naming requirements and try again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidS3BucketError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1557,10 +1554,9 @@ impl InvalidS3BucketError { /// languages, see Lexicon /// Attributes.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedPlsLanguageError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1624,10 +1620,9 @@ impl UnsupportedPlsLanguageError { ///

    The alphabet specified by the lexicon is not a supported alphabet. Valid values are /// x-sampa and ipa.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedPlsAlphabetError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1690,10 +1685,9 @@ impl UnsupportedPlsAlphabetError { ///

    The maximum number of lexicons would be exceeded by this operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaxLexiconsNumberExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1756,10 +1750,9 @@ impl MaxLexiconsNumberExceededError { ///

    The maximum size of the lexeme would be exceeded by this operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaxLexemeLengthExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1823,10 +1816,9 @@ impl MaxLexemeLengthExceededError { ///

    The maximum size of the specified lexicon would be exceeded by this /// operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LexiconSizeExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1887,10 +1879,9 @@ impl LexiconSizeExceededError { ///

    Amazon Polly can't find the specified lexicon. Verify that the lexicon's name is /// spelled correctly, and then try again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidLexiconError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1951,10 +1942,9 @@ impl InvalidLexiconError { ///

    The NextToken is invalid. Verify that it's spelled correctly, and then try /// again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidNextTokenError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2014,10 +2004,9 @@ impl InvalidNextTokenError { ///

    The Speech Synthesis task with requested Task ID cannot be found.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SynthesisTaskNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2080,10 +2069,9 @@ impl SynthesisTaskNotFoundError { ///

    The provided Task ID is not valid. Please provide a valid Task ID and try again.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidTaskIdError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/polly/src/http_serde.rs b/sdk/polly/src/http_serde.rs index 2eae5b3f207b..dbb635a85936 100644 --- a/sdk/polly/src/http_serde.rs +++ b/sdk/polly/src/http_serde.rs @@ -12,7 +12,6 @@ pub fn deser_header_synthesize_speech_content_type( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Type").iter(); let var_1: Vec = smithy_http::header::read_many(headers)?; - if var_1.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -26,7 +25,6 @@ pub fn deser_header_synthesize_speech_request_characters( ) -> Result { let headers = header_map.get_all("x-amzn-RequestCharacters").iter(); let var_2: Vec = smithy_http::header::read_many(headers)?; - if var_2.len() > 1 { return Err(smithy_http::header::ParseError); } diff --git a/sdk/polly/src/input.rs b/sdk/polly/src/input.rs index 1cf712d424b5..bb7a80006ef5 100644 --- a/sdk/polly/src/input.rs +++ b/sdk/polly/src/input.rs @@ -45,41 +45,33 @@ impl DeleteLexiconInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteLexicon::new(), @@ -88,7 +80,6 @@ impl DeleteLexiconInput { "DeleteLexicon", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -224,41 +215,33 @@ impl DescribeVoicesInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeVoices::new(), @@ -267,7 +250,6 @@ impl DescribeVoicesInput { "DescribeVoices", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -371,47 +353,38 @@ impl GetLexiconInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetLexicon::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetLexicon", "polly")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -502,41 +475,33 @@ impl GetSpeechSynthesisTaskInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetSpeechSynthesisTask::new(), @@ -545,7 +510,6 @@ impl GetSpeechSynthesisTaskInput { "GetSpeechSynthesisTask", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -636,41 +600,33 @@ impl ListLexiconsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListLexicons::new(), @@ -679,7 +635,6 @@ impl ListLexiconsInput { "ListLexicons", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -795,41 +750,33 @@ impl ListSpeechSynthesisTasksInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListSpeechSynthesisTasks::new(), @@ -838,7 +785,6 @@ impl ListSpeechSynthesisTasksInput { "ListSpeechSynthesisTasks", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -946,52 +892,43 @@ impl PutLexiconInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_lexicon_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_lexicon(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutLexicon::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutLexicon", "polly")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1238,49 +1175,38 @@ impl StartSpeechSynthesisTaskInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_start_speech_synthesis_task_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_start_speech_synthesis_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StartSpeechSynthesisTask::new(), @@ -1289,7 +1215,6 @@ impl StartSpeechSynthesisTaskInput { "StartSpeechSynthesisTask", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1510,47 +1435,37 @@ impl SynthesizeSpeechInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_synthesize_speech_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_synthesize_speech(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::SynthesizeSpeech::new(), @@ -1559,7 +1474,6 @@ impl SynthesizeSpeechInput { "SynthesizeSpeech", "polly", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) diff --git a/sdk/polly/src/json_deser.rs b/sdk/polly/src/json_deser.rs index 15a449024050..ad068463766c 100644 --- a/sdk/polly/src/json_deser.rs +++ b/sdk/polly/src/json_deser.rs @@ -21,7 +21,6 @@ pub fn lexicon_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -38,7 +37,6 @@ pub fn service_failure_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -55,7 +53,6 @@ pub fn invalid_next_token_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -72,7 +69,6 @@ pub fn describe_voices_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_voices(parsed_body.voices); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -90,7 +86,6 @@ pub fn get_lexicon_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_lexicon(parsed_body.lexicon); builder = builder.set_lexicon_attributes(parsed_body.lexicon_attributes); Ok(builder) @@ -108,7 +103,6 @@ pub fn invalid_task_id_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -125,7 +119,6 @@ pub fn synthesis_task_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -142,7 +135,6 @@ pub fn get_speech_synthesis_task_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_synthesis_task(parsed_body.synthesis_task); Ok(builder) } @@ -159,7 +151,6 @@ pub fn list_lexicons_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_lexicons(parsed_body.lexicons); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -177,7 +168,6 @@ pub fn list_speech_synthesis_tasks_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_token(parsed_body.next_token); builder = builder.set_synthesis_tasks(parsed_body.synthesis_tasks); Ok(builder) @@ -195,7 +185,6 @@ pub fn invalid_lexicon_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -212,7 +201,6 @@ pub fn lexicon_size_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -229,7 +217,6 @@ pub fn max_lexeme_length_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -246,7 +233,6 @@ pub fn max_lexicons_number_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -263,7 +249,6 @@ pub fn unsupported_pls_alphabet_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -280,7 +265,6 @@ pub fn unsupported_pls_language_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -297,7 +281,6 @@ pub fn engine_not_supported_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -314,7 +297,6 @@ pub fn invalid_s3_bucket_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -331,7 +313,6 @@ pub fn invalid_s3_key_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -348,7 +329,6 @@ pub fn invalid_sample_rate_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -365,7 +345,6 @@ pub fn invalid_sns_topic_arn_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -382,7 +361,6 @@ pub fn invalid_ssml_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -399,7 +377,6 @@ pub fn language_not_supported_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -416,7 +393,6 @@ pub fn marks_not_supported_for_format_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -434,7 +410,6 @@ pub fn ssml_marks_not_supported_for_text_type_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -451,7 +426,6 @@ pub fn text_length_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -468,7 +442,6 @@ pub fn start_speech_synthesis_task_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_synthesis_task(parsed_body.synthesis_task); Ok(builder) } diff --git a/sdk/polly/src/json_ser.rs b/sdk/polly/src/json_ser.rs new file mode 100644 index 000000000000..f4d9c6204f50 --- /dev/null +++ b/sdk/polly/src/json_ser.rs @@ -0,0 +1,100 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_put_lexicon_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutLexiconInput, +) { + if let Some(var_1) = &input.content { + object.key("Content").string(var_1); + } +} + +pub fn serialize_structure_start_speech_synthesis_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartSpeechSynthesisTaskInput, +) { + if let Some(var_2) = &input.engine { + object.key("Engine").string(var_2.as_str()); + } + if let Some(var_3) = &input.language_code { + object.key("LanguageCode").string(var_3.as_str()); + } + if let Some(var_4) = &input.lexicon_names { + let mut array_5 = object.key("LexiconNames").start_array(); + for item_6 in var_4 { + array_5.value().string(item_6); + } + array_5.finish(); + } + if let Some(var_7) = &input.output_format { + object.key("OutputFormat").string(var_7.as_str()); + } + if let Some(var_8) = &input.output_s3_bucket_name { + object.key("OutputS3BucketName").string(var_8); + } + if let Some(var_9) = &input.output_s3_key_prefix { + object.key("OutputS3KeyPrefix").string(var_9); + } + if let Some(var_10) = &input.sample_rate { + object.key("SampleRate").string(var_10); + } + if let Some(var_11) = &input.sns_topic_arn { + object.key("SnsTopicArn").string(var_11); + } + if let Some(var_12) = &input.speech_mark_types { + let mut array_13 = object.key("SpeechMarkTypes").start_array(); + for item_14 in var_12 { + array_13.value().string(item_14.as_str()); + } + array_13.finish(); + } + if let Some(var_15) = &input.text { + object.key("Text").string(var_15); + } + if let Some(var_16) = &input.text_type { + object.key("TextType").string(var_16.as_str()); + } + if let Some(var_17) = &input.voice_id { + object.key("VoiceId").string(var_17.as_str()); + } +} + +pub fn serialize_structure_synthesize_speech_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SynthesizeSpeechInput, +) { + if let Some(var_18) = &input.engine { + object.key("Engine").string(var_18.as_str()); + } + if let Some(var_19) = &input.language_code { + object.key("LanguageCode").string(var_19.as_str()); + } + if let Some(var_20) = &input.lexicon_names { + let mut array_21 = object.key("LexiconNames").start_array(); + for item_22 in var_20 { + array_21.value().string(item_22); + } + array_21.finish(); + } + if let Some(var_23) = &input.output_format { + object.key("OutputFormat").string(var_23.as_str()); + } + if let Some(var_24) = &input.sample_rate { + object.key("SampleRate").string(var_24); + } + if let Some(var_25) = &input.speech_mark_types { + let mut array_26 = object.key("SpeechMarkTypes").start_array(); + for item_27 in var_25 { + array_26.value().string(item_27.as_str()); + } + array_26.finish(); + } + if let Some(var_28) = &input.text { + object.key("Text").string(var_28); + } + if let Some(var_29) = &input.text_type { + object.key("TextType").string(var_29.as_str()); + } + if let Some(var_30) = &input.voice_id { + object.key("VoiceId").string(var_30.as_str()); + } +} diff --git a/sdk/polly/src/lib.rs b/sdk/polly/src/lib.rs index 0d5377d2ab25..3985366d618c 100644 --- a/sdk/polly/src/lib.rs +++ b/sdk/polly/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //!

    Amazon Polly is a web service that makes it easy to synthesize speech from //! text.

    //!

    The Amazon Polly service provides API operations for synthesizing high-quality speech @@ -24,6 +25,7 @@ mod http_serde; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_deser; @@ -32,6 +34,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/polly/src/model.rs b/sdk/polly/src/model.rs index 6e76823dafe7..f259c8089c54 100644 --- a/sdk/polly/src/model.rs +++ b/sdk/polly/src/model.rs @@ -143,7 +143,6 @@ impl std::convert::From<&str> for VoiceId { } } } - impl std::str::FromStr for VoiceId { type Err = std::convert::Infallible; @@ -151,7 +150,6 @@ impl std::str::FromStr for VoiceId { Ok(VoiceId::from(s)) } } - impl VoiceId { pub fn as_str(&self) -> &str { match self { @@ -226,19 +224,6 @@ impl AsRef for VoiceId { self.as_str() } } - -impl serde::Serialize for VoiceId { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for VoiceId { fn deserialize(deserializer: D) -> Result where @@ -273,7 +258,6 @@ impl std::convert::From<&str> for TextType { } } } - impl std::str::FromStr for TextType { type Err = std::convert::Infallible; @@ -281,7 +265,6 @@ impl std::str::FromStr for TextType { Ok(TextType::from(s)) } } - impl TextType { pub fn as_str(&self) -> &str { match self { @@ -296,19 +279,6 @@ impl AsRef for TextType { self.as_str() } } - -impl serde::Serialize for TextType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TextType { fn deserialize(deserializer: D) -> Result where @@ -347,7 +317,6 @@ impl std::convert::From<&str> for SpeechMarkType { } } } - impl std::str::FromStr for SpeechMarkType { type Err = std::convert::Infallible; @@ -355,7 +324,6 @@ impl std::str::FromStr for SpeechMarkType { Ok(SpeechMarkType::from(s)) } } - impl SpeechMarkType { pub fn as_str(&self) -> &str { match self { @@ -372,19 +340,6 @@ impl AsRef for SpeechMarkType { self.as_str() } } - -impl serde::Serialize for SpeechMarkType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SpeechMarkType { fn deserialize(deserializer: D) -> Result where @@ -423,7 +378,6 @@ impl std::convert::From<&str> for OutputFormat { } } } - impl std::str::FromStr for OutputFormat { type Err = std::convert::Infallible; @@ -431,7 +385,6 @@ impl std::str::FromStr for OutputFormat { Ok(OutputFormat::from(s)) } } - impl OutputFormat { pub fn as_str(&self) -> &str { match self { @@ -448,19 +401,6 @@ impl AsRef for OutputFormat { self.as_str() } } - -impl serde::Serialize for OutputFormat { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OutputFormat { fn deserialize(deserializer: D) -> Result where @@ -549,7 +489,6 @@ impl std::convert::From<&str> for LanguageCode { } } } - impl std::str::FromStr for LanguageCode { type Err = std::convert::Infallible; @@ -557,7 +496,6 @@ impl std::str::FromStr for LanguageCode { Ok(LanguageCode::from(s)) } } - impl LanguageCode { pub fn as_str(&self) -> &str { match self { @@ -599,19 +537,6 @@ impl AsRef for LanguageCode { self.as_str() } } - -impl serde::Serialize for LanguageCode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for LanguageCode { fn deserialize(deserializer: D) -> Result where @@ -646,7 +571,6 @@ impl std::convert::From<&str> for Engine { } } } - impl std::str::FromStr for Engine { type Err = std::convert::Infallible; @@ -654,7 +578,6 @@ impl std::str::FromStr for Engine { Ok(Engine::from(s)) } } - impl Engine { pub fn as_str(&self) -> &str { match self { @@ -669,19 +592,6 @@ impl AsRef for Engine { self.as_str() } } - -impl serde::Serialize for Engine { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Engine { fn deserialize(deserializer: D) -> Result where @@ -694,42 +604,33 @@ impl<'de> serde::Deserialize<'de> for Engine { ///

    SynthesisTask object that provides information about a speech synthesis task.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SynthesisTask { ///

    Specifies the engine (standard or neural) for Amazon Polly to /// use when processing input text for speech synthesis. Using a voice that is not supported for /// the engine selected will result in an error.

    #[serde(rename = "Engine")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub engine: std::option::Option, ///

    The Amazon Polly generated identifier for a speech synthesis task.

    #[serde(rename = "TaskId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_id: std::option::Option, ///

    Current status of the individual speech synthesis task.

    #[serde(rename = "TaskStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_status: std::option::Option, ///

    Reason for the current status of a specific speech synthesis task, including errors if the /// task has failed.

    #[serde(rename = "TaskStatusReason")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_status_reason: std::option::Option, ///

    Pathway for the output speech file.

    #[serde(rename = "OutputUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_uri: std::option::Option, ///

    Timestamp for the time the synthesis task was started.

    #[serde(rename = "CreationTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -741,20 +642,17 @@ pub struct SynthesisTask { ///

    ARN for the SNS topic optionally used for providing status notification for a speech /// synthesis task.

    #[serde(rename = "SnsTopicArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sns_topic_arn: std::option::Option, ///

    List of one or more pronunciation lexicon names you want the service to apply during /// synthesis. Lexicons are applied only if the language of the lexicon is the same as the /// language of the voice.

    #[serde(rename = "LexiconNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub lexicon_names: std::option::Option>, ///

    The format in which the returned output will be encoded. For audio stream, this will be /// mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

    #[serde(rename = "OutputFormat")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_format: std::option::Option, ///

    The audio frequency specified in Hz.

    @@ -763,23 +661,19 @@ pub struct SynthesisTask { /// "24000".

    ///

    Valid values for pcm are "8000" and "16000" The default value is "16000".

    #[serde(rename = "SampleRate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sample_rate: std::option::Option, ///

    The type of speech marks returned for the input text.

    #[serde(rename = "SpeechMarkTypes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub speech_mark_types: std::option::Option>, ///

    Specifies whether the input text is plain text or SSML. The default value is plain text. ///

    #[serde(rename = "TextType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub text_type: std::option::Option, ///

    Voice ID to use for the synthesis.

    #[serde(rename = "VoiceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub voice_id: std::option::Option, ///

    Optional language code for a synthesis task. This is only necessary if using a bilingual @@ -789,7 +683,6 @@ pub struct SynthesisTask { /// returned by the DescribeVoices operation for the LanguageCode parameter. For example, /// if no language code is specified, Aditi will use Indian English rather than Hindi.

    #[serde(rename = "LanguageCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub language_code: std::option::Option, } @@ -1068,7 +961,6 @@ impl std::convert::From<&str> for TaskStatus { } } } - impl std::str::FromStr for TaskStatus { type Err = std::convert::Infallible; @@ -1076,7 +968,6 @@ impl std::str::FromStr for TaskStatus { Ok(TaskStatus::from(s)) } } - impl TaskStatus { pub fn as_str(&self) -> &str { match self { @@ -1093,19 +984,6 @@ impl AsRef for TaskStatus { self.as_str() } } - -impl serde::Serialize for TaskStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TaskStatus { fn deserialize(deserializer: D) -> Result where @@ -1118,16 +996,14 @@ impl<'de> serde::Deserialize<'de> for TaskStatus { ///

    Describes the content of the lexicon.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LexiconDescription { ///

    Name of the lexicon.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    Provides lexicon metadata.

    #[serde(rename = "Attributes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attributes: std::option::Option, } @@ -1190,26 +1066,20 @@ impl LexiconDescription { /// and so on. For more information, see Managing /// Lexicons.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LexiconAttributes { ///

    Phonetic alphabet used in the lexicon. Valid values are ipa and /// x-sampa.

    #[serde(rename = "Alphabet")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub alphabet: std::option::Option, ///

    Language code that the lexicon applies to. A lexicon with a language code such as "en" /// would be applied to all English languages (en-GB, en-US, en-AUS, en-WLS, and so on.

    #[serde(rename = "LanguageCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub language_code: std::option::Option, ///

    Date lexicon was last modified (a timestamp value).

    #[serde(rename = "LastModified")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -1217,7 +1087,6 @@ pub struct LexiconAttributes { pub last_modified: std::option::Option, ///

    Amazon Resource Name (ARN) of the lexicon.

    #[serde(rename = "LexiconArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub lexicon_arn: std::option::Option, ///

    Number of lexemes in the lexicon.

    @@ -1339,17 +1208,15 @@ impl LexiconAttributes { /// Pronunciation Lexicon /// Specification (PLS) Version 1.0.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Lexicon { ///

    Lexicon content in string format. The content of a lexicon must be in PLS /// format.

    #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content: std::option::Option, ///

    Name of the lexicon.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -1408,33 +1275,28 @@ impl Lexicon { ///

    Description of the voice.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Voice { ///

    Gender of the voice.

    #[serde(rename = "Gender")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub gender: std::option::Option, ///

    Amazon Polly assigned voice ID. This is the ID that you specify when calling the /// SynthesizeSpeech operation.

    #[serde(rename = "Id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    Language code of the voice.

    #[serde(rename = "LanguageCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub language_code: std::option::Option, ///

    Human readable name of the language in English.

    #[serde(rename = "LanguageName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub language_name: std::option::Option, ///

    Name of the voice (for example, Salli, Kendra, etc.). This provides a human readable /// voice name that you might display in your application.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    Additional codes for languages available for the specified voice in addition to its @@ -1443,13 +1305,11 @@ pub struct Voice { /// used for that language. Since Aditi is bilingual and fluent in both Indian English and Hindi, /// this parameter would show the code hi-IN.

    #[serde(rename = "AdditionalLanguageCodes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub additional_language_codes: std::option::Option>, ///

    Specifies which engines (standard or neural) that are supported /// by a given voice.

    #[serde(rename = "SupportedEngines")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub supported_engines: std::option::Option>, } @@ -1606,7 +1466,6 @@ impl std::convert::From<&str> for Gender { } } } - impl std::str::FromStr for Gender { type Err = std::convert::Infallible; @@ -1614,7 +1473,6 @@ impl std::str::FromStr for Gender { Ok(Gender::from(s)) } } - impl Gender { pub fn as_str(&self) -> &str { match self { @@ -1629,19 +1487,6 @@ impl AsRef for Gender { self.as_str() } } - -impl serde::Serialize for Gender { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Gender { fn deserialize(deserializer: D) -> Result where diff --git a/sdk/polly/src/operation.rs b/sdk/polly/src/operation.rs index 366f55a0c07d..1b772b11cc32 100644 --- a/sdk/polly/src/operation.rs +++ b/sdk/polly/src/operation.rs @@ -4,7 +4,7 @@ /// using either the GetLexicon or ListLexicon APIs.

    ///

    For more information, see Managing /// Lexicons.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteLexicon { _private: (), } @@ -17,7 +17,6 @@ impl DeleteLexicon { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteLexicon { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -43,7 +42,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteLexicon { /// English voices.

    ///

    This operation requires permissions to perform the polly:DescribeVoices /// action.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeVoices { _private: (), } @@ -56,7 +55,6 @@ impl DescribeVoices { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeVoices { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -71,7 +69,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeVoices { ///

    Returns the content of the specified pronunciation lexicon stored in an AWS Region. For /// more information, see Managing /// Lexicons.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetLexicon { _private: (), } @@ -84,7 +82,6 @@ impl GetLexicon { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetLexicon { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -99,7 +96,7 @@ impl smithy_http::response::ParseStrictResponse for GetLexicon { ///

    Retrieves a specific SpeechSynthesisTask object based on its TaskID. This object contains /// information about the given speech synthesis task, including the status of the task, and a /// link to the S3 bucket containing the output of the task.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetSpeechSynthesisTask { _private: (), } @@ -112,7 +109,6 @@ impl GetSpeechSynthesisTask { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetSpeechSynthesisTask { type Output = Result< crate::output::GetSpeechSynthesisTaskOutput, @@ -130,7 +126,7 @@ impl smithy_http::response::ParseStrictResponse for GetSpeechSynthesisTask { ///

    Returns a list of pronunciation lexicons stored in an AWS Region. For more information, /// see Managing /// Lexicons.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListLexicons { _private: (), } @@ -143,7 +139,6 @@ impl ListLexicons { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListLexicons { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -158,7 +153,7 @@ impl smithy_http::response::ParseStrictResponse for ListLexicons { ///

    Returns a list of SpeechSynthesisTask objects ordered by their creation date. This /// operation can filter the tasks by their status, for example, allowing users to list only tasks /// that are completed.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListSpeechSynthesisTasks { _private: (), } @@ -171,7 +166,6 @@ impl ListSpeechSynthesisTasks { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListSpeechSynthesisTasks { type Output = Result< crate::output::ListSpeechSynthesisTasksOutput, @@ -192,7 +186,7 @@ impl smithy_http::response::ParseStrictResponse for ListSpeechSynthesisTasks { /// the SynthesizeSpeech operation.

    ///

    For more information, see Managing /// Lexicons.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutLexicon { _private: (), } @@ -205,7 +199,6 @@ impl PutLexicon { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutLexicon { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -223,7 +216,7 @@ impl smithy_http::response::ParseStrictResponse for PutLexicon { /// output of the synthesis task and two optional parameters (OutputS3KeyPrefix and SnsTopicArn). /// Once the synthesis task is created, this operation will return a SpeechSynthesisTask object, /// which will include an identifier of this task as well as the current status.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartSpeechSynthesisTask { _private: (), } @@ -236,7 +229,6 @@ impl StartSpeechSynthesisTask { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StartSpeechSynthesisTask { type Output = Result< crate::output::StartSpeechSynthesisTaskOutput, @@ -256,7 +248,7 @@ impl smithy_http::response::ParseStrictResponse for StartSpeechSynthesisTask { /// example, Cyrillic might not be read at all by English voices) unless phoneme mapping is used. /// For more information, see How it /// Works.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SynthesizeSpeech { _private: (), } @@ -269,7 +261,6 @@ impl SynthesizeSpeech { Self { _private: () } } } - impl smithy_http::response::ParseHttpResponse for SynthesizeSpeech { type Output = Result; diff --git a/sdk/polly/src/operation_deser.rs b/sdk/polly/src/operation_deser.rs index b9a797ef2b2a..9ecc2a4d504b 100644 --- a/sdk/polly/src/operation_deser.rs +++ b/sdk/polly/src/operation_deser.rs @@ -5,7 +5,6 @@ pub fn parse_delete_lexicon_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteLexiconError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteLexiconError::unhandled(generic)), @@ -59,7 +58,6 @@ pub fn parse_describe_voices_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DescribeVoicesError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeVoicesError::unhandled(generic)), @@ -116,7 +114,6 @@ pub fn parse_get_lexicon_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetLexiconError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetLexiconError::unhandled(generic)), @@ -173,7 +170,6 @@ pub fn parse_get_speech_synthesis_task_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetSpeechSynthesisTaskError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -249,7 +245,6 @@ pub fn parse_list_lexicons_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListLexiconsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListLexiconsError::unhandled(generic)), @@ -308,7 +303,6 @@ pub fn parse_list_speech_synthesis_tasks_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListSpeechSynthesisTasksError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -374,7 +368,6 @@ pub fn parse_put_lexicon_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::PutLexiconError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutLexiconError::unhandled(generic)), @@ -500,7 +493,6 @@ pub fn parse_start_speech_synthesis_task_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::StartSpeechSynthesisTaskError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -645,7 +637,6 @@ pub fn parse_synthesize_speech_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::SynthesizeSpeechError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::SynthesizeSpeechError::unhandled(generic)), diff --git a/sdk/polly/src/operation_ser.rs b/sdk/polly/src/operation_ser.rs index 589582e3d3c1..323d0935b507 100644 --- a/sdk/polly/src/operation_ser.rs +++ b/sdk/polly/src/operation_ser.rs @@ -1,46 +1,30 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_put_lexicon_input_body( +pub fn serialize_operation_put_lexicon( input: &crate::input::PutLexiconInput, ) -> Result { - let body = crate::serializer::PutLexiconInputBody { - content: &input.content, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_lexicon_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_start_speech_synthesis_task_input_body( +pub fn serialize_operation_start_speech_synthesis_task( input: &crate::input::StartSpeechSynthesisTaskInput, ) -> Result { - let body = crate::serializer::StartSpeechSynthesisTaskInputBody { - engine: &input.engine, - language_code: &input.language_code, - lexicon_names: &input.lexicon_names, - output_format: &input.output_format, - output_s3_bucket_name: &input.output_s3_bucket_name, - output_s3_key_prefix: &input.output_s3_key_prefix, - sample_rate: &input.sample_rate, - sns_topic_arn: &input.sns_topic_arn, - speech_mark_types: &input.speech_mark_types, - text: &input.text, - text_type: &input.text_type, - voice_id: &input.voice_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_speech_synthesis_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_synthesize_speech_input_body( +pub fn serialize_operation_synthesize_speech( input: &crate::input::SynthesizeSpeechInput, ) -> Result { - let body = crate::serializer::SynthesizeSpeechInputBody { - engine: &input.engine, - language_code: &input.language_code, - lexicon_names: &input.lexicon_names, - output_format: &input.output_format, - sample_rate: &input.sample_rate, - speech_mark_types: &input.speech_mark_types, - text: &input.text, - text_type: &input.text_type, - voice_id: &input.voice_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_synthesize_speech_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/polly/src/serde_util.rs b/sdk/polly/src/serde_util.rs index 702ab9261f63..df4f10659097 100644 --- a/sdk/polly/src/serde_util.rs +++ b/sdk/polly/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/polly/src/serializer.rs b/sdk/polly/src/serializer.rs index 15f33525e5a9..0f0073981a81 100644 --- a/sdk/polly/src/serializer.rs +++ b/sdk/polly/src/serializer.rs @@ -1,10 +1,8 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutLexiconInputBody<'a> { ///

    Content of the PLS lexicon as string data.

    - #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] pub content: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutLexiconInputBody<'a> { @@ -16,13 +14,11 @@ impl<'a> std::fmt::Debug for PutLexiconInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartSpeechSynthesisTaskInputBody<'a> { ///

    Specifies the engine (standard or neural) for Amazon Polly to /// use when processing input text for speech synthesis. Using a voice that is not supported for /// the engine selected will result in an error.

    - #[serde(rename = "Engine")] - #[serde(skip_serializing_if = "Option::is_none")] pub engine: &'a std::option::Option, ///

    Optional language code for the Speech Synthesis request. This is only necessary if using a /// bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi @@ -31,58 +27,36 @@ pub struct StartSpeechSynthesisTaskInputBody<'a> { /// default language of the bilingual voice. The default language for any voice is the one /// returned by the DescribeVoices operation for the LanguageCode parameter. For example, /// if no language code is specified, Aditi will use Indian English rather than Hindi.

    - #[serde(rename = "LanguageCode")] - #[serde(skip_serializing_if = "Option::is_none")] pub language_code: &'a std::option::Option, ///

    List of one or more pronunciation lexicon names you want the service to apply during /// synthesis. Lexicons are applied only if the language of the lexicon is the same as the /// language of the voice.

    - #[serde(rename = "LexiconNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub lexicon_names: &'a std::option::Option>, ///

    The format in which the returned output will be encoded. For audio stream, this will be /// mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

    - #[serde(rename = "OutputFormat")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_format: &'a std::option::Option, ///

    Amazon S3 bucket name to which the output file will be saved.

    - #[serde(rename = "OutputS3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_s3_bucket_name: &'a std::option::Option, ///

    The Amazon S3 key prefix for the output speech file.

    - #[serde(rename = "OutputS3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_s3_key_prefix: &'a std::option::Option, ///

    The audio frequency specified in Hz.

    ///

    The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The /// default value for standard voices is "22050". The default value for neural voices is /// "24000".

    ///

    Valid values for pcm are "8000" and "16000" The default value is "16000".

    - #[serde(rename = "SampleRate")] - #[serde(skip_serializing_if = "Option::is_none")] pub sample_rate: &'a std::option::Option, ///

    ARN for the SNS topic optionally used for providing status notification for a speech /// synthesis task.

    - #[serde(rename = "SnsTopicArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub sns_topic_arn: &'a std::option::Option, ///

    The type of speech marks returned for the input text.

    - #[serde(rename = "SpeechMarkTypes")] - #[serde(skip_serializing_if = "Option::is_none")] pub speech_mark_types: &'a std::option::Option>, ///

    The input text to synthesize. If you specify ssml as the TextType, follow the SSML format /// for the input text.

    - #[serde(rename = "Text")] - #[serde(skip_serializing_if = "Option::is_none")] pub text: &'a std::option::Option, ///

    Specifies whether the input text is plain text or SSML. The default value is plain text. ///

    - #[serde(rename = "TextType")] - #[serde(skip_serializing_if = "Option::is_none")] pub text_type: &'a std::option::Option, ///

    Voice ID to use for the synthesis.

    - #[serde(rename = "VoiceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub voice_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for StartSpeechSynthesisTaskInputBody<'a> { @@ -105,7 +79,7 @@ impl<'a> std::fmt::Debug for StartSpeechSynthesisTaskInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SynthesizeSpeechInputBody<'a> { ///

    Specifies the engine (standard or neural) for Amazon Polly to /// use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available in standard-only, NTTS-only, and @@ -126,8 +100,6 @@ pub struct SynthesizeSpeechInputBody<'a> { ///

    For standard voices, this is not required; the engine parameter defaults to /// standard. If the engine is not specified, or is set to standard and /// an NTTS-only voice is selected, this will result in an error.

    - #[serde(rename = "Engine")] - #[serde(skip_serializing_if = "Option::is_none")] pub engine: &'a std::option::Option, ///

    Optional language code for the Synthesize Speech request. This is only necessary if using /// a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi @@ -136,48 +108,32 @@ pub struct SynthesizeSpeechInputBody<'a> { /// default language of the bilingual voice. The default language for any voice is the one /// returned by the DescribeVoices operation for the LanguageCode parameter. For example, /// if no language code is specified, Aditi will use Indian English rather than Hindi.

    - #[serde(rename = "LanguageCode")] - #[serde(skip_serializing_if = "Option::is_none")] pub language_code: &'a std::option::Option, ///

    List of one or more pronunciation lexicon names you want the service to apply during /// synthesis. Lexicons are applied only if the language of the lexicon is the same as the /// language of the voice. For information about storing lexicons, see PutLexicon.

    - #[serde(rename = "LexiconNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub lexicon_names: &'a std::option::Option>, ///

    The format in which the returned output will be encoded. For audio stream, this will /// be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

    ///

    When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel /// (mono), little-endian format.

    - #[serde(rename = "OutputFormat")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_format: &'a std::option::Option, ///

    The audio frequency specified in Hz.

    ///

    The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The /// default value for standard voices is "22050". The default value for neural voices is /// "24000".

    ///

    Valid values for pcm are "8000" and "16000" The default value is "16000".

    - #[serde(rename = "SampleRate")] - #[serde(skip_serializing_if = "Option::is_none")] pub sample_rate: &'a std::option::Option, ///

    The type of speech marks returned for the input text.

    - #[serde(rename = "SpeechMarkTypes")] - #[serde(skip_serializing_if = "Option::is_none")] pub speech_mark_types: &'a std::option::Option>, ///

    Input text to synthesize. If you specify ssml as the /// TextType, follow the SSML format for the input text.

    - #[serde(rename = "Text")] - #[serde(skip_serializing_if = "Option::is_none")] pub text: &'a std::option::Option, ///

    Specifies whether the input text is plain text or SSML. The default value is plain /// text. For more information, see Using SSML.

    - #[serde(rename = "TextType")] - #[serde(skip_serializing_if = "Option::is_none")] pub text_type: &'a std::option::Option, ///

    Voice ID to use for the synthesis. You can get a list of available voice IDs by /// calling the DescribeVoices operation.

    - #[serde(rename = "VoiceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub voice_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for SynthesizeSpeechInputBody<'a> { diff --git a/sdk/protocol-test-helpers/Cargo.toml b/sdk/protocol-test-helpers/Cargo.toml index a83f6fd5a104..d7fe042ecf4e 100644 --- a/sdk/protocol-test-helpers/Cargo.toml +++ b/sdk/protocol-test-helpers/Cargo.toml @@ -10,6 +10,7 @@ license = "Apache-2.0" http = "0.2.1" thiserror = "1" serde_json = "1" +regex = "1.5" # Not perfect for our needs, but good for now assert-json-diff = "1" diff --git a/sdk/protocol-test-helpers/src/lib.rs b/sdk/protocol-test-helpers/src/lib.rs index b4b1e7ad409c..1852c01f7fbc 100644 --- a/sdk/protocol-test-helpers/src/lib.rs +++ b/sdk/protocol-test-helpers/src/lib.rs @@ -3,6 +3,7 @@ * SPDX-License-Identifier: Apache-2.0. */ +mod urlencoded; mod xml; use crate::xml::try_xml_equivalent; @@ -10,7 +11,9 @@ use assert_json_diff::assert_json_eq_no_panic; use http::{Request, Uri}; use pretty_assertions::Comparison; use std::collections::HashSet; +use std::fmt::{self, Debug}; use thiserror::Error; +use urlencoded::try_url_encoded_form_equivalent; #[derive(Debug, PartialEq, Eq, Error)] pub enum ProtocolTestFailure { @@ -220,6 +223,8 @@ pub enum MediaType { Json, /// XML media types are normalized and compared Xml, + /// For x-www-form-urlencoded, do some map order comparison shenanigans + UrlEncodedForm, /// Other media types are compared literally Other(String), } @@ -229,6 +234,7 @@ impl> From for MediaType { match inp.as_ref() { "application/json" => MediaType::Json, "application/xml" => MediaType::Xml, + "application/x-www-form-urlencoded" => MediaType::UrlEncodedForm, other => MediaType::Other(other.to_string()), } } @@ -251,6 +257,13 @@ pub fn validate_body>( expected: "XML".to_owned(), found: "input was not valid UTF-8".to_owned(), }), + (MediaType::UrlEncodedForm, Ok(actual_body)) => { + try_url_encoded_form_equivalent(actual_body, expected_body) + } + (MediaType::UrlEncodedForm, Err(_)) => Err(ProtocolTestFailure::InvalidBodyFormat { + expected: "x-www-form-urlencoded".to_owned(), + found: "input was not valid UTF-8".to_owned(), + }), (MediaType::Other(media_type), Ok(actual_body)) => { if actual_body != expected_body { Err(ProtocolTestFailure::BodyDidNotMatch { @@ -269,7 +282,6 @@ pub fn validate_body>( } } -use std::fmt::{self, Debug}; #[derive(Eq, PartialEq)] struct PrettyStr<'a>(&'a str); impl Debug for PrettyStr<'_> { diff --git a/sdk/protocol-test-helpers/src/urlencoded.rs b/sdk/protocol-test-helpers/src/urlencoded.rs new file mode 100644 index 000000000000..e12e4458ea4c --- /dev/null +++ b/sdk/protocol-test-helpers/src/urlencoded.rs @@ -0,0 +1,101 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use crate::{pretty_comparison, ProtocolTestFailure}; +use regex::Regex; + +fn rewrite_url_encoded_map_keys(input: &str) -> (String, String) { + let mut itr = input.split('='); + let (key, value) = (itr.next().unwrap(), itr.next().unwrap()); + + let regex = Regex::new(r"^(.+)\.\d+\.(.+)$").unwrap(); + if let Some(captures) = regex.captures(key) { + let rewritten_key = format!( + "{}.N.{}", + captures.get(1).unwrap().as_str(), + captures.get(2).unwrap().as_str() + ); + (rewritten_key, value.to_string()) + } else { + (key.to_string(), value.to_string()) + } +} + +fn rewrite_url_encoded_body(input: &str) -> String { + let mut entries: Vec<(String, String)> = input + .split('&') + .map(|entry| entry.trim()) + .filter(|s| !s.is_empty()) + .map(rewrite_url_encoded_map_keys) + .collect(); + if entries.len() > 2 { + entries[2..].sort_by(|a, b| a.1.cmp(&b.1)); + } + let entries: Vec = entries + .into_iter() + .map(|kv| format!("{}={}", kv.0, kv.1)) + .collect(); + entries.join("\n&") +} + +pub fn try_url_encoded_form_equivalent( + actual: &str, + expected: &str, +) -> Result<(), ProtocolTestFailure> { + let actual = rewrite_url_encoded_body(actual); + let expected = rewrite_url_encoded_body(expected); + if actual == expected { + Ok(()) + } else { + Err(ProtocolTestFailure::BodyDidNotMatch { + comparison: pretty_comparison(&actual, &expected), + hint: "".into(), + }) + } +} + +#[cfg(test)] +mod tests { + use crate::urlencoded::try_url_encoded_form_equivalent; + + #[test] + fn test_url_encoded_form_equivalent() { + assert_eq!( + Ok(()), + try_url_encoded_form_equivalent( + "Action=Something&Version=test", + "Action=Something&Version=test", + ) + ); + + assert!(try_url_encoded_form_equivalent( + "Action=Something&Version=test&Property=foo", + "Action=Something&Version=test&Property=bar", + ) + .is_err()); + + assert!(try_url_encoded_form_equivalent( + "Action=Something&Version=test&WrongProperty=foo", + "Action=Something&Version=test&Property=foo", + ) + .is_err()); + + assert_eq!( + Ok(()), + try_url_encoded_form_equivalent( + "Action=Something&Version=test\ + &SomeMap.1.key=foo\ + &SomeMap.1.value=Foo\ + &SomeMap.2.key=bar\ + &SomeMap.2.value=Bar", + "Action=Something&Version=test\ + &SomeMap.1.key=bar\ + &SomeMap.1.value=Bar\ + &SomeMap.2.key=foo\ + &SomeMap.2.value=Foo", + ) + ); + } +} diff --git a/sdk/qldb/Cargo.toml b/sdk/qldb/Cargo.toml index ab2795807f42..134a89292e78 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.5-alpha" +version = "0.0.6-alpha" description = "

    The control plane for Amazon QLDB

    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" @@ -34,6 +34,8 @@ version = "1" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [features] client = ["aws-hyper"] rustls = ["aws-hyper/rustls"] diff --git a/sdk/qldb/src/aws_json_errors.rs b/sdk/qldb/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/qldb/src/aws_json_errors.rs +++ b/sdk/qldb/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/qldb/src/client.rs b/sdk/qldb/src/client.rs index 6bef17842eb0..fa0e1226a1ef 100644 --- a/sdk/qldb/src/client.rs +++ b/sdk/qldb/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,89 +33,69 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn cancel_journal_kinesis_stream(&self) -> fluent_builders::CancelJournalKinesisStream { fluent_builders::CancelJournalKinesisStream::new(self.handle.clone()) } - pub fn create_ledger(&self) -> fluent_builders::CreateLedger { fluent_builders::CreateLedger::new(self.handle.clone()) } - pub fn delete_ledger(&self) -> fluent_builders::DeleteLedger { fluent_builders::DeleteLedger::new(self.handle.clone()) } - pub fn describe_journal_kinesis_stream(&self) -> fluent_builders::DescribeJournalKinesisStream { fluent_builders::DescribeJournalKinesisStream::new(self.handle.clone()) } - pub fn describe_journal_s3_export(&self) -> fluent_builders::DescribeJournalS3Export { fluent_builders::DescribeJournalS3Export::new(self.handle.clone()) } - pub fn describe_ledger(&self) -> fluent_builders::DescribeLedger { fluent_builders::DescribeLedger::new(self.handle.clone()) } - pub fn export_journal_to_s3(&self) -> fluent_builders::ExportJournalToS3 { fluent_builders::ExportJournalToS3::new(self.handle.clone()) } - pub fn get_block(&self) -> fluent_builders::GetBlock { fluent_builders::GetBlock::new(self.handle.clone()) } - pub fn get_digest(&self) -> fluent_builders::GetDigest { fluent_builders::GetDigest::new(self.handle.clone()) } - pub fn get_revision(&self) -> fluent_builders::GetRevision { fluent_builders::GetRevision::new(self.handle.clone()) } - pub fn list_journal_kinesis_streams_for_ledger( &self, ) -> fluent_builders::ListJournalKinesisStreamsForLedger { fluent_builders::ListJournalKinesisStreamsForLedger::new(self.handle.clone()) } - pub fn list_journal_s3_exports(&self) -> fluent_builders::ListJournalS3Exports { fluent_builders::ListJournalS3Exports::new(self.handle.clone()) } - pub fn list_journal_s3_exports_for_ledger( &self, ) -> fluent_builders::ListJournalS3ExportsForLedger { fluent_builders::ListJournalS3ExportsForLedger::new(self.handle.clone()) } - pub fn list_ledgers(&self) -> fluent_builders::ListLedgers { fluent_builders::ListLedgers::new(self.handle.clone()) } - pub fn list_tags_for_resource(&self) -> fluent_builders::ListTagsForResource { fluent_builders::ListTagsForResource::new(self.handle.clone()) } - pub fn stream_journal_to_kinesis(&self) -> fluent_builders::StreamJournalToKinesis { fluent_builders::StreamJournalToKinesis::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 fn update_ledger(&self) -> fluent_builders::UpdateLedger { fluent_builders::UpdateLedger::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct CancelJournalKinesisStream { handle: std::sync::Arc, @@ -146,7 +124,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn ledger_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.ledger_name(inp); @@ -166,7 +143,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateLedger { handle: std::sync::Arc, @@ -195,7 +171,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger that you want to create. The name must be unique among all of /// your ledgers in the current AWS Region.

    ///

    Naming constraints for ledger names are defined in Quotas in Amazon QLDB @@ -257,7 +232,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteLedger { handle: std::sync::Arc, @@ -286,7 +260,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger that you want to delete.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -297,7 +270,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeJournalKinesisStream { handle: std::sync::Arc, @@ -326,7 +298,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn ledger_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.ledger_name(inp); @@ -346,7 +317,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeJournalS3Export { handle: std::sync::Arc, @@ -375,7 +345,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -395,7 +364,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeLedger { handle: std::sync::Arc, @@ -424,7 +392,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger that you want to describe.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -435,7 +402,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ExportJournalToS3 { handle: std::sync::Arc, @@ -464,7 +430,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -547,7 +512,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBlock { handle: std::sync::Arc, @@ -576,7 +540,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -618,7 +581,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDigest { handle: std::sync::Arc, @@ -647,7 +609,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -658,7 +619,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRevision { handle: std::sync::Arc, @@ -687,7 +647,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -738,7 +697,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListJournalKinesisStreamsForLedger { handle: std::sync::Arc, @@ -767,7 +725,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn ledger_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.ledger_name(inp); @@ -801,7 +758,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListJournalS3Exports { handle: std::sync::Arc, @@ -830,7 +786,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The maximum number of results to return in a single ListJournalS3Exports /// request. (The actual number of results returned might be fewer.)

    pub fn max_results(mut self, inp: i32) -> Self { @@ -854,7 +809,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListJournalS3ExportsForLedger { handle: std::sync::Arc, @@ -883,7 +837,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -917,7 +870,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListLedgers { handle: std::sync::Arc, @@ -946,7 +898,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The maximum number of results to return in a single ListLedgers request. /// (The actual number of results returned might be fewer.)

    pub fn max_results(mut self, inp: i32) -> Self { @@ -969,7 +920,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListTagsForResource { handle: std::sync::Arc, @@ -998,7 +948,6 @@ 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) for which you want to list the tags. For example:

    ///

    /// arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger @@ -1012,7 +961,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StreamJournalToKinesis { handle: std::sync::Arc, @@ -1041,7 +989,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn ledger_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.ledger_name(inp); @@ -1147,7 +1094,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TagResource { handle: std::sync::Arc, @@ -1176,7 +1122,6 @@ 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) to which you want to add the tags. For example:

    ///

    /// arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger @@ -1213,7 +1158,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UntagResource { handle: std::sync::Arc, @@ -1242,7 +1186,6 @@ 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) from which you want to remove the tags. For /// example:

    ///

    @@ -1269,7 +1212,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateLedger { handle: std::sync::Arc, @@ -1298,7 +1240,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the ledger.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); diff --git a/sdk/qldb/src/config.rs b/sdk/qldb/src/config.rs index 673bb24a24c0..20d4fe47d798 100644 --- a/sdk/qldb/src/config.rs +++ b/sdk/qldb/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/qldb/src/error.rs b/sdk/qldb/src/error.rs index 0cab1cc60157..1b80e7856fbe 100644 --- a/sdk/qldb/src/error.rs +++ b/sdk/qldb/src/error.rs @@ -11,7 +11,6 @@ pub enum CancelJournalKinesisStreamErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -35,7 +34,6 @@ impl smithy_types::retry::ProvideErrorKind for CancelJournalKinesisStreamError { None } } - impl CancelJournalKinesisStreamError { pub fn new(kind: CancelJournalKinesisStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -58,18 +56,21 @@ impl CancelJournalKinesisStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CancelJournalKinesisStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -96,7 +97,6 @@ pub enum CreateLedgerErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceAlreadyExistsError(crate::error::ResourceAlreadyExistsError), ResourceInUseError(crate::error::ResourceInUseError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -119,7 +119,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateLedgerError { None } } - impl CreateLedgerError { pub fn new(kind: CreateLedgerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -142,18 +141,21 @@ impl CreateLedgerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateLedgerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -179,7 +181,6 @@ pub enum DeleteLedgerErrorKind { ResourceInUseError(crate::error::ResourceInUseError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -202,7 +203,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteLedgerError { None } } - impl DeleteLedgerError { pub fn new(kind: DeleteLedgerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -225,18 +225,21 @@ impl DeleteLedgerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteLedgerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -261,7 +264,6 @@ pub enum DescribeJournalKinesisStreamErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -285,7 +287,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeJournalKinesisStreamError None } } - impl DescribeJournalKinesisStreamError { pub fn new(kind: DescribeJournalKinesisStreamErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -308,18 +309,21 @@ impl DescribeJournalKinesisStreamError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeJournalKinesisStreamError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -343,7 +347,6 @@ pub struct DescribeJournalS3ExportError { #[derive(std::fmt::Debug)] pub enum DescribeJournalS3ExportErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -363,7 +366,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeJournalS3ExportError { None } } - impl DescribeJournalS3ExportError { pub fn new(kind: DescribeJournalS3ExportErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -386,18 +388,21 @@ impl DescribeJournalS3ExportError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeJournalS3ExportError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -418,7 +423,6 @@ pub struct DescribeLedgerError { pub enum DescribeLedgerErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -439,7 +443,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeLedgerError { None } } - impl DescribeLedgerError { pub fn new(kind: DescribeLedgerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -462,18 +465,21 @@ impl DescribeLedgerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeLedgerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -495,7 +501,6 @@ pub struct ExportJournalToS3Error { pub enum ExportJournalToS3ErrorKind { ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -516,7 +521,6 @@ impl smithy_types::retry::ProvideErrorKind for ExportJournalToS3Error { None } } - impl ExportJournalToS3Error { pub fn new(kind: ExportJournalToS3ErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -539,18 +543,21 @@ impl ExportJournalToS3Error { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ExportJournalToS3Error { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -573,7 +580,6 @@ pub enum GetBlockErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -595,7 +601,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBlockError { None } } - impl GetBlockError { pub fn new(kind: GetBlockErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -618,18 +623,21 @@ impl GetBlockError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBlockError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -653,7 +661,6 @@ pub enum GetDigestErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -675,7 +682,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDigestError { None } } - impl GetDigestError { pub fn new(kind: GetDigestErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -698,18 +704,21 @@ impl GetDigestError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDigestError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -733,7 +742,6 @@ pub enum GetRevisionErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -755,7 +763,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRevisionError { None } } - impl GetRevisionError { pub fn new(kind: GetRevisionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -778,18 +785,21 @@ impl GetRevisionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRevisionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -813,7 +823,6 @@ pub enum ListJournalKinesisStreamsForLedgerErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -841,7 +850,6 @@ impl smithy_types::retry::ProvideErrorKind for ListJournalKinesisStreamsForLedge None } } - impl ListJournalKinesisStreamsForLedgerError { pub fn new( kind: ListJournalKinesisStreamsForLedgerErrorKind, @@ -867,18 +875,21 @@ impl ListJournalKinesisStreamsForLedgerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListJournalKinesisStreamsForLedgerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -923,7 +934,6 @@ impl smithy_types::retry::ProvideErrorKind for ListJournalS3ExportsError { None } } - impl ListJournalS3ExportsError { pub fn new(kind: ListJournalS3ExportsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -946,18 +956,21 @@ impl ListJournalS3ExportsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListJournalS3ExportsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -993,7 +1006,6 @@ impl smithy_types::retry::ProvideErrorKind for ListJournalS3ExportsForLedgerErro None } } - impl ListJournalS3ExportsForLedgerError { pub fn new(kind: ListJournalS3ExportsForLedgerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1016,18 +1028,21 @@ impl ListJournalS3ExportsForLedgerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListJournalS3ExportsForLedgerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1063,7 +1078,6 @@ impl smithy_types::retry::ProvideErrorKind for ListLedgersError { None } } - impl ListLedgersError { pub fn new(kind: ListLedgersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1086,18 +1100,21 @@ impl ListLedgersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListLedgersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1117,7 +1134,6 @@ pub struct ListTagsForResourceError { pub enum ListTagsForResourceErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1138,7 +1154,6 @@ impl smithy_types::retry::ProvideErrorKind for ListTagsForResourceError { None } } - impl ListTagsForResourceError { pub fn new(kind: ListTagsForResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1161,18 +1176,21 @@ impl ListTagsForResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListTagsForResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1195,7 +1213,6 @@ pub enum StreamJournalToKinesisErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), ResourcePreconditionNotMetError(crate::error::ResourcePreconditionNotMetError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1219,7 +1236,6 @@ impl smithy_types::retry::ProvideErrorKind for StreamJournalToKinesisError { None } } - impl StreamJournalToKinesisError { pub fn new(kind: StreamJournalToKinesisErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1242,18 +1258,21 @@ impl StreamJournalToKinesisError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StreamJournalToKinesisError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1278,7 +1297,6 @@ pub struct TagResourceError { pub enum TagResourceErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1299,7 +1317,6 @@ impl smithy_types::retry::ProvideErrorKind for TagResourceError { None } } - impl TagResourceError { pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1322,18 +1339,21 @@ impl TagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1355,7 +1375,6 @@ pub struct UntagResourceError { pub enum UntagResourceErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1376,7 +1395,6 @@ impl smithy_types::retry::ProvideErrorKind for UntagResourceError { None } } - impl UntagResourceError { pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1399,18 +1417,21 @@ impl UntagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UntagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1432,7 +1453,6 @@ pub struct UpdateLedgerError { pub enum UpdateLedgerErrorKind { InvalidParameterError(crate::error::InvalidParameterError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1453,7 +1473,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateLedgerError { None } } - impl UpdateLedgerError { pub fn new(kind: UpdateLedgerErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1476,18 +1495,21 @@ impl UpdateLedgerError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateLedgerError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1500,20 +1522,17 @@ impl std::error::Error for UpdateLedgerError { ///

    The specified resource doesn't exist.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The type of resource.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The name of the resource.

    #[serde(rename = "ResourceName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_name: std::option::Option, } @@ -1597,15 +1616,13 @@ impl ResourceNotFoundError { ///

    One or more parameters in the request aren't valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidParameterError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The name of the invalid parameter.

    #[serde(rename = "ParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameter_name: std::option::Option, } @@ -1677,20 +1694,17 @@ impl InvalidParameterError { ///

    The operation failed because a condition wasn't satisfied in advance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourcePreconditionNotMetError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The type of resource.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The name of the resource.

    #[serde(rename = "ResourceName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_name: std::option::Option, } @@ -1777,20 +1791,17 @@ impl ResourcePreconditionNotMetError { ///

    The specified resource can't be modified at this time.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceInUseError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The type of resource.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The name of the resource.

    #[serde(rename = "ResourceName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_name: std::option::Option, } @@ -1874,20 +1885,17 @@ impl ResourceInUseError { ///

    The specified resource already exists.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceAlreadyExistsError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The type of resource.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The name of the resource.

    #[serde(rename = "ResourceName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_name: std::option::Option, } @@ -1974,15 +1982,13 @@ impl ResourceAlreadyExistsError { ///

    You have reached the limit on the maximum number of resources allowed.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The type of resource.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, } diff --git a/sdk/qldb/src/input.rs b/sdk/qldb/src/input.rs index e8aeb03e232d..6b5950127761 100644 --- a/sdk/qldb/src/input.rs +++ b/sdk/qldb/src/input.rs @@ -57,41 +57,33 @@ impl CancelJournalKinesisStreamInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CancelJournalKinesisStream::new(), @@ -100,7 +92,6 @@ impl CancelJournalKinesisStreamInput { "CancelJournalKinesisStream", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -251,46 +242,38 @@ impl CreateLedgerInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_ledger_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_ledger(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateLedger::new(), @@ -299,7 +282,6 @@ impl CreateLedgerInput { "CreateLedger", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -384,41 +366,33 @@ impl DeleteLedgerInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteLedger::new(), @@ -427,7 +401,6 @@ impl DeleteLedgerInput { "DeleteLedger", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -531,41 +504,33 @@ impl DescribeJournalKinesisStreamInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeJournalKinesisStream::new(), @@ -574,7 +539,6 @@ impl DescribeJournalKinesisStreamInput { "DescribeJournalKinesisStream", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -677,41 +641,33 @@ impl DescribeJournalS3ExportInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeJournalS3Export::new(), @@ -720,7 +676,6 @@ impl DescribeJournalS3ExportInput { "DescribeJournalS3Export", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -811,41 +766,33 @@ impl DescribeLedgerInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeLedger::new(), @@ -854,7 +801,6 @@ impl DescribeLedgerInput { "DescribeLedger", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1024,47 +970,38 @@ impl ExportJournalToS3Input { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_export_journal_to_s3_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_export_journal_to_s3(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ExportJournalToS3::new(), @@ -1073,7 +1010,6 @@ impl ExportJournalToS3Input { "ExportJournalToS3", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1196,50 +1132,41 @@ impl GetBlockInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_block_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_block(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetBlock::new()) .with_metadata(smithy_http::operation::Metadata::new("GetBlock", "qldb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1329,45 +1256,36 @@ impl GetDigestInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetDigest::new()) .with_metadata(smithy_http::operation::Metadata::new("GetDigest", "qldb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1501,52 +1419,43 @@ impl GetRevisionInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_revision_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_revision(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRevision::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetRevision", "qldb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1666,41 +1575,33 @@ impl ListJournalKinesisStreamsForLedgerInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListJournalKinesisStreamsForLedger::new(), @@ -1709,7 +1610,6 @@ impl ListJournalKinesisStreamsForLedgerInput { "ListJournalKinesisStreamsForLedger", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1825,41 +1725,33 @@ impl ListJournalS3ExportsInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListJournalS3Exports::new(), @@ -1868,7 +1760,6 @@ impl ListJournalS3ExportsInput { "ListJournalS3Exports", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1993,41 +1884,33 @@ impl ListJournalS3ExportsForLedgerInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListJournalS3ExportsForLedger::new(), @@ -2036,7 +1919,6 @@ impl ListJournalS3ExportsForLedgerInput { "ListJournalS3ExportsForLedger", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2150,47 +2032,38 @@ impl ListLedgersInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListLedgers::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListLedgers", "qldb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2289,41 +2162,33 @@ impl ListTagsForResourceInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListTagsForResource::new(), @@ -2332,7 +2197,6 @@ impl ListTagsForResourceInput { "ListTagsForResource", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2533,49 +2397,38 @@ impl StreamJournalToKinesisInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_stream_journal_to_kinesis_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_stream_journal_to_kinesis(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StreamJournalToKinesis::new(), @@ -2584,7 +2437,6 @@ impl StreamJournalToKinesisInput { "StreamJournalToKinesis", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2704,52 +2556,43 @@ impl TagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_tag_resource_input_body(&self) - .map_err(|err| { + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_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", "qldb")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2858,41 +2701,33 @@ impl UntagResourceInput { 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UntagResource::new(), @@ -2901,7 +2736,6 @@ impl UntagResourceInput { "UntagResource", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3014,46 +2848,38 @@ impl UpdateLedgerInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_ledger_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_ledger(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateLedger::new(), @@ -3062,7 +2888,6 @@ impl UpdateLedgerInput { "UpdateLedger", "qldb", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) diff --git a/sdk/qldb/src/json_deser.rs b/sdk/qldb/src/json_deser.rs index e85fc1567792..151850712a78 100644 --- a/sdk/qldb/src/json_deser.rs +++ b/sdk/qldb/src/json_deser.rs @@ -21,7 +21,6 @@ pub fn invalid_parameter_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); builder = builder.set_parameter_name(parsed_body.parameter_name); Ok(builder) @@ -39,7 +38,6 @@ pub fn resource_not_found_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); builder = builder.set_resource_type(parsed_body.resource_type); builder = builder.set_resource_name(parsed_body.resource_name); @@ -58,7 +56,6 @@ pub fn resource_precondition_not_met_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); builder = builder.set_resource_type(parsed_body.resource_type); builder = builder.set_resource_name(parsed_body.resource_name); @@ -77,7 +74,6 @@ pub fn cancel_journal_kinesis_stream_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream_id(parsed_body.stream_id); Ok(builder) } @@ -94,7 +90,6 @@ pub fn limit_exceeded_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); builder = builder.set_resource_type(parsed_body.resource_type); Ok(builder) @@ -112,7 +107,6 @@ pub fn resource_already_exists_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); builder = builder.set_resource_type(parsed_body.resource_type); builder = builder.set_resource_name(parsed_body.resource_name); @@ -131,7 +125,6 @@ pub fn resource_in_use_exception( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); builder = builder.set_resource_type(parsed_body.resource_type); builder = builder.set_resource_name(parsed_body.resource_name); @@ -150,7 +143,6 @@ pub fn create_ledger_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_name(parsed_body.name); builder = builder.set_arn(parsed_body.arn); builder = builder.set_state(parsed_body.state); @@ -171,7 +163,6 @@ pub fn describe_journal_kinesis_stream_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream(parsed_body.stream); Ok(builder) } @@ -188,7 +179,6 @@ pub fn describe_journal_s3_export_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_export_description(parsed_body.export_description); Ok(builder) } @@ -205,7 +195,6 @@ pub fn describe_ledger_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_name(parsed_body.name); builder = builder.set_arn(parsed_body.arn); builder = builder.set_state(parsed_body.state); @@ -226,7 +215,6 @@ pub fn export_journal_to_s3_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_export_id(parsed_body.export_id); Ok(builder) } @@ -243,7 +231,6 @@ pub fn get_block_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_block(parsed_body.block); builder = builder.set_proof(parsed_body.proof); Ok(builder) @@ -261,7 +248,6 @@ pub fn get_digest_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_digest(parsed_body.digest); builder = builder.set_digest_tip_address(parsed_body.digest_tip_address); Ok(builder) @@ -279,7 +265,6 @@ pub fn get_revision_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_proof(parsed_body.proof); builder = builder.set_revision(parsed_body.revision); Ok(builder) @@ -299,7 +284,6 @@ pub fn list_journal_kinesis_streams_for_ledger_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_streams(parsed_body.streams); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -317,7 +301,6 @@ pub fn list_journal_s3_exports_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_journal_s3_exports(parsed_body.journal_s3_exports); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -336,7 +319,6 @@ pub fn list_journal_s3_exports_for_ledger_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_journal_s3_exports(parsed_body.journal_s3_exports); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -354,7 +336,6 @@ pub fn list_ledgers_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ledgers(parsed_body.ledgers); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -372,7 +353,6 @@ pub fn list_tags_for_resource_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tags(parsed_body.tags); Ok(builder) } @@ -389,7 +369,6 @@ pub fn stream_journal_to_kinesis_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_stream_id(parsed_body.stream_id); Ok(builder) } @@ -406,7 +385,6 @@ pub fn update_ledger_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_name(parsed_body.name); builder = builder.set_arn(parsed_body.arn); builder = builder.set_state(parsed_body.state); diff --git a/sdk/qldb/src/json_ser.rs b/sdk/qldb/src/json_ser.rs new file mode 100644 index 000000000000..ca4f4abb3aa9 --- /dev/null +++ b/sdk/qldb/src/json_ser.rs @@ -0,0 +1,199 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_create_ledger_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateLedgerInput, +) { + if let Some(var_1) = &input.name { + object.key("Name").string(var_1); + } + if let Some(var_2) = &input.tags { + let mut object_3 = object.key("Tags").start_object(); + for (key_4, value_5) in var_2 { + if let Some(var_6) = value_5 { + object_3.key(key_4).string(var_6); + } else { + object_3.key(key_4).null(); + } + } + object_3.finish(); + } + if let Some(var_7) = &input.permissions_mode { + object.key("PermissionsMode").string(var_7.as_str()); + } + if let Some(var_8) = &input.deletion_protection { + object.key("DeletionProtection").boolean(*var_8); + } +} + +pub fn serialize_structure_export_journal_to_s3_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ExportJournalToS3Input, +) { + if let Some(var_9) = &input.inclusive_start_time { + object + .key("InclusiveStartTime") + .instant(var_9, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_10) = &input.exclusive_end_time { + object + .key("ExclusiveEndTime") + .instant(var_10, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_11) = &input.s3_export_configuration { + let mut object_12 = object.key("S3ExportConfiguration").start_object(); + crate::json_ser::serialize_structure_s3_export_configuration(&mut object_12, var_11); + object_12.finish(); + } + if let Some(var_13) = &input.role_arn { + object.key("RoleArn").string(var_13); + } +} + +pub fn serialize_structure_get_block_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetBlockInput, +) { + if let Some(var_14) = &input.block_address { + let mut object_15 = object.key("BlockAddress").start_object(); + crate::json_ser::serialize_structure_value_holder(&mut object_15, var_14); + object_15.finish(); + } + if let Some(var_16) = &input.digest_tip_address { + let mut object_17 = object.key("DigestTipAddress").start_object(); + crate::json_ser::serialize_structure_value_holder(&mut object_17, var_16); + object_17.finish(); + } +} + +pub fn serialize_structure_get_revision_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetRevisionInput, +) { + if let Some(var_18) = &input.block_address { + let mut object_19 = object.key("BlockAddress").start_object(); + crate::json_ser::serialize_structure_value_holder(&mut object_19, var_18); + object_19.finish(); + } + if let Some(var_20) = &input.document_id { + object.key("DocumentId").string(var_20); + } + if let Some(var_21) = &input.digest_tip_address { + let mut object_22 = object.key("DigestTipAddress").start_object(); + crate::json_ser::serialize_structure_value_holder(&mut object_22, var_21); + object_22.finish(); + } +} + +pub fn serialize_structure_stream_journal_to_kinesis_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StreamJournalToKinesisInput, +) { + if let Some(var_23) = &input.role_arn { + object.key("RoleArn").string(var_23); + } + if let Some(var_24) = &input.tags { + let mut object_25 = object.key("Tags").start_object(); + for (key_26, value_27) in var_24 { + if let Some(var_28) = value_27 { + object_25.key(key_26).string(var_28); + } else { + object_25.key(key_26).null(); + } + } + object_25.finish(); + } + if let Some(var_29) = &input.inclusive_start_time { + object + .key("InclusiveStartTime") + .instant(var_29, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_30) = &input.exclusive_end_time { + object + .key("ExclusiveEndTime") + .instant(var_30, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_31) = &input.kinesis_configuration { + let mut object_32 = object.key("KinesisConfiguration").start_object(); + crate::json_ser::serialize_structure_kinesis_configuration(&mut object_32, var_31); + object_32.finish(); + } + if let Some(var_33) = &input.stream_name { + object.key("StreamName").string(var_33); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_34) = &input.tags { + let mut object_35 = object.key("Tags").start_object(); + for (key_36, value_37) in var_34 { + if let Some(var_38) = value_37 { + object_35.key(key_36).string(var_38); + } else { + object_35.key(key_36).null(); + } + } + object_35.finish(); + } +} + +pub fn serialize_structure_update_ledger_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateLedgerInput, +) { + if let Some(var_39) = &input.deletion_protection { + object.key("DeletionProtection").boolean(*var_39); + } +} + +pub fn serialize_structure_s3_export_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::S3ExportConfiguration, +) { + if let Some(var_40) = &input.bucket { + object.key("Bucket").string(var_40); + } + if let Some(var_41) = &input.prefix { + object.key("Prefix").string(var_41); + } + if let Some(var_42) = &input.encryption_configuration { + let mut object_43 = object.key("EncryptionConfiguration").start_object(); + crate::json_ser::serialize_structure_s3_encryption_configuration(&mut object_43, var_42); + object_43.finish(); + } +} + +pub fn serialize_structure_value_holder( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ValueHolder, +) { + if let Some(var_44) = &input.ion_text { + object.key("IonText").string(var_44); + } +} + +pub fn serialize_structure_kinesis_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::KinesisConfiguration, +) { + if let Some(var_45) = &input.stream_arn { + object.key("StreamArn").string(var_45); + } + if let Some(var_46) = &input.aggregation_enabled { + object.key("AggregationEnabled").boolean(*var_46); + } +} + +pub fn serialize_structure_s3_encryption_configuration( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::S3EncryptionConfiguration, +) { + if let Some(var_47) = &input.object_encryption_type { + object.key("ObjectEncryptionType").string(var_47.as_str()); + } + if let Some(var_48) = &input.kms_key_arn { + object.key("KmsKeyArn").string(var_48); + } +} diff --git a/sdk/qldb/src/lib.rs b/sdk/qldb/src/lib.rs index 52e8f9c3e0f3..7cd44a0ffd75 100644 --- a/sdk/qldb/src/lib.rs +++ b/sdk/qldb/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //!

    The control plane for Amazon QLDB

    // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. @@ -19,6 +20,7 @@ mod error_meta; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_deser; @@ -27,6 +29,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/qldb/src/model.rs b/sdk/qldb/src/model.rs index 1826218c0623..68400166deab 100644 --- a/sdk/qldb/src/model.rs +++ b/sdk/qldb/src/model.rs @@ -27,7 +27,6 @@ impl std::convert::From<&str> for LedgerState { } } } - impl std::str::FromStr for LedgerState { type Err = std::convert::Infallible; @@ -35,7 +34,6 @@ impl std::str::FromStr for LedgerState { Ok(LedgerState::from(s)) } } - impl LedgerState { pub fn as_str(&self) -> &str { match self { @@ -52,19 +50,6 @@ impl AsRef for LedgerState { self.as_str() } } - -impl serde::Serialize for LedgerState { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for LedgerState { fn deserialize(deserializer: D) -> Result where @@ -78,18 +63,16 @@ impl<'de> serde::Deserialize<'de> for LedgerState { ///

    The configuration settings of the Amazon Kinesis Data Streams destination for your Amazon QLDB journal /// stream.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct KinesisConfiguration { ///

    The Amazon Resource Name (ARN) of the Kinesis data stream resource.

    #[serde(rename = "StreamArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_arn: std::option::Option, ///

    Enables QLDB to publish multiple data records in a single Kinesis Data Streams record. To learn more, /// see KPL Key /// Concepts in the Amazon Kinesis Data Streams Developer Guide.

    #[serde(rename = "AggregationEnabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aggregation_enabled: std::option::Option, } @@ -149,25 +132,19 @@ impl KinesisConfiguration { ///

    Information about a ledger, including its name, state, and when it was created.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LedgerSummary { ///

    The name of the ledger.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The current status of the ledger.

    #[serde(rename = "State")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state: std::option::Option, ///

    The date and time, in epoch time format, when the ledger was created. (Epoch time format /// is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    #[serde(rename = "CreationDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -245,25 +222,19 @@ impl LedgerSummary { ///

    The information about a journal export job, including the ledger name, export ID, when /// it was created, current status, and its start and end time export parameters.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct JournalS3ExportDescription { ///

    The name of the ledger.

    #[serde(rename = "LedgerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ledger_name: std::option::Option, ///

    The unique ID of the journal export job.

    #[serde(rename = "ExportId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub export_id: std::option::Option, ///

    The date and time, in epoch time format, when the export job was created. (Epoch time /// format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    #[serde(rename = "ExportCreationTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -271,16 +242,11 @@ pub struct JournalS3ExportDescription { pub export_creation_time: std::option::Option, ///

    The current state of the journal export job.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The inclusive start date and time for the range of journal contents that are specified /// in the original export request.

    #[serde(rename = "InclusiveStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -289,10 +255,6 @@ pub struct JournalS3ExportDescription { ///

    The exclusive end date and time for the range of journal contents that are specified in /// the original export request.

    #[serde(rename = "ExclusiveEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -301,7 +263,6 @@ pub struct JournalS3ExportDescription { ///

    The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal /// contents.

    #[serde(rename = "S3ExportConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_export_configuration: std::option::Option, ///

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a @@ -316,7 +277,6 @@ pub struct JournalS3ExportDescription { /// /// #[serde(rename = "RoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub role_arn: std::option::Option, } @@ -474,14 +434,13 @@ impl JournalS3ExportDescription { ///

    The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal /// contents.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct S3ExportConfiguration { ///

    The Amazon S3 bucket name in which a journal export job writes the journal contents.

    ///

    The bucket name must comply with the Amazon S3 bucket naming conventions. For more /// information, see Bucket Restrictions and /// Limitations in the Amazon S3 Developer Guide.

    #[serde(rename = "Bucket")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub bucket: std::option::Option, ///

    The prefix for the Amazon S3 bucket in which a journal export job writes the journal @@ -508,13 +467,11 @@ pub struct S3ExportConfiguration { /// /// #[serde(rename = "Prefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub prefix: std::option::Option, ///

    The encryption settings that are used by a journal export job to write data in an Amazon S3 /// bucket.

    #[serde(rename = "EncryptionConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub encryption_configuration: std::option::Option, } @@ -618,14 +575,13 @@ impl S3ExportConfiguration { ///

    The encryption settings that are used by a journal export job to write data in an /// Amazon Simple Storage Service (Amazon S3) bucket.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct S3EncryptionConfiguration { ///

    The Amazon S3 object encryption type.

    ///

    To learn more about server-side encryption options in Amazon S3, see Protecting Data /// Using Server-Side Encryption in the Amazon S3 Developer /// Guide.

    #[serde(rename = "ObjectEncryptionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub object_encryption_type: std::option::Option, ///

    The Amazon Resource Name (ARN) for a symmetric customer master key (CMK) in AWS Key @@ -636,7 +592,6 @@ pub struct S3EncryptionConfiguration { /// KmsKeyArn is not required if you specify SSE_S3 as the /// ObjectEncryptionType.

    #[serde(rename = "KmsKeyArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_key_arn: std::option::Option, } @@ -731,7 +686,6 @@ impl std::convert::From<&str> for S3ObjectEncryptionType { } } } - impl std::str::FromStr for S3ObjectEncryptionType { type Err = std::convert::Infallible; @@ -739,7 +693,6 @@ impl std::str::FromStr for S3ObjectEncryptionType { Ok(S3ObjectEncryptionType::from(s)) } } - impl S3ObjectEncryptionType { pub fn as_str(&self) -> &str { match self { @@ -755,19 +708,6 @@ impl AsRef for S3ObjectEncryptionType { self.as_str() } } - -impl serde::Serialize for S3ObjectEncryptionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for S3ObjectEncryptionType { fn deserialize(deserializer: D) -> Result where @@ -804,7 +744,6 @@ impl std::convert::From<&str> for ExportStatus { } } } - impl std::str::FromStr for ExportStatus { type Err = std::convert::Infallible; @@ -812,7 +751,6 @@ impl std::str::FromStr for ExportStatus { Ok(ExportStatus::from(s)) } } - impl ExportStatus { pub fn as_str(&self) -> &str { match self { @@ -828,19 +766,6 @@ impl AsRef for ExportStatus { self.as_str() } } - -impl serde::Serialize for ExportStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExportStatus { fn deserialize(deserializer: D) -> Result where @@ -855,21 +780,16 @@ impl<'de> serde::Deserialize<'de> for ExportStatus { /// (ARN), stream name, creation time, current status, and the parameters of your original /// stream creation request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct JournalKinesisStreamDescription { ///

    The name of the ledger.

    #[serde(rename = "LedgerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ledger_name: std::option::Option, ///

    The date and time, in epoch time format, when the QLDB journal stream was created. /// (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 /// UTC.)

    #[serde(rename = "CreationTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -877,10 +797,6 @@ pub struct JournalKinesisStreamDescription { pub creation_time: std::option::Option, ///

    The inclusive start date and time from which to start streaming journal data.

    #[serde(rename = "InclusiveStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -889,10 +805,6 @@ pub struct JournalKinesisStreamDescription { ///

    The exclusive date and time that specifies when the stream ends. If this parameter is /// blank, the stream runs indefinitely until you cancel it.

    #[serde(rename = "ExclusiveEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -901,40 +813,33 @@ pub struct JournalKinesisStreamDescription { ///

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a /// journal stream to write data records to a Kinesis Data Streams resource.

    #[serde(rename = "RoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub role_arn: std::option::Option, ///

    The unique ID that QLDB assigns to each QLDB journal stream.

    #[serde(rename = "StreamId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_id: std::option::Option, ///

    The Amazon Resource Name (ARN) of the QLDB journal stream.

    #[serde(rename = "Arn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

    The current state of the QLDB journal stream.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The configuration settings of the Amazon Kinesis Data Streams destination for your QLDB journal /// stream.

    #[serde(rename = "KinesisConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kinesis_configuration: std::option::Option, ///

    The error message that describes the reason that a stream has a status of /// IMPAIRED or FAILED. This is not applicable to streams that /// have other status values.

    #[serde(rename = "ErrorCause")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_cause: std::option::Option, ///

    The user-defined name of the QLDB journal stream.

    #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub stream_name: std::option::Option, } @@ -1144,7 +1049,6 @@ impl std::convert::From<&str> for ErrorCause { } } } - impl std::str::FromStr for ErrorCause { type Err = std::convert::Infallible; @@ -1152,7 +1056,6 @@ impl std::str::FromStr for ErrorCause { Ok(ErrorCause::from(s)) } } - impl ErrorCause { pub fn as_str(&self) -> &str { match self { @@ -1167,19 +1070,6 @@ impl AsRef for ErrorCause { self.as_str() } } - -impl serde::Serialize for ErrorCause { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ErrorCause { fn deserialize(deserializer: D) -> Result where @@ -1220,7 +1110,6 @@ impl std::convert::From<&str> for StreamStatus { } } } - impl std::str::FromStr for StreamStatus { type Err = std::convert::Infallible; @@ -1228,7 +1117,6 @@ impl std::str::FromStr for StreamStatus { Ok(StreamStatus::from(s)) } } - impl StreamStatus { pub fn as_str(&self) -> &str { match self { @@ -1246,19 +1134,6 @@ impl AsRef for StreamStatus { self.as_str() } } - -impl serde::Serialize for StreamStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StreamStatus { fn deserialize(deserializer: D) -> Result where @@ -1271,11 +1146,10 @@ impl<'de> serde::Deserialize<'de> for StreamStatus { ///

    A structure that can contain a value in multiple encoding formats.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ValueHolder { ///

    An Amazon Ion plaintext value contained in a ValueHolder structure.

    #[serde(rename = "IonText")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ion_text: std::option::Option, } @@ -1341,7 +1215,6 @@ impl std::convert::From<&str> for PermissionsMode { } } } - impl std::str::FromStr for PermissionsMode { type Err = std::convert::Infallible; @@ -1349,7 +1222,6 @@ impl std::str::FromStr for PermissionsMode { Ok(PermissionsMode::from(s)) } } - impl PermissionsMode { pub fn as_str(&self) -> &str { match self { @@ -1363,19 +1235,6 @@ impl AsRef for PermissionsMode { self.as_str() } } - -impl serde::Serialize for PermissionsMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PermissionsMode { fn deserialize(deserializer: D) -> Result where diff --git a/sdk/qldb/src/operation.rs b/sdk/qldb/src/operation.rs index 382a0e426eee..7013a660c56b 100644 --- a/sdk/qldb/src/operation.rs +++ b/sdk/qldb/src/operation.rs @@ -4,7 +4,7 @@ ///

    You can't restart a stream after you cancel it. Canceled QLDB stream resources are /// subject to a 7-day retention period, so they are automatically deleted after this limit /// expires.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CancelJournalKinesisStream { _private: (), } @@ -17,7 +17,6 @@ impl CancelJournalKinesisStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CancelJournalKinesisStream { type Output = Result< crate::output::CancelJournalKinesisStreamOutput, @@ -33,7 +32,7 @@ impl smithy_http::response::ParseStrictResponse for CancelJournalKinesisStream { } ///

    Creates a new ledger in your AWS account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateLedger { _private: (), } @@ -46,7 +45,6 @@ impl CreateLedger { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateLedger { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -63,7 +61,7 @@ impl smithy_http::response::ParseStrictResponse for CreateLedger { /// ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the /// UpdateLedger operation to set the flag to false. The QLDB /// console disables deletion protection for you when you use it to delete a ledger.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteLedger { _private: (), } @@ -76,7 +74,6 @@ impl DeleteLedger { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteLedger { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -91,7 +88,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteLedger { ///

    Returns detailed information about a given Amazon QLDB journal stream. The output /// includes the Amazon Resource Name (ARN), stream name, current status, creation time, and /// the parameters of your original stream creation request.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeJournalKinesisStream { _private: (), } @@ -104,7 +101,6 @@ impl DescribeJournalKinesisStream { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeJournalKinesisStream { type Output = Result< crate::output::DescribeJournalKinesisStreamOutput, @@ -127,7 +123,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeJournalKinesisStream /// ResourceNotFoundException.

    ///

    If the ledger with the given Name doesn't exist, then throws /// ResourceNotFoundException.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeJournalS3Export { _private: (), } @@ -140,7 +136,6 @@ impl DescribeJournalS3Export { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeJournalS3Export { type Output = Result< crate::output::DescribeJournalS3ExportOutput, @@ -156,7 +151,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeJournalS3Export { } ///

    Returns information about a ledger, including its state and when it was created.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeLedger { _private: (), } @@ -169,7 +164,6 @@ impl DescribeLedger { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeLedger { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -189,7 +183,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeLedger { /// throws ResourcePreconditionNotMetException.

    ///

    You can initiate up to two concurrent journal export requests for each ledger. Beyond /// this limit, journal export requests throw LimitExceededException.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ExportJournalToS3 { _private: (), } @@ -202,7 +196,6 @@ impl ExportJournalToS3 { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ExportJournalToS3 { type Output = Result; @@ -225,7 +218,7 @@ impl smithy_http::response::ParseStrictResponse for ExportJournalToS3 { /// ResourcePreconditionNotMetException.

    ///

    If no block exists with the specified address, then throws /// InvalidParameterException.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBlock { _private: (), } @@ -238,7 +231,6 @@ impl GetBlock { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBlock { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -252,7 +244,7 @@ impl smithy_http::response::ParseStrictResponse for GetBlock { ///

    Returns the digest of a ledger at the latest committed block in the journal. The /// response includes a 256-bit hash value and a block address.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDigest { _private: (), } @@ -265,7 +257,6 @@ impl GetDigest { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDigest { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -280,7 +271,7 @@ impl smithy_http::response::ParseStrictResponse for GetDigest { ///

    Returns a revision data object for a specified document ID and block address. Also /// returns a proof of the specified revision for verification if DigestTipAddress /// is provided.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRevision { _private: (), } @@ -293,7 +284,6 @@ impl GetRevision { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRevision { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -311,7 +301,7 @@ impl smithy_http::response::ParseStrictResponse for GetRevision { ///

    This action returns a maximum of MaxResults items. It is paginated so that /// you can retrieve all the items by calling ListJournalKinesisStreamsForLedger /// multiple times.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListJournalKinesisStreamsForLedger { _private: (), } @@ -324,7 +314,6 @@ impl ListJournalKinesisStreamsForLedger { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListJournalKinesisStreamsForLedger { type Output = Result< crate::output::ListJournalKinesisStreamsForLedgerOutput, @@ -346,7 +335,7 @@ impl smithy_http::response::ParseStrictResponse for ListJournalKinesisStreamsFor /// times.

    ///

    This action does not return any expired export jobs. For more information, see Export Job Expiration in the Amazon QLDB Developer /// Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListJournalS3Exports { _private: (), } @@ -359,7 +348,6 @@ impl ListJournalS3Exports { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListJournalS3Exports { type Output = Result; @@ -378,7 +366,7 @@ impl smithy_http::response::ParseStrictResponse for ListJournalS3Exports { /// multiple times.

    ///

    This action does not return any expired export jobs. For more information, see Export Job Expiration in the Amazon QLDB Developer /// Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListJournalS3ExportsForLedger { _private: (), } @@ -391,7 +379,6 @@ impl ListJournalS3ExportsForLedger { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListJournalS3ExportsForLedger { type Output = Result< crate::output::ListJournalS3ExportsForLedgerOutput, @@ -410,7 +397,7 @@ impl smithy_http::response::ParseStrictResponse for ListJournalS3ExportsForLedge /// and Region.

    ///

    This action returns a maximum of 100 items and is paginated so that you can /// retrieve all the items by calling ListLedgers multiple times.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListLedgers { _private: (), } @@ -423,7 +410,6 @@ impl ListLedgers { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListLedgers { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -436,7 +422,7 @@ impl smithy_http::response::ParseStrictResponse for ListLedgers { } ///

    Returns all tags for a specified Amazon QLDB resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTagsForResource { _private: (), } @@ -449,7 +435,6 @@ impl ListTagsForResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListTagsForResource { type Output = Result; @@ -465,7 +450,7 @@ impl smithy_http::response::ParseStrictResponse for ListTagsForResource { ///

    Creates a journal stream for a given Amazon QLDB ledger. The stream captures every /// document revision that is committed to the ledger's journal and delivers the data to a /// specified Amazon Kinesis Data Streams resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StreamJournalToKinesis { _private: (), } @@ -478,7 +463,6 @@ impl StreamJournalToKinesis { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StreamJournalToKinesis { type Output = Result< crate::output::StreamJournalToKinesisOutput, @@ -496,7 +480,7 @@ impl smithy_http::response::ParseStrictResponse for StreamJournalToKinesis { ///

    Adds one or more tags to a specified Amazon QLDB resource.

    ///

    A resource can have up to 50 tags. If you try to create more than 50 tags for a /// resource, your request fails and returns an error.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), } @@ -509,7 +493,6 @@ impl TagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -523,7 +506,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { ///

    Removes one or more tags from a specified Amazon QLDB resource. You can specify up to 50 /// tag keys to remove.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), } @@ -536,7 +519,6 @@ impl UntagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UntagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -549,7 +531,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { } ///

    Updates properties on a ledger.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateLedger { _private: (), } @@ -562,7 +544,6 @@ impl UpdateLedger { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateLedger { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { diff --git a/sdk/qldb/src/operation_deser.rs b/sdk/qldb/src/operation_deser.rs index b97a3d647485..0e96dafe68a4 100644 --- a/sdk/qldb/src/operation_deser.rs +++ b/sdk/qldb/src/operation_deser.rs @@ -8,7 +8,6 @@ pub fn parse_cancel_journal_kinesis_stream_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CancelJournalKinesisStreamError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -94,7 +93,6 @@ pub fn parse_create_ledger_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::CreateLedgerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateLedgerError::unhandled(generic)), @@ -176,7 +174,6 @@ pub fn parse_delete_ledger_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DeleteLedgerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteLedgerError::unhandled(generic)), @@ -262,7 +259,6 @@ pub fn parse_describe_journal_kinesis_stream_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DescribeJournalKinesisStreamError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -349,7 +345,6 @@ pub fn parse_describe_journal_s3_export_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DescribeJournalS3ExportError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -401,7 +396,6 @@ pub fn parse_describe_ledger_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::DescribeLedgerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeLedgerError::unhandled(generic)), @@ -460,7 +454,6 @@ pub fn parse_export_journal_to_s3_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ExportJournalToS3Error::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ExportJournalToS3Error::unhandled(generic)), @@ -522,7 +515,6 @@ pub fn parse_get_block_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetBlockError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetBlockError::unhandled(generic)), @@ -595,7 +587,6 @@ pub fn parse_get_digest_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetDigestError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDigestError::unhandled(generic)), @@ -668,7 +659,6 @@ pub fn parse_get_revision_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::GetRevisionError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRevisionError::unhandled(generic)), @@ -744,7 +734,6 @@ pub fn parse_list_journal_kinesis_streams_for_ledger_error( > { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::ListJournalKinesisStreamsForLedgerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -885,7 +874,6 @@ pub fn parse_list_tags_for_resource_error( ) -> Result { 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)), @@ -947,7 +935,6 @@ pub fn parse_stream_journal_to_kinesis_error( { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::StreamJournalToKinesisError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => { @@ -1028,7 +1015,6 @@ pub fn parse_tag_resource_error( ) -> 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)), @@ -1084,7 +1070,6 @@ pub fn parse_untag_resource_error( ) -> 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)), @@ -1140,7 +1125,6 @@ pub fn parse_update_ledger_error( ) -> Result { let generic = crate::json_deser::parse_generic_error(&response) .map_err(crate::error::UpdateLedgerError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateLedgerError::unhandled(generic)), diff --git a/sdk/qldb/src/operation_ser.rs b/sdk/qldb/src/operation_ser.rs index 66b9cc997118..cc8fdc5c8e1d 100644 --- a/sdk/qldb/src/operation_ser.rs +++ b/sdk/qldb/src/operation_ser.rs @@ -1,75 +1,70 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_create_ledger_input_body( +pub fn serialize_operation_create_ledger( input: &crate::input::CreateLedgerInput, ) -> Result { - let body = crate::serializer::CreateLedgerInputBody { - name: &input.name, - tags: &input.tags, - permissions_mode: &input.permissions_mode, - deletion_protection: &input.deletion_protection, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_ledger_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_export_journal_to_s3_input_body( +pub fn serialize_operation_export_journal_to_s3( input: &crate::input::ExportJournalToS3Input, ) -> Result { - let body = crate::serializer::ExportJournalToS3InputBody { - inclusive_start_time: &input.inclusive_start_time, - exclusive_end_time: &input.exclusive_end_time, - s3_export_configuration: &input.s3_export_configuration, - role_arn: &input.role_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_export_journal_to_s3_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_block_input_body( +pub fn serialize_operation_get_block( input: &crate::input::GetBlockInput, ) -> Result { - let body = crate::serializer::GetBlockInputBody { - block_address: &input.block_address, - digest_tip_address: &input.digest_tip_address, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_block_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_revision_input_body( +pub fn serialize_operation_get_revision( input: &crate::input::GetRevisionInput, ) -> Result { - let body = crate::serializer::GetRevisionInputBody { - block_address: &input.block_address, - document_id: &input.document_id, - digest_tip_address: &input.digest_tip_address, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_revision_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_stream_journal_to_kinesis_input_body( +pub fn serialize_operation_stream_journal_to_kinesis( input: &crate::input::StreamJournalToKinesisInput, ) -> Result { - let body = crate::serializer::StreamJournalToKinesisInputBody { - role_arn: &input.role_arn, - tags: &input.tags, - inclusive_start_time: &input.inclusive_start_time, - exclusive_end_time: &input.exclusive_end_time, - kinesis_configuration: &input.kinesis_configuration, - stream_name: &input.stream_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_stream_journal_to_kinesis_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_tag_resource_input_body( +pub fn serialize_operation_tag_resource( input: &crate::input::TagResourceInput, ) -> Result { - let body = crate::serializer::TagResourceInputBody { tags: &input.tags }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + 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)) } -pub fn serialize_operation_update_ledger_input_body( +pub fn serialize_operation_update_ledger( input: &crate::input::UpdateLedgerInput, ) -> Result { - let body = crate::serializer::UpdateLedgerInputBody { - deletion_protection: &input.deletion_protection, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_ledger_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/qldb/src/serde_util.rs b/sdk/qldb/src/serde_util.rs index f6363fdb368b..52f46e107033 100644 --- a/sdk/qldb/src/serde_util.rs +++ b/sdk/qldb/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/qldb/src/serializer.rs b/sdk/qldb/src/serializer.rs index e506c93b2662..b43cdcb7fb03 100644 --- a/sdk/qldb/src/serializer.rs +++ b/sdk/qldb/src/serializer.rs @@ -1,24 +1,18 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateLedgerInputBody<'a> { ///

    The name of the ledger that you want to create. The name must be unique among all of /// your ledgers in the current AWS Region.

    ///

    Naming constraints for ledger names are defined in Quotas in Amazon QLDB /// in the Amazon QLDB Developer Guide.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The key-value pairs to add as tags to the ledger that you want to create. Tag keys are /// case sensitive. Tag values are case sensitive and can be null.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap>, >, ///

    The permissions mode to assign to the ledger that you want to create.

    - #[serde(rename = "PermissionsMode")] - #[serde(skip_serializing_if = "Option::is_none")] pub permissions_mode: &'a std::option::Option, ///

    The flag that prevents a ledger from being deleted by any user. If not provided on /// ledger creation, this feature is enabled (true) by default.

    @@ -26,8 +20,6 @@ pub struct CreateLedgerInputBody<'a> { /// ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the /// UpdateLedger operation to set the flag to false. The QLDB /// console disables deletion protection for you when you use it to delete a ledger.

    - #[serde(rename = "DeletionProtection")] - #[serde(skip_serializing_if = "Option::is_none")] pub deletion_protection: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateLedgerInputBody<'a> { @@ -42,7 +34,7 @@ impl<'a> std::fmt::Debug for CreateLedgerInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ExportJournalToS3InputBody<'a> { ///

    The inclusive start date and time for the range of journal contents that you want to /// export.

    @@ -54,11 +46,6 @@ pub struct ExportJournalToS3InputBody<'a> { ///

    If you provide an InclusiveStartTime that is before the ledger's /// CreationDateTime, Amazon QLDB defaults it to the ledger's /// CreationDateTime.

    - #[serde(rename = "InclusiveStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub inclusive_start_time: &'a std::option::Option, ///

    The exclusive end date and time for the range of journal contents that you want to /// export.

    @@ -68,16 +55,9 @@ pub struct ExportJournalToS3InputBody<'a> { ///

    ///

    The ExclusiveEndTime must be less than or equal to the current UTC date and /// time.

    - #[serde(rename = "ExclusiveEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub exclusive_end_time: &'a std::option::Option, ///

    The configuration settings of the Amazon S3 bucket destination for your export /// request.

    - #[serde(rename = "S3ExportConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_export_configuration: &'a std::option::Option, ///

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a /// journal export job to do the following:

    @@ -90,8 +70,6 @@ pub struct ExportJournalToS3InputBody<'a> { /// KMS) for server-side encryption of your exported data.

    /// /// - #[serde(rename = "RoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub role_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for ExportJournalToS3InputBody<'a> { @@ -106,22 +84,18 @@ impl<'a> std::fmt::Debug for ExportJournalToS3InputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetBlockInputBody<'a> { ///

    The location of the block that you want to request. An address is an Amazon Ion /// structure that has two fields: strandId and sequenceNo.

    ///

    For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14} ///

    - #[serde(rename = "BlockAddress")] - #[serde(skip_serializing_if = "Option::is_none")] pub block_address: &'a std::option::Option, ///

    The latest block location covered by the digest for which to request a proof. An address /// is an Amazon Ion structure that has two fields: strandId and /// sequenceNo.

    ///

    For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49} ///

    - #[serde(rename = "DigestTipAddress")] - #[serde(skip_serializing_if = "Option::is_none")] pub digest_tip_address: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetBlockInputBody<'a> { @@ -134,26 +108,20 @@ impl<'a> std::fmt::Debug for GetBlockInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetRevisionInputBody<'a> { ///

    The block location of the document revision to be verified. An address is an Amazon Ion /// structure that has two fields: strandId and sequenceNo.

    ///

    For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14} ///

    - #[serde(rename = "BlockAddress")] - #[serde(skip_serializing_if = "Option::is_none")] pub block_address: &'a std::option::Option, ///

    The unique ID of the document to be verified.

    - #[serde(rename = "DocumentId")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_id: &'a std::option::Option, ///

    The latest block location covered by the digest for which to request a proof. An address /// is an Amazon Ion structure that has two fields: strandId and /// sequenceNo.

    ///

    For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49} ///

    - #[serde(rename = "DigestTipAddress")] - #[serde(skip_serializing_if = "Option::is_none")] pub digest_tip_address: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetRevisionInputBody<'a> { @@ -167,17 +135,13 @@ impl<'a> std::fmt::Debug for GetRevisionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StreamJournalToKinesisInputBody<'a> { ///

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a /// journal stream to write data records to a Kinesis Data Streams resource.

    - #[serde(rename = "RoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub role_arn: &'a std::option::Option, ///

    The key-value pairs to add as tags to the stream that you want to create. Tag keys are /// case sensitive. Tag values are case sensitive and can be null.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap>, >, @@ -190,11 +154,6 @@ pub struct StreamJournalToKinesisInputBody<'a> { ///

    If you provide an InclusiveStartTime that is before the ledger's /// CreationDateTime, QLDB effectively defaults it to the ledger's /// CreationDateTime.

    - #[serde(rename = "InclusiveStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub inclusive_start_time: &'a std::option::Option, ///

    The exclusive date and time that specifies when the stream ends. If you don't define /// this parameter, the stream runs indefinitely until you cancel it.

    @@ -202,15 +161,8 @@ pub struct StreamJournalToKinesisInputBody<'a> { /// and in Universal Coordinated Time (UTC). For example: /// 2019-06-13T21:36:34Z ///

    - #[serde(rename = "ExclusiveEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub exclusive_end_time: &'a std::option::Option, ///

    The configuration settings of the Kinesis Data Streams destination for your stream request.

    - #[serde(rename = "KinesisConfiguration")] - #[serde(skip_serializing_if = "Option::is_none")] pub kinesis_configuration: &'a std::option::Option, ///

    The name that you want to assign to the QLDB journal stream. User-defined names can /// help identify and indicate the purpose of a stream.

    @@ -218,8 +170,6 @@ pub struct StreamJournalToKinesisInputBody<'a> { /// given ledger. Stream names have the same naming constraints as ledger names, as defined in /// Quotas in Amazon QLDB in the Amazon QLDB Developer /// Guide.

    - #[serde(rename = "StreamName")] - #[serde(skip_serializing_if = "Option::is_none")] pub stream_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for StreamJournalToKinesisInputBody<'a> { @@ -236,13 +186,11 @@ impl<'a> std::fmt::Debug for StreamJournalToKinesisInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInputBody<'a> { ///

    The key-value pairs to add as tags to the specified QLDB resource. Tag keys are case /// sensitive. If you specify a key that already exists for the resource, your request fails /// and returns an error. Tag values are case sensitive and can be null.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option< std::collections::HashMap>, >, @@ -256,7 +204,7 @@ impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateLedgerInputBody<'a> { ///

    The flag that prevents a ledger from being deleted by any user. If not provided on /// ledger creation, this feature is enabled (true) by default.

    @@ -264,8 +212,6 @@ pub struct UpdateLedgerInputBody<'a> { /// ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the /// UpdateLedger operation to set the flag to false. The QLDB /// console disables deletion protection for you when you use it to delete a ledger.

    - #[serde(rename = "DeletionProtection")] - #[serde(skip_serializing_if = "Option::is_none")] pub deletion_protection: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateLedgerInputBody<'a> { diff --git a/sdk/qldbsession/Cargo.toml b/sdk/qldbsession/Cargo.toml index 999963e33aeb..3db8e21d9885 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.5-alpha" +version = "0.0.6-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" @@ -32,6 +32,8 @@ version = "0.2" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [dependencies.bytes] version = "1" [dev-dependencies.aws-hyper] diff --git a/sdk/qldbsession/src/aws_json_errors.rs b/sdk/qldbsession/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/qldbsession/src/aws_json_errors.rs +++ b/sdk/qldbsession/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/qldbsession/src/client.rs b/sdk/qldbsession/src/client.rs index 896974c93819..9b0df445c9a8 100644 --- a/sdk/qldbsession/src/client.rs +++ b/sdk/qldbsession/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,13 +33,11 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn send_command(&self) -> fluent_builders::SendCommand { fluent_builders::SendCommand::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct SendCommand { handle: std::sync::Arc, @@ -70,7 +66,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the session token for the current command. A session token is constant /// throughout the life of the session.

    ///

    To obtain a session token, run the StartSession command. This diff --git a/sdk/qldbsession/src/config.rs b/sdk/qldbsession/src/config.rs index c9ca95007b9c..66503d1de50d 100644 --- a/sdk/qldbsession/src/config.rs +++ b/sdk/qldbsession/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/qldbsession/src/error.rs b/sdk/qldbsession/src/error.rs index d07287f8f02d..3b0a2f89d7a1 100644 --- a/sdk/qldbsession/src/error.rs +++ b/sdk/qldbsession/src/error.rs @@ -14,7 +14,6 @@ pub enum SendCommandErrorKind { LimitExceededError(crate::error::LimitExceededError), OccConflictError(crate::error::OccConflictError), RateExceededError(crate::error::RateExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -39,7 +38,6 @@ impl smithy_types::retry::ProvideErrorKind for SendCommandError { None } } - impl SendCommandError { pub fn new(kind: SendCommandErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -62,18 +60,21 @@ impl SendCommandError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for SendCommandError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -90,10 +91,9 @@ impl std::error::Error for SendCommandError { ///

    Returned when the rate of requests exceeds the allowed throughput.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RateExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -154,10 +154,9 @@ impl RateExceededError { ///

    Returned when a transaction cannot be written to the journal due to a failure in the /// verification phase of optimistic concurrency control (OCC).

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OccConflictError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -217,10 +216,9 @@ impl OccConflictError { ///

    Returned if a resource limit such as number of active sessions is exceeded.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -280,14 +278,12 @@ impl LimitExceededError { ///

    Returned if the session doesn't exist anymore because it timed out or expired.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSessionError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, #[serde(rename = "Code")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code: std::option::Option, } @@ -358,10 +354,9 @@ impl InvalidSessionError { ///

    Returned when the request exceeds the processing capacity of the ledger.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CapacityExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -422,14 +417,12 @@ impl CapacityExceededError { ///

    Returned if the request is malformed or contains an error such as an invalid parameter /// value or a missing required parameter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BadRequestError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, #[serde(rename = "Code")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub code: std::option::Option, } diff --git a/sdk/qldbsession/src/input.rs b/sdk/qldbsession/src/input.rs index 4aec495ef82c..1add323fce78 100644 --- a/sdk/qldbsession/src/input.rs +++ b/sdk/qldbsession/src/input.rs @@ -145,46 +145,38 @@ impl SendCommandInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_send_command_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_send_command(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::SendCommand::new(), @@ -193,7 +185,6 @@ impl SendCommandInput { "SendCommand", "qldbsession", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -203,7 +194,6 @@ impl SendCommandInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.0") diff --git a/sdk/qldbsession/src/json_deser.rs b/sdk/qldbsession/src/json_deser.rs index 36a1c1aa273b..a59b6f6cf2c6 100644 --- a/sdk/qldbsession/src/json_deser.rs +++ b/sdk/qldbsession/src/json_deser.rs @@ -11,7 +11,6 @@ pub fn send_command_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_start_session(parsed_body.start_session); builder = builder.set_start_transaction(parsed_body.start_transaction); builder = builder.set_end_session(parsed_body.end_session); diff --git a/sdk/qldbsession/src/json_ser.rs b/sdk/qldbsession/src/json_ser.rs new file mode 100644 index 000000000000..2a0da23de618 --- /dev/null +++ b/sdk/qldbsession/src/json_ser.rs @@ -0,0 +1,135 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_send_command_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SendCommandInput, +) { + if let Some(var_1) = &input.session_token { + object.key("SessionToken").string(var_1); + } + if let Some(var_2) = &input.start_session { + let mut object_3 = object.key("StartSession").start_object(); + crate::json_ser::serialize_structure_start_session_request(&mut object_3, var_2); + object_3.finish(); + } + if let Some(var_4) = &input.start_transaction { + let mut object_5 = object.key("StartTransaction").start_object(); + crate::json_ser::serialize_structure_start_transaction_request(&mut object_5, var_4); + object_5.finish(); + } + if let Some(var_6) = &input.end_session { + let mut object_7 = object.key("EndSession").start_object(); + crate::json_ser::serialize_structure_end_session_request(&mut object_7, var_6); + object_7.finish(); + } + if let Some(var_8) = &input.commit_transaction { + let mut object_9 = object.key("CommitTransaction").start_object(); + crate::json_ser::serialize_structure_commit_transaction_request(&mut object_9, var_8); + object_9.finish(); + } + if let Some(var_10) = &input.abort_transaction { + let mut object_11 = object.key("AbortTransaction").start_object(); + crate::json_ser::serialize_structure_abort_transaction_request(&mut object_11, var_10); + object_11.finish(); + } + if let Some(var_12) = &input.execute_statement { + let mut object_13 = object.key("ExecuteStatement").start_object(); + crate::json_ser::serialize_structure_execute_statement_request(&mut object_13, var_12); + object_13.finish(); + } + if let Some(var_14) = &input.fetch_page { + let mut object_15 = object.key("FetchPage").start_object(); + crate::json_ser::serialize_structure_fetch_page_request(&mut object_15, var_14); + object_15.finish(); + } +} + +pub fn serialize_structure_start_session_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::StartSessionRequest, +) { + if let Some(var_16) = &input.ledger_name { + object.key("LedgerName").string(var_16); + } +} + +pub fn serialize_structure_start_transaction_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::StartTransactionRequest, +) { + let (_, _) = (object, input); +} + +pub fn serialize_structure_end_session_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::EndSessionRequest, +) { + let (_, _) = (object, input); +} + +pub fn serialize_structure_commit_transaction_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CommitTransactionRequest, +) { + if let Some(var_17) = &input.transaction_id { + object.key("TransactionId").string(var_17); + } + if let Some(var_18) = &input.commit_digest { + object + .key("CommitDigest") + .string_unchecked(&smithy_http::base64::encode(var_18)); + } +} + +pub fn serialize_structure_abort_transaction_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AbortTransactionRequest, +) { + let (_, _) = (object, input); +} + +pub fn serialize_structure_execute_statement_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ExecuteStatementRequest, +) { + if let Some(var_19) = &input.transaction_id { + object.key("TransactionId").string(var_19); + } + if let Some(var_20) = &input.statement { + object.key("Statement").string(var_20); + } + if let Some(var_21) = &input.parameters { + let mut array_22 = object.key("Parameters").start_array(); + for item_23 in var_21 { + let mut object_24 = array_22.value().start_object(); + crate::json_ser::serialize_structure_value_holder(&mut object_24, item_23); + object_24.finish(); + } + array_22.finish(); + } +} + +pub fn serialize_structure_fetch_page_request( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::FetchPageRequest, +) { + if let Some(var_25) = &input.transaction_id { + object.key("TransactionId").string(var_25); + } + if let Some(var_26) = &input.next_page_token { + object.key("NextPageToken").string(var_26); + } +} + +pub fn serialize_structure_value_holder( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ValueHolder, +) { + if let Some(var_27) = &input.ion_binary { + object + .key("IonBinary") + .string_unchecked(&smithy_http::base64::encode(var_27)); + } + if let Some(var_28) = &input.ion_text { + object.key("IonText").string(var_28); + } +} diff --git a/sdk/qldbsession/src/lib.rs b/sdk/qldbsession/src/lib.rs index 1601cb4656f9..c5613bb67c05 100644 --- a/sdk/qldbsession/src/lib.rs +++ b/sdk/qldbsession/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //!

    The transactional data APIs for Amazon QLDB

    //! //!

    Instead of interacting directly with this API, we recommend using the QLDB driver @@ -38,6 +39,7 @@ pub mod error; mod error_meta; pub mod input; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_ser; @@ -45,6 +47,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/qldbsession/src/model.rs b/sdk/qldbsession/src/model.rs index ace9a842cd53..af8494b487db 100644 --- a/sdk/qldbsession/src/model.rs +++ b/sdk/qldbsession/src/model.rs @@ -1,21 +1,18 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

    Contains the page that was fetched.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FetchPageResult { ///

    Contains details of the fetched page.

    #[serde(rename = "Page")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub page: std::option::Option, ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, ///

    Contains metrics about the number of I/O requests that were consumed.

    #[serde(rename = "ConsumedIOs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumed_i_os: std::option::Option, } @@ -91,7 +88,7 @@ impl FetchPageResult { ///

    Contains I/O usage metrics for a command that was invoked.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IOUsage { ///

    The number of read I/O requests that the command made.

    #[serde(rename = "ReadIOs")] @@ -156,7 +153,7 @@ impl IOUsage { /// information between the times when it receives the request and when it sends the /// corresponding response.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TimingInformation { ///

    The amount of time that QLDB spent on processing the command, measured in /// milliseconds.

    @@ -209,16 +206,14 @@ impl TimingInformation { ///

    Contains details of the fetched page.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Page { ///

    A structure that contains values in multiple encoding formats.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The token of the next page.

    #[serde(rename = "NextPageToken")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub next_page_token: std::option::Option, } @@ -283,18 +278,15 @@ impl Page { ///

    A structure that can contain a value in multiple encoding formats.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ValueHolder { ///

    An Amazon Ion binary value contained in a ValueHolder structure.

    #[serde(rename = "IonBinary")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub ion_binary: std::option::Option, ///

    An Amazon Ion plaintext value contained in a ValueHolder structure.

    #[serde(rename = "IonText")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ion_text: std::option::Option, } @@ -352,21 +344,18 @@ impl ValueHolder { ///

    Contains the details of the executed statement.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExecuteStatementResult { ///

    Contains the details of the first fetched page.

    #[serde(rename = "FirstPage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub first_page: std::option::Option, ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, ///

    Contains metrics about the number of I/O requests that were consumed.

    #[serde(rename = "ConsumedIOs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumed_i_os: std::option::Option, } @@ -442,11 +431,10 @@ impl ExecuteStatementResult { ///

    Contains the details of the aborted transaction.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AbortTransactionResult { ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, } @@ -495,28 +483,23 @@ impl AbortTransactionResult { ///

    Contains the details of the committed transaction.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CommitTransactionResult { ///

    The transaction ID of the committed transaction.

    #[serde(rename = "TransactionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub transaction_id: std::option::Option, ///

    The commit digest of the committed transaction.

    #[serde(rename = "CommitDigest")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub commit_digest: std::option::Option, ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, ///

    Contains metrics about the number of I/O requests that were consumed.

    #[serde(rename = "ConsumedIOs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub consumed_i_os: std::option::Option, } @@ -604,11 +587,10 @@ impl CommitTransactionResult { ///

    Contains the details of the ended session.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EndSessionResult { ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, } @@ -657,16 +639,14 @@ impl EndSessionResult { ///

    Contains the details of the started transaction.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StartTransactionResult { ///

    The transaction ID of the started transaction.

    #[serde(rename = "TransactionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub transaction_id: std::option::Option, ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, } @@ -727,17 +707,15 @@ impl StartTransactionResult { ///

    Contains the details of the started session.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StartSessionResult { ///

    Session token of the started session. This SessionToken is required for /// every subsequent command that is issued during the current session.

    #[serde(rename = "SessionToken")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub session_token: std::option::Option, ///

    Contains server-side performance information for the command.

    #[serde(rename = "TimingInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timing_information: std::option::Option, } @@ -799,16 +777,14 @@ impl StartSessionResult { ///

    Specifies the details of the page to be fetched.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FetchPageRequest { ///

    Specifies the transaction ID of the page to be fetched.

    #[serde(rename = "TransactionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub transaction_id: std::option::Option, ///

    Specifies the next page token of the page to be fetched.

    #[serde(rename = "NextPageToken")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub next_page_token: std::option::Option, } @@ -869,21 +845,18 @@ impl FetchPageRequest { ///

    Specifies a request to execute a statement.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ExecuteStatementRequest { ///

    Specifies the transaction ID of the request.

    #[serde(rename = "TransactionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub transaction_id: std::option::Option, ///

    Specifies the statement of the request.

    #[serde(rename = "Statement")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub statement: std::option::Option, ///

    Specifies the parameters for the parameterized statement in the request.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option>, } @@ -957,7 +930,7 @@ impl ExecuteStatementRequest { ///

    Contains the details of the transaction to abort.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AbortTransactionRequest {} impl std::fmt::Debug for AbortTransactionRequest { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -987,11 +960,10 @@ impl AbortTransactionRequest { ///

    Contains the details of the transaction to commit.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CommitTransactionRequest { ///

    Specifies the transaction ID of the transaction to commit.

    #[serde(rename = "TransactionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub transaction_id: std::option::Option, ///

    Specifies the commit digest for the transaction to commit. For every active transaction, @@ -1002,8 +974,6 @@ pub struct CommitTransactionRequest { /// a transaction if and only if the server has processed the exact set of statements sent by /// the client, in the same order that client sent them, and with no duplicates.

    #[serde(rename = "CommitDigest")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub commit_digest: std::option::Option, @@ -1068,7 +1038,7 @@ impl CommitTransactionRequest { ///

    Specifies a request to end the session.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EndSessionRequest {} impl std::fmt::Debug for EndSessionRequest { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -1098,7 +1068,7 @@ impl EndSessionRequest { ///

    Specifies a request to start a transaction.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StartTransactionRequest {} impl std::fmt::Debug for StartTransactionRequest { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -1128,11 +1098,10 @@ impl StartTransactionRequest { ///

    Specifies a request to start a new session.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StartSessionRequest { ///

    The name of the ledger to start a new session against.

    #[serde(rename = "LedgerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ledger_name: std::option::Option, } diff --git a/sdk/qldbsession/src/operation.rs b/sdk/qldbsession/src/operation.rs index db9d8583f2e0..6a843b7a890f 100644 --- a/sdk/qldbsession/src/operation.rs +++ b/sdk/qldbsession/src/operation.rs @@ -20,7 +20,7 @@ /// /// ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SendCommand { _private: (), } @@ -39,7 +39,6 @@ impl SendCommand { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::SendCommandError::unhandled(generic)), @@ -101,7 +100,6 @@ impl SendCommand { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for SendCommand { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { diff --git a/sdk/qldbsession/src/operation_ser.rs b/sdk/qldbsession/src/operation_ser.rs index 1cd153c5a399..c4864e1619ac 100644 --- a/sdk/qldbsession/src/operation_ser.rs +++ b/sdk/qldbsession/src/operation_ser.rs @@ -1,16 +1,10 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_send_command_input_body( +pub fn serialize_operation_send_command( input: &crate::input::SendCommandInput, ) -> Result { - let body = crate::serializer::SendCommandInputBody { - session_token: &input.session_token, - start_session: &input.start_session, - start_transaction: &input.start_transaction, - end_session: &input.end_session, - commit_transaction: &input.commit_transaction, - abort_transaction: &input.abort_transaction, - execute_statement: &input.execute_statement, - fetch_page: &input.fetch_page, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_send_command_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/qldbsession/src/serde_util.rs b/sdk/qldbsession/src/serde_util.rs index c71bee73a4d4..473b5bd6f2d4 100644 --- a/sdk/qldbsession/src/serde_util.rs +++ b/sdk/qldbsession/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesblob_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::blob_serde::BlobSer(el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/qldbsession/src/serializer.rs b/sdk/qldbsession/src/serializer.rs index 6bb4e2478ccf..06b2dac9a3e4 100644 --- a/sdk/qldbsession/src/serializer.rs +++ b/sdk/qldbsession/src/serializer.rs @@ -1,43 +1,27 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SendCommandInputBody<'a> { ///

    Specifies the session token for the current command. A session token is constant /// throughout the life of the session.

    ///

    To obtain a session token, run the StartSession command. This /// SessionToken is required for every subsequent command that is issued during /// the current session.

    - #[serde(rename = "SessionToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub session_token: &'a std::option::Option, ///

    Command to start a new session. A session token is obtained as part of the /// response.

    - #[serde(rename = "StartSession")] - #[serde(skip_serializing_if = "Option::is_none")] pub start_session: &'a std::option::Option, ///

    Command to start a new transaction.

    - #[serde(rename = "StartTransaction")] - #[serde(skip_serializing_if = "Option::is_none")] pub start_transaction: &'a std::option::Option, ///

    Command to end the current session.

    - #[serde(rename = "EndSession")] - #[serde(skip_serializing_if = "Option::is_none")] pub end_session: &'a std::option::Option, ///

    Command to commit the specified transaction.

    - #[serde(rename = "CommitTransaction")] - #[serde(skip_serializing_if = "Option::is_none")] pub commit_transaction: &'a std::option::Option, ///

    Command to abort the current transaction.

    - #[serde(rename = "AbortTransaction")] - #[serde(skip_serializing_if = "Option::is_none")] pub abort_transaction: &'a std::option::Option, ///

    Command to execute a statement in the specified transaction.

    - #[serde(rename = "ExecuteStatement")] - #[serde(skip_serializing_if = "Option::is_none")] pub execute_statement: &'a std::option::Option, ///

    Command to fetch a page.

    - #[serde(rename = "FetchPage")] - #[serde(skip_serializing_if = "Option::is_none")] pub fetch_page: &'a std::option::Option, } impl<'a> std::fmt::Debug for SendCommandInputBody<'a> { diff --git a/sdk/s3/Cargo.toml b/sdk/s3/Cargo.toml index 31770345de77..5d9fc60f3d85 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.5-alpha" +version = "0.0.6-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 4f2ee868785c..de10e46809db 100644 --- a/sdk/s3/src/client.rs +++ b/sdk/s3/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,419 +33,327 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn abort_multipart_upload(&self) -> fluent_builders::AbortMultipartUpload { fluent_builders::AbortMultipartUpload::new(self.handle.clone()) } - pub fn complete_multipart_upload(&self) -> fluent_builders::CompleteMultipartUpload { fluent_builders::CompleteMultipartUpload::new(self.handle.clone()) } - pub fn copy_object(&self) -> fluent_builders::CopyObject { fluent_builders::CopyObject::new(self.handle.clone()) } - pub fn create_bucket(&self) -> fluent_builders::CreateBucket { fluent_builders::CreateBucket::new(self.handle.clone()) } - pub fn create_multipart_upload(&self) -> fluent_builders::CreateMultipartUpload { fluent_builders::CreateMultipartUpload::new(self.handle.clone()) } - pub fn delete_bucket(&self) -> fluent_builders::DeleteBucket { fluent_builders::DeleteBucket::new(self.handle.clone()) } - pub fn delete_bucket_analytics_configuration( &self, ) -> fluent_builders::DeleteBucketAnalyticsConfiguration { fluent_builders::DeleteBucketAnalyticsConfiguration::new(self.handle.clone()) } - pub fn delete_bucket_cors(&self) -> fluent_builders::DeleteBucketCors { fluent_builders::DeleteBucketCors::new(self.handle.clone()) } - pub fn delete_bucket_encryption(&self) -> fluent_builders::DeleteBucketEncryption { fluent_builders::DeleteBucketEncryption::new(self.handle.clone()) } - pub fn delete_bucket_intelligent_tiering_configuration( &self, ) -> fluent_builders::DeleteBucketIntelligentTieringConfiguration { fluent_builders::DeleteBucketIntelligentTieringConfiguration::new(self.handle.clone()) } - pub fn delete_bucket_inventory_configuration( &self, ) -> fluent_builders::DeleteBucketInventoryConfiguration { fluent_builders::DeleteBucketInventoryConfiguration::new(self.handle.clone()) } - pub fn delete_bucket_lifecycle(&self) -> fluent_builders::DeleteBucketLifecycle { fluent_builders::DeleteBucketLifecycle::new(self.handle.clone()) } - pub fn delete_bucket_metrics_configuration( &self, ) -> fluent_builders::DeleteBucketMetricsConfiguration { fluent_builders::DeleteBucketMetricsConfiguration::new(self.handle.clone()) } - pub fn delete_bucket_ownership_controls( &self, ) -> fluent_builders::DeleteBucketOwnershipControls { fluent_builders::DeleteBucketOwnershipControls::new(self.handle.clone()) } - pub fn delete_bucket_policy(&self) -> fluent_builders::DeleteBucketPolicy { fluent_builders::DeleteBucketPolicy::new(self.handle.clone()) } - pub fn delete_bucket_replication(&self) -> fluent_builders::DeleteBucketReplication { fluent_builders::DeleteBucketReplication::new(self.handle.clone()) } - pub fn delete_bucket_tagging(&self) -> fluent_builders::DeleteBucketTagging { fluent_builders::DeleteBucketTagging::new(self.handle.clone()) } - pub fn delete_bucket_website(&self) -> fluent_builders::DeleteBucketWebsite { fluent_builders::DeleteBucketWebsite::new(self.handle.clone()) } - pub fn delete_object(&self) -> fluent_builders::DeleteObject { fluent_builders::DeleteObject::new(self.handle.clone()) } - pub fn delete_objects(&self) -> fluent_builders::DeleteObjects { fluent_builders::DeleteObjects::new(self.handle.clone()) } - pub fn delete_object_tagging(&self) -> fluent_builders::DeleteObjectTagging { fluent_builders::DeleteObjectTagging::new(self.handle.clone()) } - pub fn delete_public_access_block(&self) -> fluent_builders::DeletePublicAccessBlock { fluent_builders::DeletePublicAccessBlock::new(self.handle.clone()) } - pub fn get_bucket_accelerate_configuration( &self, ) -> fluent_builders::GetBucketAccelerateConfiguration { fluent_builders::GetBucketAccelerateConfiguration::new(self.handle.clone()) } - pub fn get_bucket_acl(&self) -> fluent_builders::GetBucketAcl { fluent_builders::GetBucketAcl::new(self.handle.clone()) } - pub fn get_bucket_analytics_configuration( &self, ) -> fluent_builders::GetBucketAnalyticsConfiguration { fluent_builders::GetBucketAnalyticsConfiguration::new(self.handle.clone()) } - pub fn get_bucket_cors(&self) -> fluent_builders::GetBucketCors { fluent_builders::GetBucketCors::new(self.handle.clone()) } - pub fn get_bucket_encryption(&self) -> fluent_builders::GetBucketEncryption { fluent_builders::GetBucketEncryption::new(self.handle.clone()) } - pub fn get_bucket_intelligent_tiering_configuration( &self, ) -> fluent_builders::GetBucketIntelligentTieringConfiguration { fluent_builders::GetBucketIntelligentTieringConfiguration::new(self.handle.clone()) } - pub fn get_bucket_inventory_configuration( &self, ) -> fluent_builders::GetBucketInventoryConfiguration { fluent_builders::GetBucketInventoryConfiguration::new(self.handle.clone()) } - pub fn get_bucket_lifecycle_configuration( &self, ) -> fluent_builders::GetBucketLifecycleConfiguration { fluent_builders::GetBucketLifecycleConfiguration::new(self.handle.clone()) } - pub fn get_bucket_location(&self) -> fluent_builders::GetBucketLocation { fluent_builders::GetBucketLocation::new(self.handle.clone()) } - pub fn get_bucket_logging(&self) -> fluent_builders::GetBucketLogging { fluent_builders::GetBucketLogging::new(self.handle.clone()) } - pub fn get_bucket_metrics_configuration( &self, ) -> fluent_builders::GetBucketMetricsConfiguration { fluent_builders::GetBucketMetricsConfiguration::new(self.handle.clone()) } - pub fn get_bucket_notification_configuration( &self, ) -> fluent_builders::GetBucketNotificationConfiguration { fluent_builders::GetBucketNotificationConfiguration::new(self.handle.clone()) } - pub fn get_bucket_ownership_controls(&self) -> fluent_builders::GetBucketOwnershipControls { fluent_builders::GetBucketOwnershipControls::new(self.handle.clone()) } - pub fn get_bucket_policy(&self) -> fluent_builders::GetBucketPolicy { fluent_builders::GetBucketPolicy::new(self.handle.clone()) } - pub fn get_bucket_policy_status(&self) -> fluent_builders::GetBucketPolicyStatus { fluent_builders::GetBucketPolicyStatus::new(self.handle.clone()) } - pub fn get_bucket_replication(&self) -> fluent_builders::GetBucketReplication { fluent_builders::GetBucketReplication::new(self.handle.clone()) } - pub fn get_bucket_request_payment(&self) -> fluent_builders::GetBucketRequestPayment { fluent_builders::GetBucketRequestPayment::new(self.handle.clone()) } - pub fn get_bucket_tagging(&self) -> fluent_builders::GetBucketTagging { fluent_builders::GetBucketTagging::new(self.handle.clone()) } - pub fn get_bucket_versioning(&self) -> fluent_builders::GetBucketVersioning { fluent_builders::GetBucketVersioning::new(self.handle.clone()) } - pub fn get_bucket_website(&self) -> fluent_builders::GetBucketWebsite { fluent_builders::GetBucketWebsite::new(self.handle.clone()) } - pub fn get_object(&self) -> fluent_builders::GetObject { fluent_builders::GetObject::new(self.handle.clone()) } - pub fn get_object_acl(&self) -> fluent_builders::GetObjectAcl { fluent_builders::GetObjectAcl::new(self.handle.clone()) } - pub fn get_object_legal_hold(&self) -> fluent_builders::GetObjectLegalHold { fluent_builders::GetObjectLegalHold::new(self.handle.clone()) } - pub fn get_object_lock_configuration(&self) -> fluent_builders::GetObjectLockConfiguration { fluent_builders::GetObjectLockConfiguration::new(self.handle.clone()) } - pub fn get_object_retention(&self) -> fluent_builders::GetObjectRetention { fluent_builders::GetObjectRetention::new(self.handle.clone()) } - pub fn get_object_tagging(&self) -> fluent_builders::GetObjectTagging { fluent_builders::GetObjectTagging::new(self.handle.clone()) } - pub fn get_object_torrent(&self) -> fluent_builders::GetObjectTorrent { fluent_builders::GetObjectTorrent::new(self.handle.clone()) } - pub fn get_public_access_block(&self) -> fluent_builders::GetPublicAccessBlock { fluent_builders::GetPublicAccessBlock::new(self.handle.clone()) } - pub fn head_bucket(&self) -> fluent_builders::HeadBucket { fluent_builders::HeadBucket::new(self.handle.clone()) } - pub fn head_object(&self) -> fluent_builders::HeadObject { fluent_builders::HeadObject::new(self.handle.clone()) } - pub fn list_bucket_analytics_configurations( &self, ) -> fluent_builders::ListBucketAnalyticsConfigurations { fluent_builders::ListBucketAnalyticsConfigurations::new(self.handle.clone()) } - pub fn list_bucket_intelligent_tiering_configurations( &self, ) -> fluent_builders::ListBucketIntelligentTieringConfigurations { fluent_builders::ListBucketIntelligentTieringConfigurations::new(self.handle.clone()) } - pub fn list_bucket_inventory_configurations( &self, ) -> fluent_builders::ListBucketInventoryConfigurations { fluent_builders::ListBucketInventoryConfigurations::new(self.handle.clone()) } - pub fn list_bucket_metrics_configurations( &self, ) -> fluent_builders::ListBucketMetricsConfigurations { fluent_builders::ListBucketMetricsConfigurations::new(self.handle.clone()) } - pub fn list_buckets(&self) -> fluent_builders::ListBuckets { fluent_builders::ListBuckets::new(self.handle.clone()) } - pub fn list_multipart_uploads(&self) -> fluent_builders::ListMultipartUploads { fluent_builders::ListMultipartUploads::new(self.handle.clone()) } - pub fn list_objects(&self) -> fluent_builders::ListObjects { fluent_builders::ListObjects::new(self.handle.clone()) } - pub fn list_objects_v2(&self) -> fluent_builders::ListObjectsV2 { fluent_builders::ListObjectsV2::new(self.handle.clone()) } - pub fn list_object_versions(&self) -> fluent_builders::ListObjectVersions { fluent_builders::ListObjectVersions::new(self.handle.clone()) } - pub fn list_parts(&self) -> fluent_builders::ListParts { fluent_builders::ListParts::new(self.handle.clone()) } - pub fn put_bucket_accelerate_configuration( &self, ) -> fluent_builders::PutBucketAccelerateConfiguration { fluent_builders::PutBucketAccelerateConfiguration::new(self.handle.clone()) } - pub fn put_bucket_acl(&self) -> fluent_builders::PutBucketAcl { fluent_builders::PutBucketAcl::new(self.handle.clone()) } - pub fn put_bucket_analytics_configuration( &self, ) -> fluent_builders::PutBucketAnalyticsConfiguration { fluent_builders::PutBucketAnalyticsConfiguration::new(self.handle.clone()) } - pub fn put_bucket_cors(&self) -> fluent_builders::PutBucketCors { fluent_builders::PutBucketCors::new(self.handle.clone()) } - pub fn put_bucket_encryption(&self) -> fluent_builders::PutBucketEncryption { fluent_builders::PutBucketEncryption::new(self.handle.clone()) } - pub fn put_bucket_intelligent_tiering_configuration( &self, ) -> fluent_builders::PutBucketIntelligentTieringConfiguration { fluent_builders::PutBucketIntelligentTieringConfiguration::new(self.handle.clone()) } - pub fn put_bucket_inventory_configuration( &self, ) -> fluent_builders::PutBucketInventoryConfiguration { fluent_builders::PutBucketInventoryConfiguration::new(self.handle.clone()) } - pub fn put_bucket_lifecycle_configuration( &self, ) -> fluent_builders::PutBucketLifecycleConfiguration { fluent_builders::PutBucketLifecycleConfiguration::new(self.handle.clone()) } - pub fn put_bucket_logging(&self) -> fluent_builders::PutBucketLogging { fluent_builders::PutBucketLogging::new(self.handle.clone()) } - pub fn put_bucket_metrics_configuration( &self, ) -> fluent_builders::PutBucketMetricsConfiguration { fluent_builders::PutBucketMetricsConfiguration::new(self.handle.clone()) } - pub fn put_bucket_notification_configuration( &self, ) -> fluent_builders::PutBucketNotificationConfiguration { fluent_builders::PutBucketNotificationConfiguration::new(self.handle.clone()) } - pub fn put_bucket_ownership_controls(&self) -> fluent_builders::PutBucketOwnershipControls { fluent_builders::PutBucketOwnershipControls::new(self.handle.clone()) } - pub fn put_bucket_policy(&self) -> fluent_builders::PutBucketPolicy { fluent_builders::PutBucketPolicy::new(self.handle.clone()) } - pub fn put_bucket_replication(&self) -> fluent_builders::PutBucketReplication { fluent_builders::PutBucketReplication::new(self.handle.clone()) } - pub fn put_bucket_request_payment(&self) -> fluent_builders::PutBucketRequestPayment { fluent_builders::PutBucketRequestPayment::new(self.handle.clone()) } - pub fn put_bucket_tagging(&self) -> fluent_builders::PutBucketTagging { fluent_builders::PutBucketTagging::new(self.handle.clone()) } - pub fn put_bucket_versioning(&self) -> fluent_builders::PutBucketVersioning { fluent_builders::PutBucketVersioning::new(self.handle.clone()) } - pub fn put_bucket_website(&self) -> fluent_builders::PutBucketWebsite { fluent_builders::PutBucketWebsite::new(self.handle.clone()) } - pub fn put_object(&self) -> fluent_builders::PutObject { fluent_builders::PutObject::new(self.handle.clone()) } - pub fn put_object_acl(&self) -> fluent_builders::PutObjectAcl { fluent_builders::PutObjectAcl::new(self.handle.clone()) } - pub fn put_object_legal_hold(&self) -> fluent_builders::PutObjectLegalHold { fluent_builders::PutObjectLegalHold::new(self.handle.clone()) } - pub fn put_object_lock_configuration(&self) -> fluent_builders::PutObjectLockConfiguration { fluent_builders::PutObjectLockConfiguration::new(self.handle.clone()) } - pub fn put_object_retention(&self) -> fluent_builders::PutObjectRetention { fluent_builders::PutObjectRetention::new(self.handle.clone()) } - pub fn put_object_tagging(&self) -> fluent_builders::PutObjectTagging { fluent_builders::PutObjectTagging::new(self.handle.clone()) } - pub fn put_public_access_block(&self) -> fluent_builders::PutPublicAccessBlock { fluent_builders::PutPublicAccessBlock::new(self.handle.clone()) } - pub fn restore_object(&self) -> fluent_builders::RestoreObject { fluent_builders::RestoreObject::new(self.handle.clone()) } - pub fn upload_part(&self) -> fluent_builders::UploadPart { fluent_builders::UploadPart::new(self.handle.clone()) } - pub fn upload_part_copy(&self) -> fluent_builders::UploadPartCopy { fluent_builders::UploadPartCopy::new(self.handle.clone()) } - pub fn write_get_object_response(&self) -> fluent_builders::WriteGetObjectResponse { fluent_builders::WriteGetObjectResponse::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct AbortMultipartUpload { handle: std::sync::Arc, @@ -476,7 +382,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -534,7 +439,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CompleteMultipartUpload { handle: std::sync::Arc, @@ -563,7 +467,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Name of the bucket to which the multipart upload was initiated.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -631,7 +534,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CopyObject { handle: std::sync::Arc, @@ -660,7 +562,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The canned ACL to apply to the object.

    ///

    This action is not supported by Amazon S3 on Outposts.

    pub fn acl(mut self, inp: crate::model::ObjectCannedACL) -> Self { @@ -1188,7 +1089,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateBucket { handle: std::sync::Arc, @@ -1217,7 +1117,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The canned ACL to apply to the bucket.

    pub fn acl(mut self, inp: crate::model::BucketCannedACL) -> Self { self.inner = self.inner.acl(inp); @@ -1314,7 +1213,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateMultipartUpload { handle: std::sync::Arc, @@ -1343,7 +1241,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The canned ACL to apply to the object.

    ///

    This action is not supported by Amazon S3 on Outposts.

    pub fn acl(mut self, inp: crate::model::ObjectCannedACL) -> Self { @@ -1704,7 +1601,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucket { handle: std::sync::Arc, @@ -1733,7 +1629,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the bucket being deleted.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -1756,7 +1651,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketAnalyticsConfiguration { handle: std::sync::Arc, @@ -1785,7 +1679,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket from which an analytics configuration is deleted.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -1817,7 +1710,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketCors { handle: std::sync::Arc, @@ -1846,7 +1738,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the bucket whose cors configuration is being deleted.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -1869,7 +1760,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketEncryption { handle: std::sync::Arc, @@ -1898,7 +1788,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the server-side encryption configuration to /// delete.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -1922,7 +1811,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketIntelligentTieringConfiguration { handle: std::sync::Arc, @@ -1953,7 +1841,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -1973,7 +1860,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketInventoryConfiguration { handle: std::sync::Arc, @@ -2002,7 +1888,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the inventory configuration to delete.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2034,7 +1919,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketLifecycle { handle: std::sync::Arc, @@ -2063,7 +1947,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name of the lifecycle to delete.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2086,7 +1969,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketMetricsConfiguration { handle: std::sync::Arc, @@ -2115,7 +1997,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the metrics configuration to delete.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2147,7 +2028,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketOwnershipControls { handle: std::sync::Arc, @@ -2176,7 +2056,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The Amazon S3 bucket whose OwnershipControls you want to delete.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2199,7 +2078,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketPolicy { handle: std::sync::Arc, @@ -2228,7 +2106,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2251,7 +2128,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketReplication { handle: std::sync::Arc, @@ -2280,7 +2156,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2303,7 +2178,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketTagging { handle: std::sync::Arc, @@ -2332,7 +2206,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket that has the tag set to be removed.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2355,7 +2228,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteBucketWebsite { handle: std::sync::Arc, @@ -2384,7 +2256,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name for which you want to remove the website configuration.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2407,7 +2278,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteObject { handle: std::sync::Arc, @@ -2436,7 +2306,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -2515,7 +2384,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteObjects { handle: std::sync::Arc, @@ -2544,7 +2412,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -2614,7 +2481,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteObjectTagging { handle: std::sync::Arc, @@ -2643,7 +2509,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -2686,7 +2551,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeletePublicAccessBlock { handle: std::sync::Arc, @@ -2715,7 +2579,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete. ///

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -2739,7 +2602,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketAccelerateConfiguration { handle: std::sync::Arc, @@ -2768,7 +2630,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which the accelerate configuration is retrieved.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2791,7 +2652,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketAcl { handle: std::sync::Arc, @@ -2820,7 +2680,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the S3 bucket whose ACL is being requested.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2843,7 +2702,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketAnalyticsConfiguration { handle: std::sync::Arc, @@ -2872,7 +2730,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket from which an analytics configuration is retrieved.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2904,7 +2761,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketCors { handle: std::sync::Arc, @@ -2933,7 +2789,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name for which to get the cors configuration.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -2956,7 +2811,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketEncryption { handle: std::sync::Arc, @@ -2985,7 +2839,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket from which the server-side encryption configuration is /// retrieved.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -3009,7 +2862,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketIntelligentTieringConfiguration { handle: std::sync::Arc, @@ -3040,7 +2892,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3060,7 +2911,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketInventoryConfiguration { handle: std::sync::Arc, @@ -3089,7 +2939,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the inventory configuration to retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3121,7 +2970,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketLifecycleConfiguration { handle: std::sync::Arc, @@ -3150,7 +2998,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to get the lifecycle information.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3173,7 +3020,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketLocation { handle: std::sync::Arc, @@ -3202,7 +3048,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to get the location.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3225,7 +3070,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketLogging { handle: std::sync::Arc, @@ -3254,7 +3098,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name for which to get the logging information.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3277,7 +3120,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketMetricsConfiguration { handle: std::sync::Arc, @@ -3306,7 +3148,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the metrics configuration to retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3338,7 +3179,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketNotificationConfiguration { handle: std::sync::Arc, @@ -3367,7 +3207,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to get the notification configuration.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3390,7 +3229,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketOwnershipControls { handle: std::sync::Arc, @@ -3419,7 +3257,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose OwnershipControls you want to retrieve. ///

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -3443,7 +3280,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketPolicy { handle: std::sync::Arc, @@ -3472,7 +3308,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name for which to get the bucket policy.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3495,7 +3330,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketPolicyStatus { handle: std::sync::Arc, @@ -3524,7 +3358,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose policy status you want to retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3547,7 +3380,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketReplication { handle: std::sync::Arc, @@ -3576,7 +3408,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name for which to get the replication information.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3599,7 +3430,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketRequestPayment { handle: std::sync::Arc, @@ -3628,7 +3458,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to get the payment request configuration

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3651,7 +3480,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketTagging { handle: std::sync::Arc, @@ -3680,7 +3508,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to get the tagging information.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3703,7 +3530,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketVersioning { handle: std::sync::Arc, @@ -3732,7 +3558,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to get the versioning information.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3755,7 +3580,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetBucketWebsite { handle: std::sync::Arc, @@ -3784,7 +3608,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name for which to get the website configuration.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -3807,7 +3630,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObject { handle: std::sync::Arc, @@ -3836,7 +3658,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -4079,7 +3900,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObjectAcl { handle: std::sync::Arc, @@ -4108,7 +3928,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -4165,7 +3984,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObjectLegalHold { handle: std::sync::Arc, @@ -4194,7 +4012,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -4251,7 +4068,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObjectLockConfiguration { handle: std::sync::Arc, @@ -4280,7 +4096,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -4304,7 +4119,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObjectRetention { handle: std::sync::Arc, @@ -4333,7 +4147,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -4390,7 +4203,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObjectTagging { handle: std::sync::Arc, @@ -4419,7 +4231,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -4477,7 +4288,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetObjectTorrent { handle: std::sync::Arc, @@ -4506,7 +4316,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the object for which to get the torrent files.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -4553,7 +4362,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetPublicAccessBlock { handle: std::sync::Arc, @@ -4582,7 +4390,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want /// to retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -4606,7 +4413,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct HeadBucket { handle: std::sync::Arc, @@ -4635,7 +4441,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -4660,7 +4465,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct HeadObject { handle: std::sync::Arc, @@ -4689,7 +4493,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -4860,7 +4663,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListBucketAnalyticsConfigurations { handle: std::sync::Arc, @@ -4889,7 +4691,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket from which analytics configurations are retrieved.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -4925,7 +4726,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListBucketIntelligentTieringConfigurations { handle: std::sync::Arc, @@ -4956,7 +4756,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -4980,7 +4779,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListBucketInventoryConfigurations { handle: std::sync::Arc, @@ -5009,7 +4807,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the inventory configurations to retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -5046,7 +4843,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListBucketMetricsConfigurations { handle: std::sync::Arc, @@ -5075,7 +4871,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket containing the metrics configurations to retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -5113,7 +4908,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListBuckets { handle: std::sync::Arc, @@ -5143,7 +4937,6 @@ pub mod fluent_builders { self.handle.client.call(op).await } } - #[derive(std::fmt::Debug)] pub struct ListMultipartUploads { handle: std::sync::Arc, @@ -5172,7 +4965,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -5281,7 +5073,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListObjects { handle: std::sync::Arc, @@ -5310,7 +5101,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -5402,7 +5192,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListObjectsV2 { handle: std::sync::Arc, @@ -5431,7 +5220,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -5544,7 +5332,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListObjectVersions { handle: std::sync::Arc, @@ -5573,7 +5360,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name that contains the objects.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -5672,7 +5458,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListParts { handle: std::sync::Arc, @@ -5701,7 +5486,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -5781,7 +5565,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketAccelerateConfiguration { handle: std::sync::Arc, @@ -5810,7 +5593,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which the accelerate configuration is set.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -5848,7 +5630,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketAcl { handle: std::sync::Arc, @@ -5877,7 +5658,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The canned ACL to apply to the bucket.

    pub fn acl(mut self, inp: crate::model::BucketCannedACL) -> Self { self.inner = self.inner.acl(inp); @@ -5988,7 +5768,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketAnalyticsConfiguration { handle: std::sync::Arc, @@ -6017,7 +5796,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket to which an analytics configuration is stored.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6064,7 +5842,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketCors { handle: std::sync::Arc, @@ -6093,7 +5870,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the bucket impacted by the corsconfiguration.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6144,7 +5920,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketEncryption { handle: std::sync::Arc, @@ -6173,7 +5948,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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 /// the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption @@ -6224,7 +5998,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketIntelligentTieringConfiguration { handle: std::sync::Arc, @@ -6255,7 +6028,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6290,7 +6062,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketInventoryConfiguration { handle: std::sync::Arc, @@ -6319,7 +6090,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket where the inventory configuration will be stored.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6366,7 +6136,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketLifecycleConfiguration { handle: std::sync::Arc, @@ -6395,7 +6164,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to set the configuration.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6433,7 +6201,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketLogging { handle: std::sync::Arc, @@ -6462,7 +6229,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which to set the logging parameters.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6507,7 +6273,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketMetricsConfiguration { handle: std::sync::Arc, @@ -6536,7 +6301,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket for which the metrics configuration is set.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6580,7 +6344,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketNotificationConfiguration { handle: std::sync::Arc, @@ -6609,7 +6372,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6648,7 +6410,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketOwnershipControls { handle: std::sync::Arc, @@ -6677,7 +6438,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose OwnershipControls you want to set.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6723,7 +6483,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketPolicy { handle: std::sync::Arc, @@ -6752,7 +6511,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6804,7 +6562,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketReplication { handle: std::sync::Arc, @@ -6833,7 +6590,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the bucket

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6893,7 +6649,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketRequestPayment { handle: std::sync::Arc, @@ -6922,7 +6677,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -6973,7 +6727,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketTagging { handle: std::sync::Arc, @@ -7002,7 +6755,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -7046,7 +6798,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketVersioning { handle: std::sync::Arc, @@ -7075,7 +6826,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -7136,7 +6886,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutBucketWebsite { handle: std::sync::Arc, @@ -7165,7 +6914,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket name.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -7212,7 +6960,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutObject { handle: std::sync::Arc, @@ -7241,7 +6988,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The canned ACL to apply to the object. For more information, see Canned /// ACL.

    ///

    This action is not supported by Amazon S3 on Outposts.

    @@ -7657,7 +7403,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutObjectAcl { handle: std::sync::Arc, @@ -7686,7 +7431,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The canned ACL to apply to the object. For more information, see Canned ACL.

    pub fn acl(mut self, inp: crate::model::ObjectCannedACL) -> Self { self.inner = self.inner.acl(inp); @@ -7839,7 +7583,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutObjectLegalHold { handle: std::sync::Arc, @@ -7868,7 +7611,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -7948,7 +7690,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutObjectLockConfiguration { handle: std::sync::Arc, @@ -7977,7 +7718,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The bucket whose Object Lock configuration you want to create or replace.

    pub fn bucket(mut self, inp: impl Into) -> Self { self.inner = self.inner.bucket(inp); @@ -8049,7 +7789,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutObjectRetention { handle: std::sync::Arc, @@ -8078,7 +7817,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    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.

    @@ -8169,7 +7907,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutObjectTagging { handle: std::sync::Arc, @@ -8198,7 +7935,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -8275,7 +8011,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutPublicAccessBlock { handle: std::sync::Arc, @@ -8304,7 +8039,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want /// to set.

    pub fn bucket(mut self, inp: impl Into) -> Self { @@ -8355,7 +8089,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RestoreObject { handle: std::sync::Arc, @@ -8384,7 +8117,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -8454,7 +8186,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UploadPart { handle: std::sync::Arc, @@ -8483,7 +8214,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Object data.

    pub fn body(mut self, inp: smithy_http::byte_stream::ByteStream) -> Self { self.inner = self.inner.body(inp); @@ -8624,7 +8354,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UploadPartCopy { handle: std::sync::Arc, @@ -8653,7 +8382,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; 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.

    @@ -8918,7 +8646,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct WriteGetObjectResponse { handle: std::sync::Arc, @@ -8947,7 +8674,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Route prefix to the HTTP URL generated.

    pub fn request_route(mut self, inp: impl Into) -> Self { self.inner = self.inner.request_route(inp); diff --git a/sdk/s3/src/config.rs b/sdk/s3/src/config.rs index e6140b525bde..997d93a53121 100644 --- a/sdk/s3/src/config.rs +++ b/sdk/s3/src/config.rs @@ -14,7 +14,6 @@ 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 @@ -33,7 +32,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -41,14 +39,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -56,7 +51,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { diff --git a/sdk/s3/src/error.rs b/sdk/s3/src/error.rs index 2a1d467ac9f3..cc1871f8fff4 100644 --- a/sdk/s3/src/error.rs +++ b/sdk/s3/src/error.rs @@ -9,7 +9,6 @@ pub struct AbortMultipartUploadError { #[derive(std::fmt::Debug)] pub enum AbortMultipartUploadErrorKind { NoSuchUpload(crate::error::NoSuchUpload), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -29,7 +28,6 @@ impl smithy_types::retry::ProvideErrorKind for AbortMultipartUploadError { None } } - impl AbortMultipartUploadError { pub fn new(kind: AbortMultipartUploadErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -52,18 +50,21 @@ impl AbortMultipartUploadError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for AbortMultipartUploadError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -100,7 +101,6 @@ impl smithy_types::retry::ProvideErrorKind for CompleteMultipartUploadError { None } } - impl CompleteMultipartUploadError { pub fn new(kind: CompleteMultipartUploadErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -123,18 +123,21 @@ impl CompleteMultipartUploadError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CompleteMultipartUploadError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -153,7 +156,6 @@ pub struct CopyObjectError { #[derive(std::fmt::Debug)] pub enum CopyObjectErrorKind { ObjectNotInActiveTierError(crate::error::ObjectNotInActiveTierError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -173,7 +175,6 @@ impl smithy_types::retry::ProvideErrorKind for CopyObjectError { None } } - impl CopyObjectError { pub fn new(kind: CopyObjectErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -196,18 +197,21 @@ impl CopyObjectError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CopyObjectError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -228,7 +232,6 @@ pub struct CreateBucketError { pub enum CreateBucketErrorKind { BucketAlreadyOwnedByYou(crate::error::BucketAlreadyOwnedByYou), BucketAlreadyExists(crate::error::BucketAlreadyExists), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -249,7 +252,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateBucketError { None } } - impl CreateBucketError { pub fn new(kind: CreateBucketErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -272,18 +274,21 @@ impl CreateBucketError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateBucketError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -321,7 +326,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateMultipartUploadError { None } } - impl CreateMultipartUploadError { pub fn new(kind: CreateMultipartUploadErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -344,18 +348,21 @@ impl CreateMultipartUploadError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateMultipartUploadError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -391,7 +398,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketError { None } } - impl DeleteBucketError { pub fn new(kind: DeleteBucketErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -414,18 +420,21 @@ impl DeleteBucketError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -461,7 +470,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketAnalyticsConfiguratio None } } - impl DeleteBucketAnalyticsConfigurationError { pub fn new( kind: DeleteBucketAnalyticsConfigurationErrorKind, @@ -487,18 +495,21 @@ impl DeleteBucketAnalyticsConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketAnalyticsConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -534,7 +545,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketCorsError { None } } - impl DeleteBucketCorsError { pub fn new(kind: DeleteBucketCorsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -557,18 +567,21 @@ impl DeleteBucketCorsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketCorsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -604,7 +617,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketEncryptionError { None } } - impl DeleteBucketEncryptionError { pub fn new(kind: DeleteBucketEncryptionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -627,18 +639,21 @@ impl DeleteBucketEncryptionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketEncryptionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -676,7 +691,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketIntelligentTieringCon None } } - impl DeleteBucketIntelligentTieringConfigurationError { pub fn new( kind: DeleteBucketIntelligentTieringConfigurationErrorKind, @@ -702,18 +716,21 @@ impl DeleteBucketIntelligentTieringConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketIntelligentTieringConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -751,7 +768,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketInventoryConfiguratio None } } - impl DeleteBucketInventoryConfigurationError { pub fn new( kind: DeleteBucketInventoryConfigurationErrorKind, @@ -777,18 +793,21 @@ impl DeleteBucketInventoryConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketInventoryConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -824,7 +843,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketLifecycleError { None } } - impl DeleteBucketLifecycleError { pub fn new(kind: DeleteBucketLifecycleErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -847,18 +865,21 @@ impl DeleteBucketLifecycleError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketLifecycleError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -894,7 +915,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketMetricsConfigurationE None } } - impl DeleteBucketMetricsConfigurationError { pub fn new(kind: DeleteBucketMetricsConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -917,18 +937,21 @@ impl DeleteBucketMetricsConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketMetricsConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -964,7 +987,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketOwnershipControlsErro None } } - impl DeleteBucketOwnershipControlsError { pub fn new(kind: DeleteBucketOwnershipControlsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -987,18 +1009,21 @@ impl DeleteBucketOwnershipControlsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketOwnershipControlsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1034,7 +1059,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketPolicyError { None } } - impl DeleteBucketPolicyError { pub fn new(kind: DeleteBucketPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1057,18 +1081,21 @@ impl DeleteBucketPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1104,7 +1131,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketReplicationError { None } } - impl DeleteBucketReplicationError { pub fn new(kind: DeleteBucketReplicationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1127,18 +1153,21 @@ impl DeleteBucketReplicationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketReplicationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1174,7 +1203,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketTaggingError { None } } - impl DeleteBucketTaggingError { pub fn new(kind: DeleteBucketTaggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1197,18 +1225,21 @@ impl DeleteBucketTaggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketTaggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1244,7 +1275,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteBucketWebsiteError { None } } - impl DeleteBucketWebsiteError { pub fn new(kind: DeleteBucketWebsiteErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1267,18 +1297,21 @@ impl DeleteBucketWebsiteError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteBucketWebsiteError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1314,7 +1347,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteObjectError { None } } - impl DeleteObjectError { pub fn new(kind: DeleteObjectErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1337,18 +1369,21 @@ impl DeleteObjectError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteObjectError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1384,7 +1419,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteObjectsError { None } } - impl DeleteObjectsError { pub fn new(kind: DeleteObjectsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1407,18 +1441,21 @@ impl DeleteObjectsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteObjectsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1454,7 +1491,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteObjectTaggingError { None } } - impl DeleteObjectTaggingError { pub fn new(kind: DeleteObjectTaggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1477,18 +1513,21 @@ impl DeleteObjectTaggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteObjectTaggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1524,7 +1563,6 @@ impl smithy_types::retry::ProvideErrorKind for DeletePublicAccessBlockError { None } } - impl DeletePublicAccessBlockError { pub fn new(kind: DeletePublicAccessBlockErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1547,18 +1585,21 @@ impl DeletePublicAccessBlockError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeletePublicAccessBlockError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1594,7 +1635,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketAccelerateConfigurationE None } } - impl GetBucketAccelerateConfigurationError { pub fn new(kind: GetBucketAccelerateConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1617,18 +1657,21 @@ impl GetBucketAccelerateConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketAccelerateConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1664,7 +1707,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketAclError { None } } - impl GetBucketAclError { pub fn new(kind: GetBucketAclErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1687,18 +1729,21 @@ impl GetBucketAclError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketAclError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1734,7 +1779,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketAnalyticsConfigurationEr None } } - impl GetBucketAnalyticsConfigurationError { pub fn new(kind: GetBucketAnalyticsConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1757,18 +1801,21 @@ impl GetBucketAnalyticsConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketAnalyticsConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1804,7 +1851,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketCorsError { None } } - impl GetBucketCorsError { pub fn new(kind: GetBucketCorsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1827,18 +1873,21 @@ impl GetBucketCorsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketCorsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1874,7 +1923,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketEncryptionError { None } } - impl GetBucketEncryptionError { pub fn new(kind: GetBucketEncryptionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1897,18 +1945,21 @@ impl GetBucketEncryptionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketEncryptionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1944,7 +1995,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketIntelligentTieringConfig None } } - impl GetBucketIntelligentTieringConfigurationError { pub fn new( kind: GetBucketIntelligentTieringConfigurationErrorKind, @@ -1970,18 +2020,21 @@ impl GetBucketIntelligentTieringConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketIntelligentTieringConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2019,7 +2072,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketInventoryConfigurationEr None } } - impl GetBucketInventoryConfigurationError { pub fn new(kind: GetBucketInventoryConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2042,18 +2094,21 @@ impl GetBucketInventoryConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketInventoryConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2089,7 +2144,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketLifecycleConfigurationEr None } } - impl GetBucketLifecycleConfigurationError { pub fn new(kind: GetBucketLifecycleConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2112,18 +2166,21 @@ impl GetBucketLifecycleConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketLifecycleConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2159,7 +2216,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketLocationError { None } } - impl GetBucketLocationError { pub fn new(kind: GetBucketLocationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2182,18 +2238,21 @@ impl GetBucketLocationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketLocationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2229,7 +2288,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketLoggingError { None } } - impl GetBucketLoggingError { pub fn new(kind: GetBucketLoggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2252,18 +2310,21 @@ impl GetBucketLoggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketLoggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2299,7 +2360,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketMetricsConfigurationErro None } } - impl GetBucketMetricsConfigurationError { pub fn new(kind: GetBucketMetricsConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2322,18 +2382,21 @@ impl GetBucketMetricsConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketMetricsConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2369,7 +2432,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketNotificationConfiguratio None } } - impl GetBucketNotificationConfigurationError { pub fn new( kind: GetBucketNotificationConfigurationErrorKind, @@ -2395,18 +2457,21 @@ impl GetBucketNotificationConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketNotificationConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2442,7 +2507,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketOwnershipControlsError { None } } - impl GetBucketOwnershipControlsError { pub fn new(kind: GetBucketOwnershipControlsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2465,18 +2529,21 @@ impl GetBucketOwnershipControlsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketOwnershipControlsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2512,7 +2579,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketPolicyError { None } } - impl GetBucketPolicyError { pub fn new(kind: GetBucketPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2535,18 +2601,21 @@ impl GetBucketPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2582,7 +2651,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketPolicyStatusError { None } } - impl GetBucketPolicyStatusError { pub fn new(kind: GetBucketPolicyStatusErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2605,18 +2673,21 @@ impl GetBucketPolicyStatusError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketPolicyStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2652,7 +2723,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketReplicationError { None } } - impl GetBucketReplicationError { pub fn new(kind: GetBucketReplicationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2675,18 +2745,21 @@ impl GetBucketReplicationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketReplicationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2722,7 +2795,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketRequestPaymentError { None } } - impl GetBucketRequestPaymentError { pub fn new(kind: GetBucketRequestPaymentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2745,18 +2817,21 @@ impl GetBucketRequestPaymentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketRequestPaymentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2792,7 +2867,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketTaggingError { None } } - impl GetBucketTaggingError { pub fn new(kind: GetBucketTaggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2815,18 +2889,21 @@ impl GetBucketTaggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketTaggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2862,7 +2939,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketVersioningError { None } } - impl GetBucketVersioningError { pub fn new(kind: GetBucketVersioningErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2885,18 +2961,21 @@ impl GetBucketVersioningError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketVersioningError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2932,7 +3011,6 @@ impl smithy_types::retry::ProvideErrorKind for GetBucketWebsiteError { None } } - impl GetBucketWebsiteError { pub fn new(kind: GetBucketWebsiteErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2955,18 +3033,21 @@ impl GetBucketWebsiteError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetBucketWebsiteError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2986,7 +3067,6 @@ pub struct GetObjectError { pub enum GetObjectErrorKind { NoSuchKey(crate::error::NoSuchKey), InvalidObjectState(crate::error::InvalidObjectState), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3007,7 +3087,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectError { None } } - impl GetObjectError { pub fn new(kind: GetObjectErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3030,18 +3109,21 @@ impl GetObjectError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3062,7 +3144,6 @@ pub struct GetObjectAclError { #[derive(std::fmt::Debug)] pub enum GetObjectAclErrorKind { NoSuchKey(crate::error::NoSuchKey), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3082,7 +3163,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectAclError { None } } - impl GetObjectAclError { pub fn new(kind: GetObjectAclErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3105,18 +3185,21 @@ impl GetObjectAclError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectAclError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3153,7 +3236,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectLegalHoldError { None } } - impl GetObjectLegalHoldError { pub fn new(kind: GetObjectLegalHoldErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3176,18 +3258,21 @@ impl GetObjectLegalHoldError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectLegalHoldError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3223,7 +3308,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectLockConfigurationError { None } } - impl GetObjectLockConfigurationError { pub fn new(kind: GetObjectLockConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3246,18 +3330,21 @@ impl GetObjectLockConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectLockConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3293,7 +3380,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectRetentionError { None } } - impl GetObjectRetentionError { pub fn new(kind: GetObjectRetentionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3316,18 +3402,21 @@ impl GetObjectRetentionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectRetentionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3363,7 +3452,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectTaggingError { None } } - impl GetObjectTaggingError { pub fn new(kind: GetObjectTaggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3386,18 +3474,21 @@ impl GetObjectTaggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectTaggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3433,7 +3524,6 @@ impl smithy_types::retry::ProvideErrorKind for GetObjectTorrentError { None } } - impl GetObjectTorrentError { pub fn new(kind: GetObjectTorrentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3456,18 +3546,21 @@ impl GetObjectTorrentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetObjectTorrentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3503,7 +3596,6 @@ impl smithy_types::retry::ProvideErrorKind for GetPublicAccessBlockError { None } } - impl GetPublicAccessBlockError { pub fn new(kind: GetPublicAccessBlockErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3526,18 +3618,21 @@ impl GetPublicAccessBlockError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetPublicAccessBlockError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3556,7 +3651,6 @@ pub struct HeadBucketError { #[derive(std::fmt::Debug)] pub enum HeadBucketErrorKind { NotFound(crate::error::NotFound), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3576,7 +3670,6 @@ impl smithy_types::retry::ProvideErrorKind for HeadBucketError { None } } - impl HeadBucketError { pub fn new(kind: HeadBucketErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3599,18 +3692,21 @@ impl HeadBucketError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for HeadBucketError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3630,7 +3726,6 @@ pub struct HeadObjectError { #[derive(std::fmt::Debug)] pub enum HeadObjectErrorKind { NotFound(crate::error::NotFound), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3650,7 +3745,6 @@ impl smithy_types::retry::ProvideErrorKind for HeadObjectError { None } } - impl HeadObjectError { pub fn new(kind: HeadObjectErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3673,18 +3767,21 @@ impl HeadObjectError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for HeadObjectError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3721,7 +3818,6 @@ impl smithy_types::retry::ProvideErrorKind for ListBucketAnalyticsConfigurations None } } - impl ListBucketAnalyticsConfigurationsError { pub fn new( kind: ListBucketAnalyticsConfigurationsErrorKind, @@ -3747,18 +3843,21 @@ impl ListBucketAnalyticsConfigurationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListBucketAnalyticsConfigurationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3794,7 +3893,6 @@ impl smithy_types::retry::ProvideErrorKind for ListBucketIntelligentTieringConfi None } } - impl ListBucketIntelligentTieringConfigurationsError { pub fn new( kind: ListBucketIntelligentTieringConfigurationsErrorKind, @@ -3820,18 +3918,21 @@ impl ListBucketIntelligentTieringConfigurationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListBucketIntelligentTieringConfigurationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3869,7 +3970,6 @@ impl smithy_types::retry::ProvideErrorKind for ListBucketInventoryConfigurations None } } - impl ListBucketInventoryConfigurationsError { pub fn new( kind: ListBucketInventoryConfigurationsErrorKind, @@ -3895,18 +3995,21 @@ impl ListBucketInventoryConfigurationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListBucketInventoryConfigurationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3942,7 +4045,6 @@ impl smithy_types::retry::ProvideErrorKind for ListBucketMetricsConfigurationsEr None } } - impl ListBucketMetricsConfigurationsError { pub fn new(kind: ListBucketMetricsConfigurationsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3965,18 +4067,21 @@ impl ListBucketMetricsConfigurationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListBucketMetricsConfigurationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4012,7 +4117,6 @@ impl smithy_types::retry::ProvideErrorKind for ListBucketsError { None } } - impl ListBucketsError { pub fn new(kind: ListBucketsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4035,18 +4139,21 @@ impl ListBucketsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListBucketsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4082,7 +4189,6 @@ impl smithy_types::retry::ProvideErrorKind for ListMultipartUploadsError { None } } - impl ListMultipartUploadsError { pub fn new(kind: ListMultipartUploadsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4105,18 +4211,21 @@ impl ListMultipartUploadsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListMultipartUploadsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4135,7 +4244,6 @@ pub struct ListObjectsError { #[derive(std::fmt::Debug)] pub enum ListObjectsErrorKind { NoSuchBucket(crate::error::NoSuchBucket), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4155,7 +4263,6 @@ impl smithy_types::retry::ProvideErrorKind for ListObjectsError { None } } - impl ListObjectsError { pub fn new(kind: ListObjectsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4178,18 +4285,21 @@ impl ListObjectsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListObjectsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4209,7 +4319,6 @@ pub struct ListObjectsV2Error { #[derive(std::fmt::Debug)] pub enum ListObjectsV2ErrorKind { NoSuchBucket(crate::error::NoSuchBucket), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4229,7 +4338,6 @@ impl smithy_types::retry::ProvideErrorKind for ListObjectsV2Error { None } } - impl ListObjectsV2Error { pub fn new(kind: ListObjectsV2ErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4252,18 +4360,21 @@ impl ListObjectsV2Error { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListObjectsV2Error { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4300,7 +4411,6 @@ impl smithy_types::retry::ProvideErrorKind for ListObjectVersionsError { None } } - impl ListObjectVersionsError { pub fn new(kind: ListObjectVersionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4323,18 +4433,21 @@ impl ListObjectVersionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListObjectVersionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4370,7 +4483,6 @@ impl smithy_types::retry::ProvideErrorKind for ListPartsError { None } } - impl ListPartsError { pub fn new(kind: ListPartsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4393,18 +4505,21 @@ impl ListPartsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListPartsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4440,7 +4555,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketAccelerateConfigurationE None } } - impl PutBucketAccelerateConfigurationError { pub fn new(kind: PutBucketAccelerateConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4463,18 +4577,21 @@ impl PutBucketAccelerateConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketAccelerateConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4510,7 +4627,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketAclError { None } } - impl PutBucketAclError { pub fn new(kind: PutBucketAclErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4533,18 +4649,21 @@ impl PutBucketAclError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketAclError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4580,7 +4699,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketAnalyticsConfigurationEr None } } - impl PutBucketAnalyticsConfigurationError { pub fn new(kind: PutBucketAnalyticsConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4603,18 +4721,21 @@ impl PutBucketAnalyticsConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketAnalyticsConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4650,7 +4771,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketCorsError { None } } - impl PutBucketCorsError { pub fn new(kind: PutBucketCorsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4673,18 +4793,21 @@ impl PutBucketCorsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketCorsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4720,7 +4843,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketEncryptionError { None } } - impl PutBucketEncryptionError { pub fn new(kind: PutBucketEncryptionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4743,18 +4865,21 @@ impl PutBucketEncryptionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketEncryptionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4790,7 +4915,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketIntelligentTieringConfig None } } - impl PutBucketIntelligentTieringConfigurationError { pub fn new( kind: PutBucketIntelligentTieringConfigurationErrorKind, @@ -4816,18 +4940,21 @@ impl PutBucketIntelligentTieringConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketIntelligentTieringConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4865,7 +4992,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketInventoryConfigurationEr None } } - impl PutBucketInventoryConfigurationError { pub fn new(kind: PutBucketInventoryConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4888,18 +5014,21 @@ impl PutBucketInventoryConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketInventoryConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4935,7 +5064,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketLifecycleConfigurationEr None } } - impl PutBucketLifecycleConfigurationError { pub fn new(kind: PutBucketLifecycleConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4958,18 +5086,21 @@ impl PutBucketLifecycleConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketLifecycleConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5005,7 +5136,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketLoggingError { None } } - impl PutBucketLoggingError { pub fn new(kind: PutBucketLoggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5028,18 +5158,21 @@ impl PutBucketLoggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketLoggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5075,7 +5208,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketMetricsConfigurationErro None } } - impl PutBucketMetricsConfigurationError { pub fn new(kind: PutBucketMetricsConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5098,18 +5230,21 @@ impl PutBucketMetricsConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketMetricsConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5145,7 +5280,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketNotificationConfiguratio None } } - impl PutBucketNotificationConfigurationError { pub fn new( kind: PutBucketNotificationConfigurationErrorKind, @@ -5171,18 +5305,21 @@ impl PutBucketNotificationConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketNotificationConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5218,7 +5355,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketOwnershipControlsError { None } } - impl PutBucketOwnershipControlsError { pub fn new(kind: PutBucketOwnershipControlsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5241,18 +5377,21 @@ impl PutBucketOwnershipControlsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketOwnershipControlsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5288,7 +5427,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketPolicyError { None } } - impl PutBucketPolicyError { pub fn new(kind: PutBucketPolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5311,18 +5449,21 @@ impl PutBucketPolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketPolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5358,7 +5499,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketReplicationError { None } } - impl PutBucketReplicationError { pub fn new(kind: PutBucketReplicationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5381,18 +5521,21 @@ impl PutBucketReplicationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketReplicationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5428,7 +5571,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketRequestPaymentError { None } } - impl PutBucketRequestPaymentError { pub fn new(kind: PutBucketRequestPaymentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5451,18 +5593,21 @@ impl PutBucketRequestPaymentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketRequestPaymentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5498,7 +5643,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketTaggingError { None } } - impl PutBucketTaggingError { pub fn new(kind: PutBucketTaggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5521,18 +5665,21 @@ impl PutBucketTaggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketTaggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5568,7 +5715,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketVersioningError { None } } - impl PutBucketVersioningError { pub fn new(kind: PutBucketVersioningErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5591,18 +5737,21 @@ impl PutBucketVersioningError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketVersioningError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5638,7 +5787,6 @@ impl smithy_types::retry::ProvideErrorKind for PutBucketWebsiteError { None } } - impl PutBucketWebsiteError { pub fn new(kind: PutBucketWebsiteErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5661,18 +5809,21 @@ impl PutBucketWebsiteError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutBucketWebsiteError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5708,7 +5859,6 @@ impl smithy_types::retry::ProvideErrorKind for PutObjectError { None } } - impl PutObjectError { pub fn new(kind: PutObjectErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5731,18 +5881,21 @@ impl PutObjectError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutObjectError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5761,7 +5914,6 @@ pub struct PutObjectAclError { #[derive(std::fmt::Debug)] pub enum PutObjectAclErrorKind { NoSuchKey(crate::error::NoSuchKey), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5781,7 +5933,6 @@ impl smithy_types::retry::ProvideErrorKind for PutObjectAclError { None } } - impl PutObjectAclError { pub fn new(kind: PutObjectAclErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5804,18 +5955,21 @@ impl PutObjectAclError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutObjectAclError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5852,7 +6006,6 @@ impl smithy_types::retry::ProvideErrorKind for PutObjectLegalHoldError { None } } - impl PutObjectLegalHoldError { pub fn new(kind: PutObjectLegalHoldErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5875,18 +6028,21 @@ impl PutObjectLegalHoldError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutObjectLegalHoldError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5922,7 +6078,6 @@ impl smithy_types::retry::ProvideErrorKind for PutObjectLockConfigurationError { None } } - impl PutObjectLockConfigurationError { pub fn new(kind: PutObjectLockConfigurationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5945,18 +6100,21 @@ impl PutObjectLockConfigurationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutObjectLockConfigurationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5992,7 +6150,6 @@ impl smithy_types::retry::ProvideErrorKind for PutObjectRetentionError { None } } - impl PutObjectRetentionError { pub fn new(kind: PutObjectRetentionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6015,18 +6172,21 @@ impl PutObjectRetentionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutObjectRetentionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6062,7 +6222,6 @@ impl smithy_types::retry::ProvideErrorKind for PutObjectTaggingError { None } } - impl PutObjectTaggingError { pub fn new(kind: PutObjectTaggingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6085,18 +6244,21 @@ impl PutObjectTaggingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutObjectTaggingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6132,7 +6294,6 @@ impl smithy_types::retry::ProvideErrorKind for PutPublicAccessBlockError { None } } - impl PutPublicAccessBlockError { pub fn new(kind: PutPublicAccessBlockErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6155,18 +6316,21 @@ impl PutPublicAccessBlockError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutPublicAccessBlockError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6185,7 +6349,6 @@ pub struct RestoreObjectError { #[derive(std::fmt::Debug)] pub enum RestoreObjectErrorKind { ObjectAlreadyInActiveTierError(crate::error::ObjectAlreadyInActiveTierError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6205,7 +6368,6 @@ impl smithy_types::retry::ProvideErrorKind for RestoreObjectError { None } } - impl RestoreObjectError { pub fn new(kind: RestoreObjectErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6228,18 +6390,21 @@ impl RestoreObjectError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RestoreObjectError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6276,7 +6441,6 @@ impl smithy_types::retry::ProvideErrorKind for UploadPartError { None } } - impl UploadPartError { pub fn new(kind: UploadPartErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6299,18 +6463,21 @@ impl UploadPartError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UploadPartError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6346,7 +6513,6 @@ impl smithy_types::retry::ProvideErrorKind for UploadPartCopyError { None } } - impl UploadPartCopyError { pub fn new(kind: UploadPartCopyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6369,18 +6535,21 @@ impl UploadPartCopyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UploadPartCopyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6416,7 +6585,6 @@ impl smithy_types::retry::ProvideErrorKind for WriteGetObjectResponseError { None } } - impl WriteGetObjectResponseError { pub fn new(kind: WriteGetObjectResponseErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6439,18 +6607,21 @@ impl WriteGetObjectResponseError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for WriteGetObjectResponseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { diff --git a/sdk/s3/src/http_serde.rs b/sdk/s3/src/http_serde.rs index 05fca5e58e4a..8dfbd7d15d53 100644 --- a/sdk/s3/src/http_serde.rs +++ b/sdk/s3/src/http_serde.rs @@ -4,7 +4,6 @@ pub fn deser_header_abort_multipart_upload_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_1: Vec = smithy_http::header::read_many(headers)?; - if var_1.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -18,7 +17,6 @@ pub fn deser_header_complete_multipart_upload_expiration( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-expiration").iter(); let var_2: Vec = smithy_http::header::read_many(headers)?; - if var_2.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -33,7 +31,6 @@ pub fn deser_header_complete_multipart_upload_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_3: Vec = smithy_http::header::read_many(headers)?; - if var_3.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -47,7 +44,6 @@ pub fn deser_header_complete_multipart_upload_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_4: Vec = smithy_http::header::read_many(headers)?; - if var_4.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -63,7 +59,6 @@ pub fn deser_header_complete_multipart_upload_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_5: Vec = smithy_http::header::read_many(headers)?; - if var_5.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -79,7 +74,6 @@ pub fn deser_header_complete_multipart_upload_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_6: Vec = smithy_http::header::read_many(headers)?; - if var_6.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -95,7 +89,6 @@ pub fn deser_header_complete_multipart_upload_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_7: Vec = smithy_http::header::read_many(headers)?; - if var_7.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -109,7 +102,7 @@ pub fn deser_payload_copy_object_copy_object_result( ) -> Result, crate::error::CopyObjectError> { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_copy_object_resultcopy_object_output(body) + crate::xml_deser::deser_payload_copy_object_result_copy_object_output(body) .map_err(crate::error::CopyObjectError::unhandled) }) .transpose() @@ -120,7 +113,6 @@ pub fn deser_header_copy_object_expiration( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-expiration").iter(); let var_8: Vec = smithy_http::header::read_many(headers)?; - if var_8.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -134,7 +126,6 @@ pub fn deser_header_copy_object_copy_source_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-copy-source-version-id").iter(); let var_9: Vec = smithy_http::header::read_many(headers)?; - if var_9.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -148,7 +139,6 @@ pub fn deser_header_copy_object_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_10: Vec = smithy_http::header::read_many(headers)?; - if var_10.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -163,7 +153,6 @@ pub fn deser_header_copy_object_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_11: Vec = smithy_http::header::read_many(headers)?; - if var_11.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -179,7 +168,6 @@ pub fn deser_header_copy_object_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_12: Vec = smithy_http::header::read_many(headers)?; - if var_12.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -195,7 +183,6 @@ pub fn deser_header_copy_object_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_13: Vec = smithy_http::header::read_many(headers)?; - if var_13.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -211,7 +198,6 @@ pub fn deser_header_copy_object_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_14: Vec = smithy_http::header::read_many(headers)?; - if var_14.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -227,7 +213,6 @@ pub fn deser_header_copy_object_ssekms_encryption_context( .get_all("x-amz-server-side-encryption-context") .iter(); let var_15: Vec = smithy_http::header::read_many(headers)?; - if var_15.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -243,7 +228,6 @@ pub fn deser_header_copy_object_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_16: Vec = smithy_http::header::read_many(headers)?; - if var_16.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -259,7 +243,6 @@ pub fn deser_header_copy_object_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_17: Vec = smithy_http::header::read_many(headers)?; - if var_17.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -273,7 +256,6 @@ pub fn deser_header_create_bucket_location( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Location").iter(); let var_18: Vec = smithy_http::header::read_many(headers)?; - if var_18.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -288,7 +270,6 @@ pub fn deser_header_create_multipart_upload_abort_date( let headers = header_map.get_all("x-amz-abort-date").iter(); let var_19: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::HttpDate)?; - if var_19.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -302,7 +283,6 @@ pub fn deser_header_create_multipart_upload_abort_rule_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-abort-rule-id").iter(); let var_20: Vec = smithy_http::header::read_many(headers)?; - if var_20.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -317,7 +297,6 @@ pub fn deser_header_create_multipart_upload_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_21: Vec = smithy_http::header::read_many(headers)?; - if var_21.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -333,7 +312,6 @@ pub fn deser_header_create_multipart_upload_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_22: Vec = smithy_http::header::read_many(headers)?; - if var_22.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -349,7 +327,6 @@ pub fn deser_header_create_multipart_upload_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_23: Vec = smithy_http::header::read_many(headers)?; - if var_23.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -365,7 +342,6 @@ pub fn deser_header_create_multipart_upload_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_24: Vec = smithy_http::header::read_many(headers)?; - if var_24.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -381,7 +357,6 @@ pub fn deser_header_create_multipart_upload_ssekms_encryption_context( .get_all("x-amz-server-side-encryption-context") .iter(); let var_25: Vec = smithy_http::header::read_many(headers)?; - if var_25.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -397,7 +372,6 @@ pub fn deser_header_create_multipart_upload_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_26: Vec = smithy_http::header::read_many(headers)?; - if var_26.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -413,7 +387,6 @@ pub fn deser_header_create_multipart_upload_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_27: Vec = smithy_http::header::read_many(headers)?; - if var_27.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -427,7 +400,6 @@ pub fn deser_header_delete_object_delete_marker( ) -> Result { let headers = header_map.get_all("x-amz-delete-marker").iter(); let var_28: Vec = smithy_http::header::read_many(headers)?; - if var_28.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -443,7 +415,6 @@ pub fn deser_header_delete_object_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_29: Vec = smithy_http::header::read_many(headers)?; - if var_29.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -457,7 +428,6 @@ pub fn deser_header_delete_object_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_30: Vec = smithy_http::header::read_many(headers)?; - if var_30.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -471,7 +441,6 @@ pub fn deser_header_delete_objects_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_31: Vec = smithy_http::header::read_many(headers)?; - if var_31.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -485,7 +454,6 @@ pub fn deser_header_delete_object_tagging_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_32: Vec = smithy_http::header::read_many(headers)?; - if var_32.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -501,7 +469,7 @@ pub fn deser_payload_get_bucket_analytics_configuration_analytics_configuration( crate::error::GetBucketAnalyticsConfigurationError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_analytics_configurationget_bucket_analytics_configuration_output(body).map_err(crate::error::GetBucketAnalyticsConfigurationError::unhandled) + crate::xml_deser::deser_payload_analytics_configuration_get_bucket_analytics_configuration_output(body).map_err(crate::error::GetBucketAnalyticsConfigurationError::unhandled) }).transpose() } @@ -512,7 +480,7 @@ pub fn deser_payload_get_bucket_encryption_server_side_encryption_configuration( crate::error::GetBucketEncryptionError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_server_side_encryption_configurationget_bucket_encryption_output(body).map_err(crate::error::GetBucketEncryptionError::unhandled) + crate::xml_deser::deser_payload_server_side_encryption_configuration_get_bucket_encryption_output(body).map_err(crate::error::GetBucketEncryptionError::unhandled) }).transpose() } @@ -523,7 +491,7 @@ pub fn deser_payload_get_bucket_intelligent_tiering_configuration_intelligent_ti crate::error::GetBucketIntelligentTieringConfigurationError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_intelligent_tiering_configurationget_bucket_intelligent_tiering_configuration_output(body).map_err(crate::error::GetBucketIntelligentTieringConfigurationError::unhandled) + crate::xml_deser::deser_payload_intelligent_tiering_configuration_get_bucket_intelligent_tiering_configuration_output(body).map_err(crate::error::GetBucketIntelligentTieringConfigurationError::unhandled) }).transpose() } @@ -534,7 +502,7 @@ pub fn deser_payload_get_bucket_inventory_configuration_inventory_configuration( crate::error::GetBucketInventoryConfigurationError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_inventory_configurationget_bucket_inventory_configuration_output(body).map_err(crate::error::GetBucketInventoryConfigurationError::unhandled) + crate::xml_deser::deser_payload_inventory_configuration_get_bucket_inventory_configuration_output(body).map_err(crate::error::GetBucketInventoryConfigurationError::unhandled) }).transpose() } @@ -545,7 +513,7 @@ pub fn deser_payload_get_bucket_metrics_configuration_metrics_configuration( crate::error::GetBucketMetricsConfigurationError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_metrics_configurationget_bucket_metrics_configuration_output(body).map_err(crate::error::GetBucketMetricsConfigurationError::unhandled) + crate::xml_deser::deser_payload_metrics_configuration_get_bucket_metrics_configuration_output(body).map_err(crate::error::GetBucketMetricsConfigurationError::unhandled) }).transpose() } @@ -557,7 +525,7 @@ pub fn deser_payload_get_bucket_ownership_controls_ownership_controls( > { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_ownership_controlsget_bucket_ownership_controls_output( + crate::xml_deser::deser_payload_ownership_controls_get_bucket_ownership_controls_output( body, ) .map_err(crate::error::GetBucketOwnershipControlsError::unhandled) @@ -583,7 +551,7 @@ pub fn deser_payload_get_bucket_policy_status_policy_status( { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_policy_statusget_bucket_policy_status_output(body) + crate::xml_deser::deser_payload_policy_status_get_bucket_policy_status_output(body) .map_err(crate::error::GetBucketPolicyStatusError::unhandled) }) .transpose() @@ -597,7 +565,7 @@ pub fn deser_payload_get_bucket_replication_replication_configuration( > { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_replication_configurationget_bucket_replication_output( + crate::xml_deser::deser_payload_replication_configuration_get_bucket_replication_output( body, ) .map_err(crate::error::GetBucketReplicationError::unhandled) @@ -618,7 +586,6 @@ pub fn deser_header_get_object_delete_marker( ) -> Result { let headers = header_map.get_all("x-amz-delete-marker").iter(); let var_33: Vec = smithy_http::header::read_many(headers)?; - if var_33.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -634,7 +601,6 @@ pub fn deser_header_get_object_accept_ranges( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("accept-ranges").iter(); let var_34: Vec = smithy_http::header::read_many(headers)?; - if var_34.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -648,7 +614,6 @@ pub fn deser_header_get_object_expiration( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-expiration").iter(); let var_35: Vec = smithy_http::header::read_many(headers)?; - if var_35.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -662,7 +627,6 @@ pub fn deser_header_get_object_restore( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-restore").iter(); let var_36: Vec = smithy_http::header::read_many(headers)?; - if var_36.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -677,7 +641,6 @@ pub fn deser_header_get_object_last_modified( let headers = header_map.get_all("Last-Modified").iter(); let var_37: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::HttpDate)?; - if var_37.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -691,7 +654,6 @@ pub fn deser_header_get_object_content_length( ) -> Result { let headers = header_map.get_all("Content-Length").iter(); let var_38: Vec = smithy_http::header::read_many(headers)?; - if var_38.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -707,7 +669,6 @@ pub fn deser_header_get_object_e_tag( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("ETag").iter(); let var_39: Vec = smithy_http::header::read_many(headers)?; - if var_39.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -721,7 +682,6 @@ pub fn deser_header_get_object_missing_meta( ) -> Result { let headers = header_map.get_all("x-amz-missing-meta").iter(); let var_40: Vec = smithy_http::header::read_many(headers)?; - if var_40.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -737,7 +697,6 @@ pub fn deser_header_get_object_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_41: Vec = smithy_http::header::read_many(headers)?; - if var_41.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -751,7 +710,6 @@ pub fn deser_header_get_object_cache_control( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Cache-Control").iter(); let var_42: Vec = smithy_http::header::read_many(headers)?; - if var_42.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -765,7 +723,6 @@ pub fn deser_header_get_object_content_disposition( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Disposition").iter(); let var_43: Vec = smithy_http::header::read_many(headers)?; - if var_43.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -779,7 +736,6 @@ pub fn deser_header_get_object_content_encoding( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Encoding").iter(); let var_44: Vec = smithy_http::header::read_many(headers)?; - if var_44.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -793,7 +749,6 @@ pub fn deser_header_get_object_content_language( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Language").iter(); let var_45: Vec = smithy_http::header::read_many(headers)?; - if var_45.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -807,7 +762,6 @@ pub fn deser_header_get_object_content_range( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Range").iter(); let var_46: Vec = smithy_http::header::read_many(headers)?; - if var_46.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -821,7 +775,6 @@ pub fn deser_header_get_object_content_type( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Type").iter(); let var_47: Vec = smithy_http::header::read_many(headers)?; - if var_47.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -836,7 +789,6 @@ pub fn deser_header_get_object_expires( let headers = header_map.get_all("Expires").iter(); let var_48: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::HttpDate)?; - if var_48.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -850,7 +802,6 @@ pub fn deser_header_get_object_website_redirect_location( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-website-redirect-location").iter(); let var_49: Vec = smithy_http::header::read_many(headers)?; - if var_49.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -865,7 +816,6 @@ pub fn deser_header_get_object_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_50: Vec = smithy_http::header::read_many(headers)?; - if var_50.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -898,7 +848,6 @@ pub fn deser_header_get_object_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_51: Vec = smithy_http::header::read_many(headers)?; - if var_51.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -914,7 +863,6 @@ pub fn deser_header_get_object_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_52: Vec = smithy_http::header::read_many(headers)?; - if var_52.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -930,7 +878,6 @@ pub fn deser_header_get_object_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_53: Vec = smithy_http::header::read_many(headers)?; - if var_53.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -946,7 +893,6 @@ pub fn deser_header_get_object_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_54: Vec = smithy_http::header::read_many(headers)?; - if var_54.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -962,7 +908,6 @@ pub fn deser_header_get_object_storage_class( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-storage-class").iter(); let var_55: Vec = smithy_http::header::read_many(headers)?; - if var_55.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -976,7 +921,6 @@ pub fn deser_header_get_object_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_56: Vec = smithy_http::header::read_many(headers)?; - if var_56.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -990,7 +934,6 @@ pub fn deser_header_get_object_replication_status( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-replication-status").iter(); let var_57: Vec = smithy_http::header::read_many(headers)?; - if var_57.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1004,7 +947,6 @@ pub fn deser_header_get_object_parts_count( ) -> Result { let headers = header_map.get_all("x-amz-mp-parts-count").iter(); let var_58: Vec = smithy_http::header::read_many(headers)?; - if var_58.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1020,7 +962,6 @@ pub fn deser_header_get_object_tag_count( ) -> Result { let headers = header_map.get_all("x-amz-tagging-count").iter(); let var_59: Vec = smithy_http::header::read_many(headers)?; - if var_59.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1036,7 +977,6 @@ pub fn deser_header_get_object_object_lock_mode( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-object-lock-mode").iter(); let var_60: Vec = smithy_http::header::read_many(headers)?; - if var_60.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1053,7 +993,6 @@ pub fn deser_header_get_object_object_lock_retain_until_date( .iter(); let var_61: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::DateTime)?; - if var_61.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1071,7 +1010,6 @@ pub fn deser_header_get_object_object_lock_legal_hold_status( let headers = header_map.get_all("x-amz-object-lock-legal-hold").iter(); let var_62: Vec = smithy_http::header::read_many(headers)?; - if var_62.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1085,7 +1023,6 @@ pub fn deser_header_get_object_acl_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_63: Vec = smithy_http::header::read_many(headers)?; - if var_63.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1102,8 +1039,10 @@ pub fn deser_payload_get_object_legal_hold_legal_hold( > { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_object_lock_legal_holdget_object_legal_hold_output(body) - .map_err(crate::error::GetObjectLegalHoldError::unhandled) + crate::xml_deser::deser_payload_object_lock_legal_hold_get_object_legal_hold_output( + body, + ) + .map_err(crate::error::GetObjectLegalHoldError::unhandled) }) .transpose() } @@ -1115,7 +1054,7 @@ pub fn deser_payload_get_object_lock_configuration_object_lock_configuration( crate::error::GetObjectLockConfigurationError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_object_lock_configurationget_object_lock_configuration_output(body).map_err(crate::error::GetObjectLockConfigurationError::unhandled) + crate::xml_deser::deser_payload_object_lock_configuration_get_object_lock_configuration_output(body).map_err(crate::error::GetObjectLockConfigurationError::unhandled) }).transpose() } @@ -1127,7 +1066,7 @@ pub fn deser_payload_get_object_retention_retention( > { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_object_lock_retentionget_object_retention_output(body) + crate::xml_deser::deser_payload_object_lock_retention_get_object_retention_output(body) .map_err(crate::error::GetObjectRetentionError::unhandled) }) .transpose() @@ -1138,7 +1077,6 @@ pub fn deser_header_get_object_tagging_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_64: Vec = smithy_http::header::read_many(headers)?; - if var_64.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1160,7 +1098,6 @@ pub fn deser_header_get_object_torrent_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_65: Vec = smithy_http::header::read_many(headers)?; - if var_65.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1176,7 +1113,7 @@ pub fn deser_payload_get_public_access_block_public_access_block_configuration( crate::error::GetPublicAccessBlockError, > { (!body.is_empty()).then(||{ - crate::xml_deser::parse_payload_public_access_block_configurationget_public_access_block_output(body).map_err(crate::error::GetPublicAccessBlockError::unhandled) + crate::xml_deser::deser_payload_public_access_block_configuration_get_public_access_block_output(body).map_err(crate::error::GetPublicAccessBlockError::unhandled) }).transpose() } @@ -1185,7 +1122,6 @@ pub fn deser_header_head_object_delete_marker( ) -> Result { let headers = header_map.get_all("x-amz-delete-marker").iter(); let var_66: Vec = smithy_http::header::read_many(headers)?; - if var_66.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1201,7 +1137,6 @@ pub fn deser_header_head_object_accept_ranges( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("accept-ranges").iter(); let var_67: Vec = smithy_http::header::read_many(headers)?; - if var_67.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1215,7 +1150,6 @@ pub fn deser_header_head_object_expiration( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-expiration").iter(); let var_68: Vec = smithy_http::header::read_many(headers)?; - if var_68.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1229,7 +1163,6 @@ pub fn deser_header_head_object_restore( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-restore").iter(); let var_69: Vec = smithy_http::header::read_many(headers)?; - if var_69.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1243,7 +1176,6 @@ pub fn deser_header_head_object_archive_status( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-archive-status").iter(); let var_70: Vec = smithy_http::header::read_many(headers)?; - if var_70.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1258,7 +1190,6 @@ pub fn deser_header_head_object_last_modified( let headers = header_map.get_all("Last-Modified").iter(); let var_71: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::HttpDate)?; - if var_71.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1272,7 +1203,6 @@ pub fn deser_header_head_object_content_length( ) -> Result { let headers = header_map.get_all("Content-Length").iter(); let var_72: Vec = smithy_http::header::read_many(headers)?; - if var_72.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1288,7 +1218,6 @@ pub fn deser_header_head_object_e_tag( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("ETag").iter(); let var_73: Vec = smithy_http::header::read_many(headers)?; - if var_73.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1302,7 +1231,6 @@ pub fn deser_header_head_object_missing_meta( ) -> Result { let headers = header_map.get_all("x-amz-missing-meta").iter(); let var_74: Vec = smithy_http::header::read_many(headers)?; - if var_74.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1318,7 +1246,6 @@ pub fn deser_header_head_object_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_75: Vec = smithy_http::header::read_many(headers)?; - if var_75.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1332,7 +1259,6 @@ pub fn deser_header_head_object_cache_control( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Cache-Control").iter(); let var_76: Vec = smithy_http::header::read_many(headers)?; - if var_76.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1346,7 +1272,6 @@ pub fn deser_header_head_object_content_disposition( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Disposition").iter(); let var_77: Vec = smithy_http::header::read_many(headers)?; - if var_77.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1360,7 +1285,6 @@ pub fn deser_header_head_object_content_encoding( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Encoding").iter(); let var_78: Vec = smithy_http::header::read_many(headers)?; - if var_78.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1374,7 +1298,6 @@ pub fn deser_header_head_object_content_language( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Language").iter(); let var_79: Vec = smithy_http::header::read_many(headers)?; - if var_79.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1388,7 +1311,6 @@ pub fn deser_header_head_object_content_type( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("Content-Type").iter(); let var_80: Vec = smithy_http::header::read_many(headers)?; - if var_80.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1403,7 +1325,6 @@ pub fn deser_header_head_object_expires( let headers = header_map.get_all("Expires").iter(); let var_81: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::HttpDate)?; - if var_81.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1417,7 +1338,6 @@ pub fn deser_header_head_object_website_redirect_location( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-website-redirect-location").iter(); let var_82: Vec = smithy_http::header::read_many(headers)?; - if var_82.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1432,7 +1352,6 @@ pub fn deser_header_head_object_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_83: Vec = smithy_http::header::read_many(headers)?; - if var_83.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1465,7 +1384,6 @@ pub fn deser_header_head_object_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_84: Vec = smithy_http::header::read_many(headers)?; - if var_84.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1481,7 +1399,6 @@ pub fn deser_header_head_object_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_85: Vec = smithy_http::header::read_many(headers)?; - if var_85.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1497,7 +1414,6 @@ pub fn deser_header_head_object_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_86: Vec = smithy_http::header::read_many(headers)?; - if var_86.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1513,7 +1429,6 @@ pub fn deser_header_head_object_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_87: Vec = smithy_http::header::read_many(headers)?; - if var_87.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1529,7 +1444,6 @@ pub fn deser_header_head_object_storage_class( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-storage-class").iter(); let var_88: Vec = smithy_http::header::read_many(headers)?; - if var_88.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1543,7 +1457,6 @@ pub fn deser_header_head_object_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_89: Vec = smithy_http::header::read_many(headers)?; - if var_89.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1557,7 +1470,6 @@ pub fn deser_header_head_object_replication_status( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-replication-status").iter(); let var_90: Vec = smithy_http::header::read_many(headers)?; - if var_90.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1571,7 +1483,6 @@ pub fn deser_header_head_object_parts_count( ) -> Result { let headers = header_map.get_all("x-amz-mp-parts-count").iter(); let var_91: Vec = smithy_http::header::read_many(headers)?; - if var_91.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1587,7 +1498,6 @@ pub fn deser_header_head_object_object_lock_mode( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-object-lock-mode").iter(); let var_92: Vec = smithy_http::header::read_many(headers)?; - if var_92.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1604,7 +1514,6 @@ pub fn deser_header_head_object_object_lock_retain_until_date( .iter(); let var_93: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::DateTime)?; - if var_93.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1622,7 +1531,6 @@ pub fn deser_header_head_object_object_lock_legal_hold_status( let headers = header_map.get_all("x-amz-object-lock-legal-hold").iter(); let var_94: Vec = smithy_http::header::read_many(headers)?; - if var_94.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1637,7 +1545,6 @@ pub fn deser_header_list_parts_abort_date( let headers = header_map.get_all("x-amz-abort-date").iter(); let var_95: Vec = smithy_http::header::many_dates(headers, smithy_types::instant::Format::HttpDate)?; - if var_95.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1651,7 +1558,6 @@ pub fn deser_header_list_parts_abort_rule_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-abort-rule-id").iter(); let var_96: Vec = smithy_http::header::read_many(headers)?; - if var_96.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1665,7 +1571,6 @@ pub fn deser_header_list_parts_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_97: Vec = smithy_http::header::read_many(headers)?; - if var_97.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1679,7 +1584,6 @@ pub fn deser_header_put_object_expiration( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-expiration").iter(); let var_98: Vec = smithy_http::header::read_many(headers)?; - if var_98.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1693,7 +1597,6 @@ pub fn deser_header_put_object_e_tag( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("ETag").iter(); let var_99: Vec = smithy_http::header::read_many(headers)?; - if var_99.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1708,7 +1611,6 @@ pub fn deser_header_put_object_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_100: Vec = smithy_http::header::read_many(headers)?; - if var_100.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1722,7 +1624,6 @@ pub fn deser_header_put_object_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_101: Vec = smithy_http::header::read_many(headers)?; - if var_101.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1738,7 +1639,6 @@ pub fn deser_header_put_object_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_102: Vec = smithy_http::header::read_many(headers)?; - if var_102.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1754,7 +1654,6 @@ pub fn deser_header_put_object_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_103: Vec = smithy_http::header::read_many(headers)?; - if var_103.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1770,7 +1669,6 @@ pub fn deser_header_put_object_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_104: Vec = smithy_http::header::read_many(headers)?; - if var_104.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1786,7 +1684,6 @@ pub fn deser_header_put_object_ssekms_encryption_context( .get_all("x-amz-server-side-encryption-context") .iter(); let var_105: Vec = smithy_http::header::read_many(headers)?; - if var_105.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1802,7 +1699,6 @@ pub fn deser_header_put_object_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_106: Vec = smithy_http::header::read_many(headers)?; - if var_106.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -1818,7 +1714,6 @@ pub fn deser_header_put_object_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_107: Vec = smithy_http::header::read_many(headers)?; - if var_107.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1832,7 +1727,6 @@ pub fn deser_header_put_object_acl_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_108: Vec = smithy_http::header::read_many(headers)?; - if var_108.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1846,7 +1740,6 @@ pub fn deser_header_put_object_legal_hold_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_109: Vec = smithy_http::header::read_many(headers)?; - if var_109.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1860,7 +1753,6 @@ pub fn deser_header_put_object_lock_configuration_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_110: Vec = smithy_http::header::read_many(headers)?; - if var_110.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1874,7 +1766,6 @@ pub fn deser_header_put_object_retention_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_111: Vec = smithy_http::header::read_many(headers)?; - if var_111.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1888,7 +1779,6 @@ pub fn deser_header_put_object_tagging_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-version-id").iter(); let var_112: Vec = smithy_http::header::read_many(headers)?; - if var_112.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1902,7 +1792,6 @@ pub fn deser_header_restore_object_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_113: Vec = smithy_http::header::read_many(headers)?; - if var_113.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1916,7 +1805,6 @@ pub fn deser_header_restore_object_restore_output_path( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-restore-output-path").iter(); let var_114: Vec = smithy_http::header::read_many(headers)?; - if var_114.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1931,7 +1819,6 @@ pub fn deser_header_upload_part_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_115: Vec = smithy_http::header::read_many(headers)?; - if var_115.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1945,7 +1832,6 @@ pub fn deser_header_upload_part_e_tag( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("ETag").iter(); let var_116: Vec = smithy_http::header::read_many(headers)?; - if var_116.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1961,7 +1847,6 @@ pub fn deser_header_upload_part_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_117: Vec = smithy_http::header::read_many(headers)?; - if var_117.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1977,7 +1862,6 @@ pub fn deser_header_upload_part_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_118: Vec = smithy_http::header::read_many(headers)?; - if var_118.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -1993,7 +1877,6 @@ pub fn deser_header_upload_part_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_119: Vec = smithy_http::header::read_many(headers)?; - if var_119.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2009,7 +1892,6 @@ pub fn deser_header_upload_part_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_120: Vec = smithy_http::header::read_many(headers)?; - if var_120.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -2025,7 +1907,6 @@ pub fn deser_header_upload_part_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_121: Vec = smithy_http::header::read_many(headers)?; - if var_121.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2039,7 +1920,6 @@ pub fn deser_header_upload_part_copy_copy_source_version_id( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-copy-source-version-id").iter(); let var_122: Vec = smithy_http::header::read_many(headers)?; - if var_122.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2053,7 +1933,7 @@ pub fn deser_payload_upload_part_copy_copy_part_result( ) -> Result, crate::error::UploadPartCopyError> { (!body.is_empty()) .then(|| { - crate::xml_deser::parse_payload_copy_part_resultupload_part_copy_output(body) + crate::xml_deser::deser_payload_copy_part_result_upload_part_copy_output(body) .map_err(crate::error::UploadPartCopyError::unhandled) }) .transpose() @@ -2065,7 +1945,6 @@ pub fn deser_header_upload_part_copy_server_side_encryption( { let headers = header_map.get_all("x-amz-server-side-encryption").iter(); let var_123: Vec = smithy_http::header::read_many(headers)?; - if var_123.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2081,7 +1960,6 @@ pub fn deser_header_upload_part_copy_sse_customer_algorithm( .get_all("x-amz-server-side-encryption-customer-algorithm") .iter(); let var_124: Vec = smithy_http::header::read_many(headers)?; - if var_124.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2097,7 +1975,6 @@ pub fn deser_header_upload_part_copy_sse_customer_key_md5( .get_all("x-amz-server-side-encryption-customer-key-MD5") .iter(); let var_125: Vec = smithy_http::header::read_many(headers)?; - if var_125.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2113,7 +1990,6 @@ pub fn deser_header_upload_part_copy_ssekms_key_id( .get_all("x-amz-server-side-encryption-aws-kms-key-id") .iter(); let var_126: Vec = smithy_http::header::read_many(headers)?; - if var_126.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2129,7 +2005,6 @@ pub fn deser_header_upload_part_copy_bucket_key_enabled( .get_all("x-amz-server-side-encryption-bucket-key-enabled") .iter(); let var_127: Vec = smithy_http::header::read_many(headers)?; - if var_127.len() > 1 { return Err(smithy_http::header::ParseError); } @@ -2145,7 +2020,6 @@ pub fn deser_header_upload_part_copy_request_charged( ) -> Result, smithy_http::header::ParseError> { let headers = header_map.get_all("x-amz-request-charged").iter(); let var_128: Vec = smithy_http::header::read_many(headers)?; - if var_128.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2158,7 +2032,6 @@ pub fn deser_prefix_header_get_object_metadata_inner( headers: http::header::ValueIter, ) -> Result, smithy_http::header::ParseError> { let var_129: Vec = smithy_http::header::read_many(headers)?; - if var_129.len() > 1 { Err(smithy_http::header::ParseError) } else { @@ -2171,7 +2044,6 @@ pub fn deser_prefix_header_head_object_metadata_inner( headers: http::header::ValueIter, ) -> Result, smithy_http::header::ParseError> { let var_130: Vec = smithy_http::header::read_many(headers)?; - if var_130.len() > 1 { Err(smithy_http::header::ParseError) } else { diff --git a/sdk/s3/src/input.rs b/sdk/s3/src/input.rs index d066b7e8fef3..a1fa191feb8a 100644 --- a/sdk/s3/src/input.rs +++ b/sdk/s3/src/input.rs @@ -101,44 +101,35 @@ impl AbortMultipartUploadInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::AbortMultipartUpload::new(), @@ -147,7 +138,6 @@ impl AbortMultipartUploadInput { "AbortMultipartUpload", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -359,44 +349,35 @@ impl CompleteMultipartUploadInput { &self.multipart_upload, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CompleteMultipartUpload::new(), @@ -405,7 +386,6 @@ impl CompleteMultipartUploadInput { "CompleteMultipartUpload", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1146,50 +1126,40 @@ impl CopyObjectInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CopyObject::new(), ) .with_metadata(smithy_http::operation::Metadata::new("CopyObject", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2105,50 +2075,40 @@ impl CreateBucketInput { &self.create_bucket_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateBucket::new(), ) .with_metadata(smithy_http::operation::Metadata::new("CreateBucket", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2783,44 +2743,35 @@ impl CreateMultipartUploadInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateMultipartUpload::new(), @@ -2829,7 +2780,6 @@ impl CreateMultipartUploadInput { "CreateMultipartUpload", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3446,50 +3396,40 @@ impl DeleteBucketInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucket::new(), ) .with_metadata(smithy_http::operation::Metadata::new("DeleteBucket", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3632,44 +3572,35 @@ impl DeleteBucketAnalyticsConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketAnalyticsConfiguration::new(), @@ -3678,7 +3609,6 @@ impl DeleteBucketAnalyticsConfigurationInput { "DeleteBucketAnalyticsConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3816,44 +3746,35 @@ impl DeleteBucketCorsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketCors::new(), @@ -3862,7 +3783,6 @@ impl DeleteBucketCorsInput { "DeleteBucketCors", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3998,44 +3918,35 @@ impl DeleteBucketEncryptionInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketEncryption::new(), @@ -4044,7 +3955,6 @@ impl DeleteBucketEncryptionInput { "DeleteBucketEncryption", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4180,44 +4090,35 @@ impl DeleteBucketIntelligentTieringConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketIntelligentTieringConfiguration::new(), @@ -4226,7 +4127,6 @@ impl DeleteBucketIntelligentTieringConfigurationInput { "DeleteBucketIntelligentTieringConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4353,44 +4253,35 @@ impl DeleteBucketInventoryConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketInventoryConfiguration::new(), @@ -4399,7 +4290,6 @@ impl DeleteBucketInventoryConfigurationInput { "DeleteBucketInventoryConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4537,44 +4427,35 @@ impl DeleteBucketLifecycleInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketLifecycle::new(), @@ -4583,7 +4464,6 @@ impl DeleteBucketLifecycleInput { "DeleteBucketLifecycle", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4731,44 +4611,35 @@ impl DeleteBucketMetricsConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketMetricsConfiguration::new(), @@ -4777,7 +4648,6 @@ impl DeleteBucketMetricsConfigurationInput { "DeleteBucketMetricsConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4917,44 +4787,35 @@ impl DeleteBucketOwnershipControlsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketOwnershipControls::new(), @@ -4963,7 +4824,6 @@ impl DeleteBucketOwnershipControlsInput { "DeleteBucketOwnershipControls", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5098,44 +4958,35 @@ impl DeleteBucketPolicyInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketPolicy::new(), @@ -5144,7 +4995,6 @@ impl DeleteBucketPolicyInput { "DeleteBucketPolicy", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5279,44 +5129,35 @@ impl DeleteBucketReplicationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketReplication::new(), @@ -5325,7 +5166,6 @@ impl DeleteBucketReplicationInput { "DeleteBucketReplication", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5460,44 +5300,35 @@ impl DeleteBucketTaggingInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketTagging::new(), @@ -5506,7 +5337,6 @@ impl DeleteBucketTaggingInput { "DeleteBucketTagging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5641,44 +5471,35 @@ impl DeleteBucketWebsiteInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteBucketWebsite::new(), @@ -5687,7 +5508,6 @@ impl DeleteBucketWebsiteInput { "DeleteBucketWebsite", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5887,50 +5707,40 @@ impl DeleteObjectInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteObject::new(), ) .with_metadata(smithy_http::operation::Metadata::new("DeleteObject", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6177,50 +5987,40 @@ impl DeleteObjectsInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_delete_objects_input(&self.delete)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteObjects::new(), ) .with_metadata(smithy_http::operation::Metadata::new("DeleteObjects", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6434,44 +6234,35 @@ impl DeleteObjectTaggingInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteObjectTagging::new(), @@ -6480,7 +6271,6 @@ impl DeleteObjectTaggingInput { "DeleteObjectTagging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6620,44 +6410,35 @@ impl DeletePublicAccessBlockInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeletePublicAccessBlock::new(), @@ -6666,7 +6447,6 @@ impl DeletePublicAccessBlockInput { "DeletePublicAccessBlock", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6803,44 +6583,35 @@ impl GetBucketAccelerateConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketAccelerateConfiguration::new(), @@ -6849,7 +6620,6 @@ impl GetBucketAccelerateConfigurationInput { "GetBucketAccelerateConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6983,50 +6753,40 @@ impl GetBucketAclInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketAcl::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetBucketAcl", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7174,44 +6934,35 @@ impl GetBucketAnalyticsConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketAnalyticsConfiguration::new(), @@ -7220,7 +6971,6 @@ impl GetBucketAnalyticsConfigurationInput { "GetBucketAnalyticsConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7358,50 +7108,40 @@ impl GetBucketCorsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketCors::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetBucketCors", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7537,44 +7277,35 @@ impl GetBucketEncryptionInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketEncryption::new(), @@ -7583,7 +7314,6 @@ impl GetBucketEncryptionInput { "GetBucketEncryption", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7719,44 +7449,35 @@ impl GetBucketIntelligentTieringConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketIntelligentTieringConfiguration::new(), @@ -7765,7 +7486,6 @@ impl GetBucketIntelligentTieringConfigurationInput { "GetBucketIntelligentTieringConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7892,44 +7612,35 @@ impl GetBucketInventoryConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketInventoryConfiguration::new(), @@ -7938,7 +7649,6 @@ impl GetBucketInventoryConfigurationInput { "GetBucketInventoryConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8079,44 +7789,35 @@ impl GetBucketLifecycleConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketLifecycleConfiguration::new(), @@ -8125,7 +7826,6 @@ impl GetBucketLifecycleConfigurationInput { "GetBucketLifecycleConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8260,44 +7960,35 @@ impl GetBucketLocationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketLocation::new(), @@ -8306,7 +7997,6 @@ impl GetBucketLocationInput { "GetBucketLocation", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8441,44 +8131,35 @@ impl GetBucketLoggingInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketLogging::new(), @@ -8487,7 +8168,6 @@ impl GetBucketLoggingInput { "GetBucketLogging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8635,44 +8315,35 @@ impl GetBucketMetricsConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketMetricsConfiguration::new(), @@ -8681,7 +8352,6 @@ impl GetBucketMetricsConfigurationInput { "GetBucketMetricsConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8822,44 +8492,35 @@ impl GetBucketNotificationConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketNotificationConfiguration::new(), @@ -8868,7 +8529,6 @@ impl GetBucketNotificationConfigurationInput { "GetBucketNotificationConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9004,44 +8664,35 @@ impl GetBucketOwnershipControlsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketOwnershipControls::new(), @@ -9050,7 +8701,6 @@ impl GetBucketOwnershipControlsInput { "GetBucketOwnershipControls", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9185,44 +8835,35 @@ impl GetBucketPolicyInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketPolicy::new(), @@ -9231,7 +8872,6 @@ impl GetBucketPolicyInput { "GetBucketPolicy", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9366,44 +9006,35 @@ impl GetBucketPolicyStatusInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketPolicyStatus::new(), @@ -9412,7 +9043,6 @@ impl GetBucketPolicyStatusInput { "GetBucketPolicyStatus", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9547,44 +9177,35 @@ impl GetBucketReplicationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketReplication::new(), @@ -9593,7 +9214,6 @@ impl GetBucketReplicationInput { "GetBucketReplication", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9728,44 +9348,35 @@ impl GetBucketRequestPaymentInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketRequestPayment::new(), @@ -9774,7 +9385,6 @@ impl GetBucketRequestPaymentInput { "GetBucketRequestPayment", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9909,44 +9519,35 @@ impl GetBucketTaggingInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketTagging::new(), @@ -9955,7 +9556,6 @@ impl GetBucketTaggingInput { "GetBucketTagging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10090,44 +9690,35 @@ impl GetBucketVersioningInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketVersioning::new(), @@ -10136,7 +9727,6 @@ impl GetBucketVersioningInput { "GetBucketVersioning", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10271,44 +9861,35 @@ impl GetBucketWebsiteInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetBucketWebsite::new(), @@ -10317,7 +9898,6 @@ impl GetBucketWebsiteInput { "GetBucketWebsite", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10707,48 +10287,38 @@ impl GetObjectInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::GetObject::new()) .with_metadata(smithy_http::operation::Metadata::new("GetObject", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11139,50 +10709,40 @@ impl GetObjectAclInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetObjectAcl::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetObjectAcl", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11379,44 +10939,35 @@ impl GetObjectLegalHoldInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetObjectLegalHold::new(), @@ -11425,7 +10976,6 @@ impl GetObjectLegalHoldInput { "GetObjectLegalHold", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11583,44 +11133,35 @@ impl GetObjectLockConfigurationInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetObjectLockConfiguration::new(), @@ -11629,7 +11170,6 @@ impl GetObjectLockConfigurationInput { "GetObjectLockConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11804,44 +11344,35 @@ impl GetObjectRetentionInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetObjectRetention::new(), @@ -11850,7 +11381,6 @@ impl GetObjectRetentionInput { "GetObjectRetention", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12048,44 +11578,35 @@ impl GetObjectTaggingInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetObjectTagging::new(), @@ -12094,7 +11615,6 @@ impl GetObjectTaggingInput { "GetObjectTagging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12279,44 +11799,35 @@ impl GetObjectTorrentInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetObjectTorrent::new(), @@ -12325,7 +11836,6 @@ impl GetObjectTorrentInput { "GetObjectTorrent", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12480,44 +11990,35 @@ impl GetPublicAccessBlockInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetPublicAccessBlock::new(), @@ -12526,7 +12027,6 @@ impl GetPublicAccessBlockInput { "GetPublicAccessBlock", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12662,50 +12162,40 @@ impl HeadBucketInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::HeadBucket::new(), ) .with_metadata(smithy_http::operation::Metadata::new("HeadBucket", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13006,50 +12496,40 @@ impl HeadObjectInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::HeadObject::new(), ) .with_metadata(smithy_http::operation::Metadata::new("HeadObject", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13378,44 +12858,35 @@ impl ListBucketAnalyticsConfigurationsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListBucketAnalyticsConfigurations::new(), @@ -13424,7 +12895,6 @@ impl ListBucketAnalyticsConfigurationsInput { "ListBucketAnalyticsConfigurations", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13571,44 +13041,35 @@ impl ListBucketIntelligentTieringConfigurationsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListBucketIntelligentTieringConfigurations::new(), @@ -13617,7 +13078,6 @@ impl ListBucketIntelligentTieringConfigurationsInput { "ListBucketIntelligentTieringConfigurations", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13753,44 +13213,35 @@ impl ListBucketInventoryConfigurationsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListBucketInventoryConfigurations::new(), @@ -13799,7 +13250,6 @@ impl ListBucketInventoryConfigurationsInput { "ListBucketInventoryConfigurations", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13960,44 +13410,35 @@ impl ListBucketMetricsConfigurationsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListBucketMetricsConfigurations::new(), @@ -14006,7 +13447,6 @@ impl ListBucketMetricsConfigurationsInput { "ListBucketMetricsConfigurations", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14120,50 +13560,40 @@ impl ListBucketsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListBuckets::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListBuckets", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14361,44 +13791,35 @@ impl ListMultipartUploadsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListMultipartUploads::new(), @@ -14407,7 +13828,6 @@ impl ListMultipartUploadsInput { "ListMultipartUploads", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14646,50 +14066,40 @@ impl ListObjectsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListObjects::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListObjects", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14964,50 +14374,40 @@ impl ListObjectsV2Input { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListObjectsV2::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListObjectsV2", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15278,44 +14678,35 @@ impl ListObjectVersionsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListObjectVersions::new(), @@ -15324,7 +14715,6 @@ impl ListObjectVersionsInput { "ListObjectVersions", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15549,48 +14939,38 @@ impl ListPartsInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::ListParts::new()) .with_metadata(smithy_http::operation::Metadata::new("ListParts", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15781,44 +15161,35 @@ impl PutBucketAccelerateConfigurationInput { &self.accelerate_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketAccelerateConfiguration::new(), @@ -15827,7 +15198,6 @@ impl PutBucketAccelerateConfigurationInput { "PutBucketAccelerateConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16067,50 +15437,40 @@ impl PutBucketAclInput { &self.access_control_policy, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketAcl::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutBucketAcl", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16404,44 +15764,35 @@ impl PutBucketAnalyticsConfigurationInput { &self.analytics_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketAnalyticsConfiguration::new(), @@ -16450,7 +15801,6 @@ impl PutBucketAnalyticsConfigurationInput { "PutBucketAnalyticsConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16620,50 +15970,40 @@ impl PutBucketCorsInput { let body = crate::operation_ser::ser_payload_put_bucket_cors_input(&self.cors_configuration)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketCors::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutBucketCors", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16851,44 +16191,35 @@ impl PutBucketEncryptionInput { &self.server_side_encryption_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketEncryption::new(), @@ -16897,7 +16228,6 @@ impl PutBucketEncryptionInput { "PutBucketEncryption", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17067,48 +16397,39 @@ impl PutBucketIntelligentTieringConfigurationInput { > { Ok({ let request = self.request_builder_base()?; - let body = + let body = crate::operation_ser::ser_payload_put_bucket_intelligent_tiering_configuration_input(& self.intelligent_tiering_configuration)? ; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketIntelligentTieringConfiguration::new(), @@ -17117,7 +16438,6 @@ impl PutBucketIntelligentTieringConfigurationInput { "PutBucketIntelligentTieringConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17263,44 +16583,35 @@ impl PutBucketInventoryConfigurationInput { &self.inventory_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketInventoryConfiguration::new(), @@ -17309,7 +16620,6 @@ impl PutBucketInventoryConfigurationInput { "PutBucketInventoryConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17469,44 +16779,35 @@ impl PutBucketLifecycleConfigurationInput { &self.lifecycle_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketLifecycleConfiguration::new(), @@ -17515,7 +16816,6 @@ impl PutBucketLifecycleConfigurationInput { "PutBucketLifecycleConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17678,44 +16978,35 @@ impl PutBucketLoggingInput { &self.bucket_logging_status, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketLogging::new(), @@ -17724,7 +17015,6 @@ impl PutBucketLoggingInput { "PutBucketLogging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17906,44 +17196,35 @@ impl PutBucketMetricsConfigurationInput { &self.metrics_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketMetricsConfiguration::new(), @@ -17952,7 +17233,6 @@ impl PutBucketMetricsConfigurationInput { "PutBucketMetricsConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18114,44 +17394,35 @@ impl PutBucketNotificationConfigurationInput { &self.notification_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketNotificationConfiguration::new(), @@ -18160,7 +17431,6 @@ impl PutBucketNotificationConfigurationInput { "PutBucketNotificationConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18324,44 +17594,35 @@ impl PutBucketOwnershipControlsInput { &self.ownership_controls, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketOwnershipControls::new(), @@ -18370,7 +17631,6 @@ impl PutBucketOwnershipControlsInput { "PutBucketOwnershipControls", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18560,44 +17820,35 @@ impl PutBucketPolicyInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_put_bucket_policy_input(&self.policy)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketPolicy::new(), @@ -18606,7 +17857,6 @@ impl PutBucketPolicyInput { "PutBucketPolicy", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18824,44 +18074,35 @@ impl PutBucketReplicationInput { &self.replication_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketReplication::new(), @@ -18870,7 +18111,6 @@ impl PutBucketReplicationInput { "PutBucketReplication", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19076,44 +18316,35 @@ impl PutBucketRequestPaymentInput { &self.request_payment_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketRequestPayment::new(), @@ -19122,7 +18353,6 @@ impl PutBucketRequestPaymentInput { "PutBucketRequestPayment", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19300,44 +18530,35 @@ impl PutBucketTaggingInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_put_bucket_tagging_input(&self.tagging)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketTagging::new(), @@ -19346,7 +18567,6 @@ impl PutBucketTaggingInput { "PutBucketTagging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19546,44 +18766,35 @@ impl PutBucketVersioningInput { &self.versioning_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketVersioning::new(), @@ -19592,7 +18803,6 @@ impl PutBucketVersioningInput { "PutBucketVersioning", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19793,44 +19003,35 @@ impl PutBucketWebsiteInput { &self.website_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutBucketWebsite::new(), @@ -19839,7 +19040,6 @@ impl PutBucketWebsiteInput { "PutBucketWebsite", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20448,48 +19648,38 @@ impl PutObjectInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_put_object_input(self.body)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new(request, crate::operation::PutObject::new()) .with_metadata(smithy_http::operation::Metadata::new("PutObject", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21295,50 +20485,40 @@ impl PutObjectAclInput { &self.access_control_policy, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutObjectAcl::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutObjectAcl", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21689,44 +20869,35 @@ impl PutObjectLegalHoldInput { let body = crate::operation_ser::ser_payload_put_object_legal_hold_input(&self.legal_hold)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutObjectLegalHold::new(), @@ -21735,7 +20906,6 @@ impl PutObjectLegalHoldInput { "PutObjectLegalHold", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21970,44 +21140,35 @@ impl PutObjectLockConfigurationInput { &self.object_lock_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutObjectLockConfiguration::new(), @@ -22016,7 +21177,6 @@ impl PutObjectLockConfigurationInput { "PutObjectLockConfiguration", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22286,44 +21446,35 @@ impl PutObjectRetentionInput { let body = crate::operation_ser::ser_payload_put_object_retention_input(&self.retention)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutObjectRetention::new(), @@ -22332,7 +21483,6 @@ impl PutObjectRetentionInput { "PutObjectRetention", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22589,44 +21739,35 @@ impl PutObjectTaggingInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_put_object_tagging_input(&self.tagging)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutObjectTagging::new(), @@ -22635,7 +21776,6 @@ impl PutObjectTaggingInput { "PutObjectTagging", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22845,44 +21985,35 @@ impl PutPublicAccessBlockInput { &self.public_access_block_configuration, )?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutPublicAccessBlock::new(), @@ -22891,7 +22022,6 @@ impl PutPublicAccessBlockInput { "PutPublicAccessBlock", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -23099,50 +22229,40 @@ impl RestoreObjectInput { let body = crate::operation_ser::ser_payload_restore_object_input(&self.restore_request)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RestoreObject::new(), ) .with_metadata(smithy_http::operation::Metadata::new("RestoreObject", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -23437,50 +22557,40 @@ impl UploadPartInput { let request = self.request_builder_base()?; let body = crate::operation_ser::ser_payload_upload_part_input(self.body)?; 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UploadPart::new(), ) .with_metadata(smithy_http::operation::Metadata::new("UploadPart", "s3")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -24014,44 +23124,35 @@ impl UploadPartCopyInput { 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 .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UploadPartCopy::new(), @@ -24060,7 +23161,6 @@ impl UploadPartCopyInput { "UploadPartCopy", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -24997,44 +24097,55 @@ impl WriteGetObjectResponseInput { let body = crate::operation_ser::ser_payload_write_get_object_response_input(self.body)?; let request = Self::assemble(request, body); - #[allow(unused_mut)] let mut request = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - + let endpoint_prefix = { + let request_route = self.request_route.as_deref().unwrap_or_default(); + if request_route.is_empty() { + return Err(smithy_http::operation::BuildError::InvalidField { field: "request_route", details: "request_route was unset or empty but must be set as part of the endpoint prefix".to_string() }); + } + smithy_http::endpoint::EndpointPrefix::new(format!( + "{RequestRoute}.", + RequestRoute = request_route + )) + }; + match endpoint_prefix { + Ok(prefix) => { + request.config_mut().insert(prefix); + } + Err(err) => { + return Err(smithy_http::operation::BuildError::SerializationError( + err.into(), + )) + } + } request .config_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(); - signing_config.signing_options.content_sha256_header = true; signing_config.signing_options.double_uri_encode = false; - request.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::WriteGetObjectResponse::new(), @@ -25043,7 +24154,6 @@ impl WriteGetObjectResponseInput { "WriteGetObjectResponse", "s3", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) diff --git a/sdk/s3/src/lib.rs b/sdk/s3/src/lib.rs index 89efe2af976f..6e8b60a60c2e 100644 --- a/sdk/s3/src/lib.rs +++ b/sdk/s3/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //!

    // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. @@ -22,13 +23,16 @@ mod operation_deser; mod operation_ser; pub mod output; mod rest_xml_unwrapped_errors; +mod s3_errors; mod xml_deser; mod xml_ser; 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("s3", PKG_VERSION); +pub use crate::s3_errors::ErrorExt; pub use aws_auth::Credentials; pub use aws_types::region::Region; #[cfg(feature = "client")] diff --git a/sdk/s3/src/model.rs b/sdk/s3/src/model.rs index 32359bd006fc..57abebafa216 100644 --- a/sdk/s3/src/model.rs +++ b/sdk/s3/src/model.rs @@ -35,7 +35,6 @@ impl std::convert::From<&str> for StorageClass { } } } - impl std::str::FromStr for StorageClass { type Err = std::convert::Infallible; @@ -43,7 +42,6 @@ impl std::str::FromStr for StorageClass { Ok(StorageClass::from(s)) } } - impl StorageClass { pub fn as_str(&self) -> &str { match self { @@ -64,19 +62,6 @@ impl AsRef for StorageClass { self.as_str() } } - -impl serde::Serialize for StorageClass { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StorageClass { fn deserialize(deserializer: D) -> Result where @@ -111,7 +96,6 @@ impl std::convert::From<&str> for ServerSideEncryption { } } } - impl std::str::FromStr for ServerSideEncryption { type Err = std::convert::Infallible; @@ -119,7 +103,6 @@ impl std::str::FromStr for ServerSideEncryption { Ok(ServerSideEncryption::from(s)) } } - impl ServerSideEncryption { pub fn as_str(&self) -> &str { match self { @@ -134,19 +117,6 @@ impl AsRef for ServerSideEncryption { self.as_str() } } - -impl serde::Serialize for ServerSideEncryption { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ServerSideEncryption { fn deserialize(deserializer: D) -> Result where @@ -181,7 +151,6 @@ impl std::convert::From<&str> for RequestCharged { } } } - impl std::str::FromStr for RequestCharged { type Err = std::convert::Infallible; @@ -189,7 +158,6 @@ impl std::str::FromStr for RequestCharged { Ok(RequestCharged::from(s)) } } - impl RequestCharged { pub fn as_str(&self) -> &str { match self { @@ -203,19 +171,6 @@ impl AsRef for RequestCharged { self.as_str() } } - -impl serde::Serialize for RequestCharged { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for RequestCharged { fn deserialize(deserializer: D) -> Result where @@ -254,7 +209,6 @@ impl std::convert::From<&str> for ReplicationStatus { } } } - impl std::str::FromStr for ReplicationStatus { type Err = std::convert::Infallible; @@ -262,7 +216,6 @@ impl std::str::FromStr for ReplicationStatus { Ok(ReplicationStatus::from(s)) } } - impl ReplicationStatus { pub fn as_str(&self) -> &str { match self { @@ -279,19 +232,6 @@ impl AsRef for ReplicationStatus { self.as_str() } } - -impl serde::Serialize for ReplicationStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReplicationStatus { fn deserialize(deserializer: D) -> Result where @@ -326,7 +266,6 @@ impl std::convert::From<&str> for ObjectLockLegalHoldStatus { } } } - impl std::str::FromStr for ObjectLockLegalHoldStatus { type Err = std::convert::Infallible; @@ -334,7 +273,6 @@ impl std::str::FromStr for ObjectLockLegalHoldStatus { Ok(ObjectLockLegalHoldStatus::from(s)) } } - impl ObjectLockLegalHoldStatus { pub fn as_str(&self) -> &str { match self { @@ -349,19 +287,6 @@ impl AsRef for ObjectLockLegalHoldStatus { self.as_str() } } - -impl serde::Serialize for ObjectLockLegalHoldStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectLockLegalHoldStatus { fn deserialize(deserializer: D) -> Result where @@ -396,7 +321,6 @@ impl std::convert::From<&str> for ObjectLockMode { } } } - impl std::str::FromStr for ObjectLockMode { type Err = std::convert::Infallible; @@ -404,7 +328,6 @@ impl std::str::FromStr for ObjectLockMode { Ok(ObjectLockMode::from(s)) } } - impl ObjectLockMode { pub fn as_str(&self) -> &str { match self { @@ -419,19 +342,6 @@ impl AsRef for ObjectLockMode { self.as_str() } } - -impl serde::Serialize for ObjectLockMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectLockMode { fn deserialize(deserializer: D) -> Result where @@ -532,7 +442,6 @@ impl std::convert::From<&str> for RequestPayer { } } } - impl std::str::FromStr for RequestPayer { type Err = std::convert::Infallible; @@ -540,7 +449,6 @@ impl std::str::FromStr for RequestPayer { Ok(RequestPayer::from(s)) } } - impl RequestPayer { pub fn as_str(&self) -> &str { match self { @@ -554,19 +462,6 @@ impl AsRef for RequestPayer { self.as_str() } } - -impl serde::Serialize for RequestPayer { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for RequestPayer { fn deserialize(deserializer: D) -> Result where @@ -1202,7 +1097,6 @@ impl std::convert::From<&str> for Permission { } } } - impl std::str::FromStr for Permission { type Err = std::convert::Infallible; @@ -1210,7 +1104,6 @@ impl std::str::FromStr for Permission { Ok(Permission::from(s)) } } - impl Permission { pub fn as_str(&self) -> &str { match self { @@ -1228,19 +1121,6 @@ impl AsRef for Permission { self.as_str() } } - -impl serde::Serialize for Permission { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Permission { fn deserialize(deserializer: D) -> Result where @@ -1440,7 +1320,6 @@ impl std::convert::From<&str> for Type { } } } - impl std::str::FromStr for Type { type Err = std::convert::Infallible; @@ -1448,7 +1327,6 @@ impl std::str::FromStr for Type { Ok(Type::from(s)) } } - impl Type { pub fn as_str(&self) -> &str { match self { @@ -1464,19 +1342,6 @@ impl AsRef for Type { self.as_str() } } - -impl serde::Serialize for Type { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Type { fn deserialize(deserializer: D) -> Result where @@ -1521,7 +1386,6 @@ impl std::convert::From<&str> for ObjectCannedACL { } } } - impl std::str::FromStr for ObjectCannedACL { type Err = std::convert::Infallible; @@ -1529,7 +1393,6 @@ impl std::str::FromStr for ObjectCannedACL { Ok(ObjectCannedACL::from(s)) } } - impl ObjectCannedACL { pub fn as_str(&self) -> &str { match self { @@ -1549,19 +1412,6 @@ impl AsRef for ObjectCannedACL { self.as_str() } } - -impl serde::Serialize for ObjectCannedACL { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectCannedACL { fn deserialize(deserializer: D) -> Result where @@ -2044,7 +1894,6 @@ impl std::convert::From<&str> for QuoteFields { } } } - impl std::str::FromStr for QuoteFields { type Err = std::convert::Infallible; @@ -2052,7 +1901,6 @@ impl std::str::FromStr for QuoteFields { Ok(QuoteFields::from(s)) } } - impl QuoteFields { pub fn as_str(&self) -> &str { match self { @@ -2067,19 +1915,6 @@ impl AsRef for QuoteFields { self.as_str() } } - -impl serde::Serialize for QuoteFields { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for QuoteFields { fn deserialize(deserializer: D) -> Result where @@ -2112,7 +1947,6 @@ impl std::convert::From<&str> for ExpressionType { } } } - impl std::str::FromStr for ExpressionType { type Err = std::convert::Infallible; @@ -2120,7 +1954,6 @@ impl std::str::FromStr for ExpressionType { Ok(ExpressionType::from(s)) } } - impl ExpressionType { pub fn as_str(&self) -> &str { match self { @@ -2134,19 +1967,6 @@ impl AsRef for ExpressionType { self.as_str() } } - -impl serde::Serialize for ExpressionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExpressionType { fn deserialize(deserializer: D) -> Result where @@ -2352,7 +2172,6 @@ impl std::convert::From<&str> for JSONType { } } } - impl std::str::FromStr for JSONType { type Err = std::convert::Infallible; @@ -2360,7 +2179,6 @@ impl std::str::FromStr for JSONType { Ok(JSONType::from(s)) } } - impl JSONType { pub fn as_str(&self) -> &str { match self { @@ -2375,19 +2193,6 @@ impl AsRef for JSONType { self.as_str() } } - -impl serde::Serialize for JSONType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for JSONType { fn deserialize(deserializer: D) -> Result where @@ -2424,7 +2229,6 @@ impl std::convert::From<&str> for CompressionType { } } } - impl std::str::FromStr for CompressionType { type Err = std::convert::Infallible; @@ -2432,7 +2236,6 @@ impl std::str::FromStr for CompressionType { Ok(CompressionType::from(s)) } } - impl CompressionType { pub fn as_str(&self) -> &str { match self { @@ -2448,19 +2251,6 @@ impl AsRef for CompressionType { self.as_str() } } - -impl serde::Serialize for CompressionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CompressionType { fn deserialize(deserializer: D) -> Result where @@ -2711,7 +2501,6 @@ impl std::convert::From<&str> for FileHeaderInfo { } } } - impl std::str::FromStr for FileHeaderInfo { type Err = std::convert::Infallible; @@ -2719,7 +2508,6 @@ impl std::str::FromStr for FileHeaderInfo { Ok(FileHeaderInfo::from(s)) } } - impl FileHeaderInfo { pub fn as_str(&self) -> &str { match self { @@ -2735,19 +2523,6 @@ impl AsRef for FileHeaderInfo { self.as_str() } } - -impl serde::Serialize for FileHeaderInfo { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for FileHeaderInfo { fn deserialize(deserializer: D) -> Result where @@ -2784,7 +2559,6 @@ impl std::convert::From<&str> for Tier { } } } - impl std::str::FromStr for Tier { type Err = std::convert::Infallible; @@ -2792,7 +2566,6 @@ impl std::str::FromStr for Tier { Ok(Tier::from(s)) } } - impl Tier { pub fn as_str(&self) -> &str { match self { @@ -2808,19 +2581,6 @@ impl AsRef for Tier { self.as_str() } } - -impl serde::Serialize for Tier { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Tier { fn deserialize(deserializer: D) -> Result where @@ -2853,7 +2613,6 @@ impl std::convert::From<&str> for RestoreRequestType { } } } - impl std::str::FromStr for RestoreRequestType { type Err = std::convert::Infallible; @@ -2861,7 +2620,6 @@ impl std::str::FromStr for RestoreRequestType { Ok(RestoreRequestType::from(s)) } } - impl RestoreRequestType { pub fn as_str(&self) -> &str { match self { @@ -2875,19 +2633,6 @@ impl AsRef for RestoreRequestType { self.as_str() } } - -impl serde::Serialize for RestoreRequestType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for RestoreRequestType { fn deserialize(deserializer: D) -> Result where @@ -3181,7 +2926,6 @@ impl std::convert::From<&str> for ObjectLockRetentionMode { } } } - impl std::str::FromStr for ObjectLockRetentionMode { type Err = std::convert::Infallible; @@ -3189,7 +2933,6 @@ impl std::str::FromStr for ObjectLockRetentionMode { Ok(ObjectLockRetentionMode::from(s)) } } - impl ObjectLockRetentionMode { pub fn as_str(&self) -> &str { match self { @@ -3204,19 +2947,6 @@ impl AsRef for ObjectLockRetentionMode { self.as_str() } } - -impl serde::Serialize for ObjectLockRetentionMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectLockRetentionMode { fn deserialize(deserializer: D) -> Result where @@ -3477,7 +3207,6 @@ impl std::convert::From<&str> for ObjectLockEnabled { } } } - impl std::str::FromStr for ObjectLockEnabled { type Err = std::convert::Infallible; @@ -3485,7 +3214,6 @@ impl std::str::FromStr for ObjectLockEnabled { Ok(ObjectLockEnabled::from(s)) } } - impl ObjectLockEnabled { pub fn as_str(&self) -> &str { match self { @@ -3499,19 +3227,6 @@ impl AsRef for ObjectLockEnabled { self.as_str() } } - -impl serde::Serialize for ObjectLockEnabled { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectLockEnabled { fn deserialize(deserializer: D) -> Result where @@ -4058,7 +3773,6 @@ impl std::convert::From<&str> for Protocol { } } } - impl std::str::FromStr for Protocol { type Err = std::convert::Infallible; @@ -4066,7 +3780,6 @@ impl std::str::FromStr for Protocol { Ok(Protocol::from(s)) } } - impl Protocol { pub fn as_str(&self) -> &str { match self { @@ -4081,19 +3794,6 @@ impl AsRef for Protocol { self.as_str() } } - -impl serde::Serialize for Protocol { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Protocol { fn deserialize(deserializer: D) -> Result where @@ -4487,7 +4187,6 @@ impl std::convert::From<&str> for BucketVersioningStatus { } } } - impl std::str::FromStr for BucketVersioningStatus { type Err = std::convert::Infallible; @@ -4495,7 +4194,6 @@ impl std::str::FromStr for BucketVersioningStatus { Ok(BucketVersioningStatus::from(s)) } } - impl BucketVersioningStatus { pub fn as_str(&self) -> &str { match self { @@ -4510,19 +4208,6 @@ impl AsRef for BucketVersioningStatus { self.as_str() } } - -impl serde::Serialize for BucketVersioningStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BucketVersioningStatus { fn deserialize(deserializer: D) -> Result where @@ -4557,7 +4242,6 @@ impl std::convert::From<&str> for MFADelete { } } } - impl std::str::FromStr for MFADelete { type Err = std::convert::Infallible; @@ -4565,7 +4249,6 @@ impl std::str::FromStr for MFADelete { Ok(MFADelete::from(s)) } } - impl MFADelete { pub fn as_str(&self) -> &str { match self { @@ -4580,19 +4263,6 @@ impl AsRef for MFADelete { self.as_str() } } - -impl serde::Serialize for MFADelete { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MFADelete { fn deserialize(deserializer: D) -> Result where @@ -4672,7 +4342,6 @@ impl std::convert::From<&str> for Payer { } } } - impl std::str::FromStr for Payer { type Err = std::convert::Infallible; @@ -4680,7 +4349,6 @@ impl std::str::FromStr for Payer { Ok(Payer::from(s)) } } - impl Payer { pub fn as_str(&self) -> &str { match self { @@ -4695,19 +4363,6 @@ impl AsRef for Payer { self.as_str() } } - -impl serde::Serialize for Payer { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Payer { fn deserialize(deserializer: D) -> Result where @@ -5134,7 +4789,6 @@ impl std::convert::From<&str> for DeleteMarkerReplicationStatus { } } } - impl std::str::FromStr for DeleteMarkerReplicationStatus { type Err = std::convert::Infallible; @@ -5142,7 +4796,6 @@ impl std::str::FromStr for DeleteMarkerReplicationStatus { Ok(DeleteMarkerReplicationStatus::from(s)) } } - impl DeleteMarkerReplicationStatus { pub fn as_str(&self) -> &str { match self { @@ -5157,19 +4810,6 @@ impl AsRef for DeleteMarkerReplicationStatus { self.as_str() } } - -impl serde::Serialize for DeleteMarkerReplicationStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DeleteMarkerReplicationStatus { fn deserialize(deserializer: D) -> Result where @@ -5506,7 +5146,6 @@ impl std::convert::From<&str> for MetricsStatus { } } } - impl std::str::FromStr for MetricsStatus { type Err = std::convert::Infallible; @@ -5514,7 +5153,6 @@ impl std::str::FromStr for MetricsStatus { Ok(MetricsStatus::from(s)) } } - impl MetricsStatus { pub fn as_str(&self) -> &str { match self { @@ -5529,19 +5167,6 @@ impl AsRef for MetricsStatus { self.as_str() } } - -impl serde::Serialize for MetricsStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MetricsStatus { fn deserialize(deserializer: D) -> Result where @@ -5647,7 +5272,6 @@ impl std::convert::From<&str> for ReplicationTimeStatus { } } } - impl std::str::FromStr for ReplicationTimeStatus { type Err = std::convert::Infallible; @@ -5655,7 +5279,6 @@ impl std::str::FromStr for ReplicationTimeStatus { Ok(ReplicationTimeStatus::from(s)) } } - impl ReplicationTimeStatus { pub fn as_str(&self) -> &str { match self { @@ -5670,19 +5293,6 @@ impl AsRef for ReplicationTimeStatus { self.as_str() } } - -impl serde::Serialize for ReplicationTimeStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReplicationTimeStatus { fn deserialize(deserializer: D) -> Result where @@ -5821,7 +5431,6 @@ impl std::convert::From<&str> for OwnerOverride { } } } - impl std::str::FromStr for OwnerOverride { type Err = std::convert::Infallible; @@ -5829,7 +5438,6 @@ impl std::str::FromStr for OwnerOverride { Ok(OwnerOverride::from(s)) } } - impl OwnerOverride { pub fn as_str(&self) -> &str { match self { @@ -5843,19 +5451,6 @@ impl AsRef for OwnerOverride { self.as_str() } } - -impl serde::Serialize for OwnerOverride { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OwnerOverride { fn deserialize(deserializer: D) -> Result where @@ -5942,7 +5537,6 @@ impl std::convert::From<&str> for ExistingObjectReplicationStatus { } } } - impl std::str::FromStr for ExistingObjectReplicationStatus { type Err = std::convert::Infallible; @@ -5950,7 +5544,6 @@ impl std::str::FromStr for ExistingObjectReplicationStatus { Ok(ExistingObjectReplicationStatus::from(s)) } } - impl ExistingObjectReplicationStatus { pub fn as_str(&self) -> &str { match self { @@ -5965,19 +5558,6 @@ impl AsRef for ExistingObjectReplicationStatus { self.as_str() } } - -impl serde::Serialize for ExistingObjectReplicationStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExistingObjectReplicationStatus { fn deserialize(deserializer: D) -> Result where @@ -6165,7 +5745,6 @@ impl std::convert::From<&str> for ReplicaModificationsStatus { } } } - impl std::str::FromStr for ReplicaModificationsStatus { type Err = std::convert::Infallible; @@ -6173,7 +5752,6 @@ impl std::str::FromStr for ReplicaModificationsStatus { Ok(ReplicaModificationsStatus::from(s)) } } - impl ReplicaModificationsStatus { pub fn as_str(&self) -> &str { match self { @@ -6188,19 +5766,6 @@ impl AsRef for ReplicaModificationsStatus { self.as_str() } } - -impl serde::Serialize for ReplicaModificationsStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReplicaModificationsStatus { fn deserialize(deserializer: D) -> Result where @@ -6288,7 +5853,6 @@ impl std::convert::From<&str> for SseKmsEncryptedObjectsStatus { } } } - impl std::str::FromStr for SseKmsEncryptedObjectsStatus { type Err = std::convert::Infallible; @@ -6296,7 +5860,6 @@ impl std::str::FromStr for SseKmsEncryptedObjectsStatus { Ok(SseKmsEncryptedObjectsStatus::from(s)) } } - impl SseKmsEncryptedObjectsStatus { pub fn as_str(&self) -> &str { match self { @@ -6311,19 +5874,6 @@ impl AsRef for SseKmsEncryptedObjectsStatus { self.as_str() } } - -impl serde::Serialize for SseKmsEncryptedObjectsStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SseKmsEncryptedObjectsStatus { fn deserialize(deserializer: D) -> Result where @@ -6358,7 +5908,6 @@ impl std::convert::From<&str> for ReplicationRuleStatus { } } } - impl std::str::FromStr for ReplicationRuleStatus { type Err = std::convert::Infallible; @@ -6366,7 +5915,6 @@ impl std::str::FromStr for ReplicationRuleStatus { Ok(ReplicationRuleStatus::from(s)) } } - impl ReplicationRuleStatus { pub fn as_str(&self) -> &str { match self { @@ -6381,19 +5929,6 @@ impl AsRef for ReplicationRuleStatus { self.as_str() } } - -impl serde::Serialize for ReplicationRuleStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReplicationRuleStatus { fn deserialize(deserializer: D) -> Result where @@ -6684,7 +6219,6 @@ impl std::convert::From<&str> for ObjectOwnership { } } } - impl std::str::FromStr for ObjectOwnership { type Err = std::convert::Infallible; @@ -6692,7 +6226,6 @@ impl std::str::FromStr for ObjectOwnership { Ok(ObjectOwnership::from(s)) } } - impl ObjectOwnership { pub fn as_str(&self) -> &str { match self { @@ -6707,19 +6240,6 @@ impl AsRef for ObjectOwnership { self.as_str() } } - -impl serde::Serialize for ObjectOwnership { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectOwnership { fn deserialize(deserializer: D) -> Result where @@ -7137,7 +6657,6 @@ impl std::convert::From<&str> for FilterRuleName { } } } - impl std::str::FromStr for FilterRuleName { type Err = std::convert::Infallible; @@ -7145,7 +6664,6 @@ impl std::str::FromStr for FilterRuleName { Ok(FilterRuleName::from(s)) } } - impl FilterRuleName { pub fn as_str(&self) -> &str { match self { @@ -7160,19 +6678,6 @@ impl AsRef for FilterRuleName { self.as_str() } } - -impl serde::Serialize for FilterRuleName { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for FilterRuleName { fn deserialize(deserializer: D) -> Result where @@ -7229,19 +6734,6 @@ where Event(s.as_ref().to_owned()) } } - -impl serde::Serialize for Event { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Event { fn deserialize(deserializer: D) -> Result where @@ -7883,7 +7375,6 @@ impl std::convert::From<&str> for BucketLogsPermission { } } } - impl std::str::FromStr for BucketLogsPermission { type Err = std::convert::Infallible; @@ -7891,7 +7382,6 @@ impl std::str::FromStr for BucketLogsPermission { Ok(BucketLogsPermission::from(s)) } } - impl BucketLogsPermission { pub fn as_str(&self) -> &str { match self { @@ -7907,19 +7397,6 @@ impl AsRef for BucketLogsPermission { self.as_str() } } - -impl serde::Serialize for BucketLogsPermission { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BucketLogsPermission { fn deserialize(deserializer: D) -> Result where @@ -8438,7 +7915,6 @@ impl std::convert::From<&str> for TransitionStorageClass { } } } - impl std::str::FromStr for TransitionStorageClass { type Err = std::convert::Infallible; @@ -8446,7 +7922,6 @@ impl std::str::FromStr for TransitionStorageClass { Ok(TransitionStorageClass::from(s)) } } - impl TransitionStorageClass { pub fn as_str(&self) -> &str { match self { @@ -8464,19 +7939,6 @@ impl AsRef for TransitionStorageClass { self.as_str() } } - -impl serde::Serialize for TransitionStorageClass { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TransitionStorageClass { fn deserialize(deserializer: D) -> Result where @@ -8595,7 +8057,6 @@ impl std::convert::From<&str> for ExpirationStatus { } } } - impl std::str::FromStr for ExpirationStatus { type Err = std::convert::Infallible; @@ -8603,7 +8064,6 @@ impl std::str::FromStr for ExpirationStatus { Ok(ExpirationStatus::from(s)) } } - impl ExpirationStatus { pub fn as_str(&self) -> &str { match self { @@ -8618,19 +8078,6 @@ impl AsRef for ExpirationStatus { self.as_str() } } - -impl serde::Serialize for ExpirationStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExpirationStatus { fn deserialize(deserializer: D) -> Result where @@ -9091,7 +8538,6 @@ impl std::convert::From<&str> for InventoryFrequency { } } } - impl std::str::FromStr for InventoryFrequency { type Err = std::convert::Infallible; @@ -9099,7 +8545,6 @@ impl std::str::FromStr for InventoryFrequency { Ok(InventoryFrequency::from(s)) } } - impl InventoryFrequency { pub fn as_str(&self) -> &str { match self { @@ -9114,19 +8559,6 @@ impl AsRef for InventoryFrequency { self.as_str() } } - -impl serde::Serialize for InventoryFrequency { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryFrequency { fn deserialize(deserializer: D) -> Result where @@ -9179,7 +8611,6 @@ impl std::convert::From<&str> for InventoryOptionalField { } } } - impl std::str::FromStr for InventoryOptionalField { type Err = std::convert::Infallible; @@ -9187,7 +8618,6 @@ impl std::str::FromStr for InventoryOptionalField { Ok(InventoryOptionalField::from(s)) } } - impl InventoryOptionalField { pub fn as_str(&self) -> &str { match self { @@ -9211,19 +8641,6 @@ impl AsRef for InventoryOptionalField { self.as_str() } } - -impl serde::Serialize for InventoryOptionalField { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryOptionalField { fn deserialize(deserializer: D) -> Result where @@ -9258,7 +8675,6 @@ impl std::convert::From<&str> for InventoryIncludedObjectVersions { } } } - impl std::str::FromStr for InventoryIncludedObjectVersions { type Err = std::convert::Infallible; @@ -9266,7 +8682,6 @@ impl std::str::FromStr for InventoryIncludedObjectVersions { Ok(InventoryIncludedObjectVersions::from(s)) } } - impl InventoryIncludedObjectVersions { pub fn as_str(&self) -> &str { match self { @@ -9281,19 +8696,6 @@ impl AsRef for InventoryIncludedObjectVersions { self.as_str() } } - -impl serde::Serialize for InventoryIncludedObjectVersions { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryIncludedObjectVersions { fn deserialize(deserializer: D) -> Result where @@ -9699,7 +9101,6 @@ impl std::convert::From<&str> for InventoryFormat { } } } - impl std::str::FromStr for InventoryFormat { type Err = std::convert::Infallible; @@ -9707,7 +9108,6 @@ impl std::str::FromStr for InventoryFormat { Ok(InventoryFormat::from(s)) } } - impl InventoryFormat { pub fn as_str(&self) -> &str { match self { @@ -9723,19 +9123,6 @@ impl AsRef for InventoryFormat { self.as_str() } } - -impl serde::Serialize for InventoryFormat { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryFormat { fn deserialize(deserializer: D) -> Result where @@ -9949,7 +9336,6 @@ impl std::convert::From<&str> for IntelligentTieringAccessTier { } } } - impl std::str::FromStr for IntelligentTieringAccessTier { type Err = std::convert::Infallible; @@ -9957,7 +9343,6 @@ impl std::str::FromStr for IntelligentTieringAccessTier { Ok(IntelligentTieringAccessTier::from(s)) } } - impl IntelligentTieringAccessTier { pub fn as_str(&self) -> &str { match self { @@ -9972,19 +9357,6 @@ impl AsRef for IntelligentTieringAccessTier { self.as_str() } } - -impl serde::Serialize for IntelligentTieringAccessTier { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for IntelligentTieringAccessTier { fn deserialize(deserializer: D) -> Result where @@ -10019,7 +9391,6 @@ impl std::convert::From<&str> for IntelligentTieringStatus { } } } - impl std::str::FromStr for IntelligentTieringStatus { type Err = std::convert::Infallible; @@ -10027,7 +9398,6 @@ impl std::str::FromStr for IntelligentTieringStatus { Ok(IntelligentTieringStatus::from(s)) } } - impl IntelligentTieringStatus { pub fn as_str(&self) -> &str { match self { @@ -10042,19 +9412,6 @@ impl AsRef for IntelligentTieringStatus { self.as_str() } } - -impl serde::Serialize for IntelligentTieringStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for IntelligentTieringStatus { fn deserialize(deserializer: D) -> Result where @@ -11066,7 +10423,6 @@ impl std::convert::From<&str> for AnalyticsS3ExportFileFormat { } } } - impl std::str::FromStr for AnalyticsS3ExportFileFormat { type Err = std::convert::Infallible; @@ -11074,7 +10430,6 @@ impl std::str::FromStr for AnalyticsS3ExportFileFormat { Ok(AnalyticsS3ExportFileFormat::from(s)) } } - impl AnalyticsS3ExportFileFormat { pub fn as_str(&self) -> &str { match self { @@ -11088,19 +10443,6 @@ impl AsRef for AnalyticsS3ExportFileFormat { self.as_str() } } - -impl serde::Serialize for AnalyticsS3ExportFileFormat { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AnalyticsS3ExportFileFormat { fn deserialize(deserializer: D) -> Result where @@ -11133,7 +10475,6 @@ impl std::convert::From<&str> for StorageClassAnalysisSchemaVersion { } } } - impl std::str::FromStr for StorageClassAnalysisSchemaVersion { type Err = std::convert::Infallible; @@ -11141,7 +10482,6 @@ impl std::str::FromStr for StorageClassAnalysisSchemaVersion { Ok(StorageClassAnalysisSchemaVersion::from(s)) } } - impl StorageClassAnalysisSchemaVersion { pub fn as_str(&self) -> &str { match self { @@ -11155,19 +10495,6 @@ impl AsRef for StorageClassAnalysisSchemaVersion { self.as_str() } } - -impl serde::Serialize for StorageClassAnalysisSchemaVersion { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StorageClassAnalysisSchemaVersion { fn deserialize(deserializer: D) -> Result where @@ -11319,7 +10646,6 @@ impl std::convert::From<&str> for BucketCannedACL { } } } - impl std::str::FromStr for BucketCannedACL { type Err = std::convert::Infallible; @@ -11327,7 +10653,6 @@ impl std::str::FromStr for BucketCannedACL { Ok(BucketCannedACL::from(s)) } } - impl BucketCannedACL { pub fn as_str(&self) -> &str { match self { @@ -11344,19 +10669,6 @@ impl AsRef for BucketCannedACL { self.as_str() } } - -impl serde::Serialize for BucketCannedACL { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BucketCannedACL { fn deserialize(deserializer: D) -> Result where @@ -11443,7 +10755,6 @@ impl std::convert::From<&str> for BucketAccelerateStatus { } } } - impl std::str::FromStr for BucketAccelerateStatus { type Err = std::convert::Infallible; @@ -11451,7 +10762,6 @@ impl std::str::FromStr for BucketAccelerateStatus { Ok(BucketAccelerateStatus::from(s)) } } - impl BucketAccelerateStatus { pub fn as_str(&self) -> &str { match self { @@ -11466,19 +10776,6 @@ impl AsRef for BucketAccelerateStatus { self.as_str() } } - -impl serde::Serialize for BucketAccelerateStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BucketAccelerateStatus { fn deserialize(deserializer: D) -> Result where @@ -11673,7 +10970,6 @@ impl std::convert::From<&str> for EncodingType { } } } - impl std::str::FromStr for EncodingType { type Err = std::convert::Infallible; @@ -11681,7 +10977,6 @@ impl std::str::FromStr for EncodingType { Ok(EncodingType::from(s)) } } - impl EncodingType { pub fn as_str(&self) -> &str { match self { @@ -11695,19 +10990,6 @@ impl AsRef for EncodingType { self.as_str() } } - -impl serde::Serialize for EncodingType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for EncodingType { fn deserialize(deserializer: D) -> Result where @@ -12051,7 +11333,6 @@ impl std::convert::From<&str> for ObjectVersionStorageClass { } } } - impl std::str::FromStr for ObjectVersionStorageClass { type Err = std::convert::Infallible; @@ -12059,7 +11340,6 @@ impl std::str::FromStr for ObjectVersionStorageClass { Ok(ObjectVersionStorageClass::from(s)) } } - impl ObjectVersionStorageClass { pub fn as_str(&self) -> &str { match self { @@ -12073,19 +11353,6 @@ impl AsRef for ObjectVersionStorageClass { self.as_str() } } - -impl serde::Serialize for ObjectVersionStorageClass { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectVersionStorageClass { fn deserialize(deserializer: D) -> Result where @@ -12295,7 +11562,6 @@ impl std::convert::From<&str> for ObjectStorageClass { } } } - impl std::str::FromStr for ObjectStorageClass { type Err = std::convert::Infallible; @@ -12303,7 +11569,6 @@ impl std::str::FromStr for ObjectStorageClass { Ok(ObjectStorageClass::from(s)) } } - impl ObjectStorageClass { pub fn as_str(&self) -> &str { match self { @@ -12324,19 +11589,6 @@ impl AsRef for ObjectStorageClass { self.as_str() } } - -impl serde::Serialize for ObjectStorageClass { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ObjectStorageClass { fn deserialize(deserializer: D) -> Result where @@ -12556,7 +11808,6 @@ impl std::convert::From<&str> for ArchiveStatus { } } } - impl std::str::FromStr for ArchiveStatus { type Err = std::convert::Infallible; @@ -12564,7 +11815,6 @@ impl std::str::FromStr for ArchiveStatus { Ok(ArchiveStatus::from(s)) } } - impl ArchiveStatus { pub fn as_str(&self) -> &str { match self { @@ -12579,19 +11829,6 @@ impl AsRef for ArchiveStatus { self.as_str() } } - -impl serde::Serialize for ArchiveStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ArchiveStatus { fn deserialize(deserializer: D) -> Result where @@ -12626,7 +11863,6 @@ impl std::convert::From<&str> for MFADeleteStatus { } } } - impl std::str::FromStr for MFADeleteStatus { type Err = std::convert::Infallible; @@ -12634,7 +11870,6 @@ impl std::str::FromStr for MFADeleteStatus { Ok(MFADeleteStatus::from(s)) } } - impl MFADeleteStatus { pub fn as_str(&self) -> &str { match self { @@ -12649,19 +11884,6 @@ impl AsRef for MFADeleteStatus { self.as_str() } } - -impl serde::Serialize for MFADeleteStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MFADeleteStatus { fn deserialize(deserializer: D) -> Result where @@ -12791,7 +12013,6 @@ impl std::convert::From<&str> for BucketLocationConstraint { } } } - impl std::str::FromStr for BucketLocationConstraint { type Err = std::convert::Infallible; @@ -12799,7 +12020,6 @@ impl std::str::FromStr for BucketLocationConstraint { Ok(BucketLocationConstraint::from(s)) } } - impl BucketLocationConstraint { pub fn as_str(&self) -> &str { match self { @@ -12837,19 +12057,6 @@ impl AsRef for BucketLocationConstraint { self.as_str() } } - -impl serde::Serialize for BucketLocationConstraint { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for BucketLocationConstraint { fn deserialize(deserializer: D) -> Result where @@ -17063,7 +16270,6 @@ impl std::convert::From<&str> for TaggingDirective { } } } - impl std::str::FromStr for TaggingDirective { type Err = std::convert::Infallible; @@ -17071,7 +16277,6 @@ impl std::str::FromStr for TaggingDirective { Ok(TaggingDirective::from(s)) } } - impl TaggingDirective { pub fn as_str(&self) -> &str { match self { @@ -17086,19 +16291,6 @@ impl AsRef for TaggingDirective { self.as_str() } } - -impl serde::Serialize for TaggingDirective { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for TaggingDirective { fn deserialize(deserializer: D) -> Result where @@ -17133,7 +16325,6 @@ impl std::convert::From<&str> for MetadataDirective { } } } - impl std::str::FromStr for MetadataDirective { type Err = std::convert::Infallible; @@ -17141,7 +16332,6 @@ impl std::str::FromStr for MetadataDirective { Ok(MetadataDirective::from(s)) } } - impl MetadataDirective { pub fn as_str(&self) -> &str { match self { @@ -17156,19 +16346,6 @@ impl AsRef for MetadataDirective { self.as_str() } } - -impl serde::Serialize for MetadataDirective { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MetadataDirective { fn deserialize(deserializer: D) -> Result where diff --git a/sdk/s3/src/operation.rs b/sdk/s3/src/operation.rs index 89df19cd4eba..d578187b5b45 100644 --- a/sdk/s3/src/operation.rs +++ b/sdk/s3/src/operation.rs @@ -38,7 +38,7 @@ ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AbortMultipartUpload { _private: (), } @@ -51,7 +51,6 @@ impl AbortMultipartUpload { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for AbortMultipartUpload { type Output = Result; @@ -171,7 +170,7 @@ impl smithy_http::response::ParseStrictResponse for AbortMultipartUpload { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CompleteMultipartUpload { _private: (), } @@ -184,7 +183,6 @@ impl CompleteMultipartUpload { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CompleteMultipartUpload { type Output = Result< crate::output::CompleteMultipartUploadOutput, @@ -366,7 +364,7 @@ impl smithy_http::response::ParseStrictResponse for CompleteMultipartUpload { /// ///

    For more information, see Copying /// Objects.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CopyObject { _private: (), } @@ -379,7 +377,6 @@ impl CopyObject { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CopyObject { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -500,7 +497,7 @@ impl smithy_http::response::ParseStrictResponse for CopyObject { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateBucket { _private: (), } @@ -513,7 +510,6 @@ impl CreateBucket { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateBucket { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -775,7 +771,7 @@ impl smithy_http::response::ParseStrictResponse for CreateBucket { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateMultipartUpload { _private: (), } @@ -788,7 +784,6 @@ impl CreateMultipartUpload { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateMultipartUpload { type Output = Result< crate::output::CreateMultipartUploadOutput, @@ -820,7 +815,7 @@ impl smithy_http::response::ParseStrictResponse for CreateMultipartUpload { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucket { _private: (), } @@ -833,7 +828,6 @@ impl DeleteBucket { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucket { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -873,7 +867,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucket { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketAnalyticsConfiguration { _private: (), } @@ -886,7 +880,6 @@ impl DeleteBucketAnalyticsConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketAnalyticsConfiguration { type Output = Result< crate::output::DeleteBucketAnalyticsConfigurationOutput, @@ -922,7 +915,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketAnalyticsConfigu ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketCors { _private: (), } @@ -935,7 +928,6 @@ impl DeleteBucketCors { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketCors { type Output = Result; @@ -971,7 +963,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketCors { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketEncryption { _private: (), } @@ -984,7 +976,6 @@ impl DeleteBucketEncryption { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketEncryption { type Output = Result< crate::output::DeleteBucketEncryptionOutput, @@ -1022,7 +1013,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketEncryption { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketIntelligentTieringConfiguration { _private: (), } @@ -1036,7 +1027,6 @@ impl DeleteBucketIntelligentTieringConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketIntelligentTieringConfiguration { type Output = Result< crate::output::DeleteBucketIntelligentTieringConfigurationOutput, @@ -1081,7 +1071,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketIntelligentTieri ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketInventoryConfiguration { _private: (), } @@ -1094,7 +1084,6 @@ impl DeleteBucketInventoryConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketInventoryConfiguration { type Output = Result< crate::output::DeleteBucketInventoryConfigurationOutput, @@ -1133,7 +1122,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketInventoryConfigu ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketLifecycle { _private: (), } @@ -1146,7 +1135,6 @@ impl DeleteBucketLifecycle { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketLifecycle { type Output = Result< crate::output::DeleteBucketLifecycleOutput, @@ -1195,7 +1183,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketLifecycle { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketMetricsConfiguration { _private: (), } @@ -1208,7 +1196,6 @@ impl DeleteBucketMetricsConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketMetricsConfiguration { type Output = Result< crate::output::DeleteBucketMetricsConfigurationOutput, @@ -1242,7 +1229,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketMetricsConfigura ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketOwnershipControls { _private: (), } @@ -1255,7 +1242,6 @@ impl DeleteBucketOwnershipControls { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketOwnershipControls { type Output = Result< crate::output::DeleteBucketOwnershipControlsOutput, @@ -1300,7 +1286,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketOwnershipControl ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketPolicy { _private: (), } @@ -1313,7 +1299,6 @@ impl DeleteBucketPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketPolicy { type Output = Result; @@ -1350,7 +1335,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketPolicy { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketReplication { _private: (), } @@ -1363,7 +1348,6 @@ impl DeleteBucketReplication { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketReplication { type Output = Result< crate::output::DeleteBucketReplicationOutput, @@ -1395,7 +1379,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketReplication { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketTagging { _private: (), } @@ -1408,7 +1392,6 @@ impl DeleteBucketTagging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketTagging { type Output = Result; @@ -1445,7 +1428,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketTagging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteBucketWebsite { _private: (), } @@ -1458,7 +1441,6 @@ impl DeleteBucketWebsite { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteBucketWebsite { type Output = Result; @@ -1497,7 +1479,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketWebsite { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteObject { _private: (), } @@ -1510,7 +1492,6 @@ impl DeleteObject { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteObject { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1574,7 +1555,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteObject { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteObjects { _private: (), } @@ -1587,7 +1568,6 @@ impl DeleteObjects { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteObjects { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1621,7 +1601,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteObjects { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteObjectTagging { _private: (), } @@ -1634,7 +1614,6 @@ impl DeleteObjectTagging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteObjectTagging { type Output = Result; @@ -1675,7 +1654,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteObjectTagging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeletePublicAccessBlock { _private: (), } @@ -1688,7 +1667,6 @@ impl DeletePublicAccessBlock { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeletePublicAccessBlock { type Output = Result< crate::output::DeletePublicAccessBlockOutput, @@ -1729,7 +1707,7 @@ impl smithy_http::response::ParseStrictResponse for DeletePublicAccessBlock { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketAccelerateConfiguration { _private: (), } @@ -1742,7 +1720,6 @@ impl GetBucketAccelerateConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketAccelerateConfiguration { type Output = Result< crate::output::GetBucketAccelerateConfigurationOutput, @@ -1772,7 +1749,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketAccelerateConfigura ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketAcl { _private: (), } @@ -1785,7 +1762,6 @@ impl GetBucketAcl { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketAcl { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1826,7 +1802,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketAcl { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketAnalyticsConfiguration { _private: (), } @@ -1839,7 +1815,6 @@ impl GetBucketAnalyticsConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketAnalyticsConfiguration { type Output = Result< crate::output::GetBucketAnalyticsConfigurationOutput, @@ -1872,7 +1847,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketAnalyticsConfigurat ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketCors { _private: (), } @@ -1885,7 +1860,6 @@ impl GetBucketCors { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketCors { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1919,7 +1893,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketCors { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketEncryption { _private: (), } @@ -1932,7 +1906,6 @@ impl GetBucketEncryption { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketEncryption { type Output = Result; @@ -1968,7 +1941,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketEncryption { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketIntelligentTieringConfiguration { _private: (), } @@ -1981,7 +1954,6 @@ impl GetBucketIntelligentTieringConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketIntelligentTieringConfiguration { type Output = Result< crate::output::GetBucketIntelligentTieringConfigurationOutput, @@ -2027,7 +1999,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketIntelligentTieringC ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketInventoryConfiguration { _private: (), } @@ -2040,7 +2012,6 @@ impl GetBucketInventoryConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketInventoryConfiguration { type Output = Result< crate::output::GetBucketInventoryConfigurationOutput, @@ -2109,7 +2080,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketInventoryConfigurat ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketLifecycleConfiguration { _private: (), } @@ -2122,7 +2093,6 @@ impl GetBucketLifecycleConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketLifecycleConfiguration { type Output = Result< crate::output::GetBucketLifecycleConfigurationOutput, @@ -2154,7 +2124,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketLifecycleConfigurat ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketLocation { _private: (), } @@ -2167,7 +2137,6 @@ impl GetBucketLocation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketLocation { type Output = Result; @@ -2195,7 +2164,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketLocation { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketLogging { _private: (), } @@ -2208,7 +2177,6 @@ impl GetBucketLogging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketLogging { type Output = Result; @@ -2255,7 +2223,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketLogging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketMetricsConfiguration { _private: (), } @@ -2268,7 +2236,6 @@ impl GetBucketMetricsConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketMetricsConfiguration { type Output = Result< crate::output::GetBucketMetricsConfigurationOutput, @@ -2301,7 +2268,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketMetricsConfiguratio ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketNotificationConfiguration { _private: (), } @@ -2314,7 +2281,6 @@ impl GetBucketNotificationConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketNotificationConfiguration { type Output = Result< crate::output::GetBucketNotificationConfigurationOutput, @@ -2347,7 +2313,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketNotificationConfigu ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketOwnershipControls { _private: (), } @@ -2360,7 +2326,6 @@ impl GetBucketOwnershipControls { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketOwnershipControls { type Output = Result< crate::output::GetBucketOwnershipControlsOutput, @@ -2398,7 +2363,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketOwnershipControls { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketPolicy { _private: (), } @@ -2411,7 +2376,6 @@ impl GetBucketPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketPolicy { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2452,7 +2416,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketPolicy { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketPolicyStatus { _private: (), } @@ -2465,7 +2429,6 @@ impl GetBucketPolicyStatus { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketPolicyStatus { type Output = Result< crate::output::GetBucketPolicyStatusOutput, @@ -2510,7 +2473,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketPolicyStatus { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketReplication { _private: (), } @@ -2523,7 +2486,6 @@ impl GetBucketReplication { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketReplication { type Output = Result; @@ -2546,7 +2508,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketReplication { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketRequestPayment { _private: (), } @@ -2559,7 +2521,6 @@ impl GetBucketRequestPayment { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketRequestPayment { type Output = Result< crate::output::GetBucketRequestPaymentOutput, @@ -2604,7 +2565,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketRequestPayment { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketTagging { _private: (), } @@ -2617,7 +2578,6 @@ impl GetBucketTagging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketTagging { type Output = Result; @@ -2653,7 +2613,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketTagging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketVersioning { _private: (), } @@ -2666,7 +2626,6 @@ impl GetBucketVersioning { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketVersioning { type Output = Result; @@ -2700,7 +2659,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketVersioning { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetBucketWebsite { _private: (), } @@ -2713,7 +2672,6 @@ impl GetBucketWebsite { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetBucketWebsite { type Output = Result; @@ -2880,7 +2838,7 @@ impl smithy_http::response::ParseStrictResponse for GetBucketWebsite { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObject { _private: (), } @@ -2893,7 +2851,6 @@ impl GetObject { Self { _private: () } } } - impl smithy_http::response::ParseHttpResponse for GetObject { type Output = Result; fn parse_unloaded( @@ -2938,7 +2895,7 @@ impl smithy_http::response::ParseHttpResponse for Ge ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObjectAcl { _private: (), } @@ -2951,7 +2908,6 @@ impl GetObjectAcl { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetObjectAcl { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2965,7 +2921,7 @@ impl smithy_http::response::ParseStrictResponse for GetObjectAcl { ///

    Gets an object's current Legal Hold status. For more information, see Locking Objects.

    ///

    This action is not supported by Amazon S3 on Outposts.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObjectLegalHold { _private: (), } @@ -2978,7 +2934,6 @@ impl GetObjectLegalHold { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetObjectLegalHold { type Output = Result; @@ -2995,7 +2950,7 @@ impl smithy_http::response::ParseStrictResponse for GetObjectLegalHold { /// configuration will be applied by default to every new object placed in the specified /// bucket. For more information, see Locking /// Objects.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObjectLockConfiguration { _private: (), } @@ -3008,7 +2963,6 @@ impl GetObjectLockConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetObjectLockConfiguration { type Output = Result< crate::output::GetObjectLockConfigurationOutput, @@ -3025,7 +2979,7 @@ impl smithy_http::response::ParseStrictResponse for GetObjectLockConfiguration { ///

    Retrieves an object's retention settings. For more information, see Locking Objects.

    ///

    This action is not supported by Amazon S3 on Outposts.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObjectRetention { _private: (), } @@ -3038,7 +2992,6 @@ impl GetObjectRetention { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetObjectRetention { type Output = Result; @@ -3075,7 +3028,7 @@ impl smithy_http::response::ParseStrictResponse for GetObjectRetention { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObjectTagging { _private: (), } @@ -3088,7 +3041,6 @@ impl GetObjectTagging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetObjectTagging { type Output = Result; @@ -3118,7 +3070,7 @@ impl smithy_http::response::ParseStrictResponse for GetObjectTagging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetObjectTorrent { _private: (), } @@ -3131,7 +3083,6 @@ impl GetObjectTorrent { Self { _private: () } } } - impl smithy_http::response::ParseHttpResponse for GetObjectTorrent { type Output = Result; @@ -3188,7 +3139,7 @@ impl smithy_http::response::ParseHttpResponse for Ge ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetPublicAccessBlock { _private: (), } @@ -3201,7 +3152,6 @@ impl GetPublicAccessBlock { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetPublicAccessBlock { type Output = Result; @@ -3224,7 +3174,7 @@ impl smithy_http::response::ParseStrictResponse for GetPublicAccessBlock { /// s3:ListBucket action. The bucket owner has this permission by default and /// can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 /// Resources.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct HeadBucket { _private: (), } @@ -3237,7 +3187,6 @@ impl HeadBucket { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for HeadBucket { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3354,7 +3303,7 @@ impl smithy_http::response::ParseStrictResponse for HeadBucket { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct HeadObject { _private: (), } @@ -3367,7 +3316,6 @@ impl HeadObject { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for HeadObject { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3415,7 +3363,7 @@ impl smithy_http::response::ParseStrictResponse for HeadObject { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListBucketAnalyticsConfigurations { _private: (), } @@ -3428,7 +3376,6 @@ impl ListBucketAnalyticsConfigurations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListBucketAnalyticsConfigurations { type Output = Result< crate::output::ListBucketAnalyticsConfigurationsOutput, @@ -3466,7 +3413,7 @@ impl smithy_http::response::ParseStrictResponse for ListBucketAnalyticsConfigura ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListBucketIntelligentTieringConfigurations { _private: (), } @@ -3480,7 +3427,6 @@ impl ListBucketIntelligentTieringConfigurations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListBucketIntelligentTieringConfigurations { type Output = Result< crate::output::ListBucketIntelligentTieringConfigurationsOutput, @@ -3534,7 +3480,7 @@ impl smithy_http::response::ParseStrictResponse for ListBucketIntelligentTiering ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListBucketInventoryConfigurations { _private: (), } @@ -3547,7 +3493,6 @@ impl ListBucketInventoryConfigurations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListBucketInventoryConfigurations { type Output = Result< crate::output::ListBucketInventoryConfigurationsOutput, @@ -3599,7 +3544,7 @@ impl smithy_http::response::ParseStrictResponse for ListBucketInventoryConfigura ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListBucketMetricsConfigurations { _private: (), } @@ -3612,7 +3557,6 @@ impl ListBucketMetricsConfigurations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListBucketMetricsConfigurations { type Output = Result< crate::output::ListBucketMetricsConfigurationsOutput, @@ -3628,7 +3572,7 @@ impl smithy_http::response::ParseStrictResponse for ListBucketMetricsConfigurati } ///

    Returns a list of all buckets owned by the authenticated sender of the request.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListBuckets { _private: (), } @@ -3641,7 +3585,6 @@ impl ListBuckets { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListBuckets { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3699,7 +3642,7 @@ impl smithy_http::response::ParseStrictResponse for ListBuckets { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListMultipartUploads { _private: (), } @@ -3712,7 +3655,6 @@ impl ListMultipartUploads { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListMultipartUploads { type Output = Result; @@ -3761,7 +3703,7 @@ impl smithy_http::response::ParseStrictResponse for ListMultipartUploads { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListObjects { _private: (), } @@ -3774,7 +3716,6 @@ impl ListObjects { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListObjects { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3824,7 +3765,7 @@ impl smithy_http::response::ParseStrictResponse for ListObjects { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListObjectsV2 { _private: (), } @@ -3837,7 +3778,6 @@ impl ListObjectsV2 { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListObjectsV2 { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -3888,7 +3828,7 @@ impl smithy_http::response::ParseStrictResponse for ListObjectsV2 { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListObjectVersions { _private: (), } @@ -3901,7 +3841,6 @@ impl ListObjectVersions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListObjectVersions { type Output = Result; @@ -3956,7 +3895,7 @@ impl smithy_http::response::ParseStrictResponse for ListObjectVersions { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListParts { _private: (), } @@ -3969,7 +3908,6 @@ impl ListParts { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListParts { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4019,7 +3957,7 @@ impl smithy_http::response::ParseStrictResponse for ListParts { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketAccelerateConfiguration { _private: (), } @@ -4032,7 +3970,6 @@ impl PutBucketAccelerateConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketAccelerateConfiguration { type Output = Result< crate::output::PutBucketAccelerateConfigurationOutput, @@ -4230,7 +4167,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketAccelerateConfigura ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketAcl { _private: (), } @@ -4243,7 +4180,6 @@ impl PutBucketAcl { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketAcl { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4360,7 +4296,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketAcl { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketAnalyticsConfiguration { _private: (), } @@ -4373,7 +4309,6 @@ impl PutBucketAnalyticsConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketAnalyticsConfiguration { type Output = Result< crate::output::PutBucketAnalyticsConfigurationOutput, @@ -4444,7 +4379,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketAnalyticsConfigurat ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketCors { _private: (), } @@ -4457,7 +4392,6 @@ impl PutBucketCors { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketCors { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -4501,7 +4435,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketCors { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketEncryption { _private: (), } @@ -4514,7 +4448,6 @@ impl PutBucketEncryption { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketEncryption { type Output = Result; @@ -4609,7 +4542,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketEncryption { /// /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketIntelligentTieringConfiguration { _private: (), } @@ -4622,7 +4555,6 @@ impl PutBucketIntelligentTieringConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketIntelligentTieringConfiguration { type Output = Result< crate::output::PutBucketIntelligentTieringConfigurationOutput, @@ -4740,7 +4672,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketIntelligentTieringC ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketInventoryConfiguration { _private: (), } @@ -4753,7 +4685,6 @@ impl PutBucketInventoryConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketInventoryConfiguration { type Output = Result< crate::output::PutBucketInventoryConfigurationOutput, @@ -4847,7 +4778,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketInventoryConfigurat ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketLifecycleConfiguration { _private: (), } @@ -4860,7 +4791,6 @@ impl PutBucketLifecycleConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketLifecycleConfiguration { type Output = Result< crate::output::PutBucketLifecycleConfigurationOutput, @@ -4946,7 +4876,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketLifecycleConfigurat ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketLogging { _private: (), } @@ -4959,7 +4889,6 @@ impl PutBucketLogging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketLogging { type Output = Result; @@ -5019,7 +4948,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketLogging { /// /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketMetricsConfiguration { _private: (), } @@ -5032,7 +4961,6 @@ impl PutBucketMetricsConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketMetricsConfiguration { type Output = Result< crate::output::PutBucketMetricsConfigurationOutput, @@ -5100,7 +5028,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketMetricsConfiguratio ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketNotificationConfiguration { _private: (), } @@ -5113,7 +5041,6 @@ impl PutBucketNotificationConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketNotificationConfiguration { type Output = Result< crate::output::PutBucketNotificationConfigurationOutput, @@ -5145,7 +5072,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketNotificationConfigu ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketOwnershipControls { _private: (), } @@ -5158,7 +5085,6 @@ impl PutBucketOwnershipControls { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketOwnershipControls { type Output = Result< crate::output::PutBucketOwnershipControlsOutput, @@ -5201,7 +5127,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketOwnershipControls { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketPolicy { _private: (), } @@ -5214,7 +5140,6 @@ impl PutBucketPolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketPolicy { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5282,7 +5207,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketPolicy { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketReplication { _private: (), } @@ -5295,7 +5220,6 @@ impl PutBucketReplication { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketReplication { type Output = Result; @@ -5326,7 +5250,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketReplication { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketRequestPayment { _private: (), } @@ -5339,7 +5263,6 @@ impl PutBucketRequestPayment { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketRequestPayment { type Output = Result< crate::output::PutBucketRequestPaymentOutput, @@ -5428,7 +5351,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketRequestPayment { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketTagging { _private: (), } @@ -5441,7 +5364,6 @@ impl PutBucketTagging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketTagging { type Output = Result; @@ -5497,7 +5419,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketTagging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketVersioning { _private: (), } @@ -5510,7 +5432,6 @@ impl PutBucketVersioning { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketVersioning { type Output = Result; @@ -5645,7 +5566,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketVersioning { ///

    Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more /// than 50 routing rules, you can use object redirect. For more information, see Configuring an /// Object Redirect in the Amazon S3 User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutBucketWebsite { _private: (), } @@ -5658,7 +5579,6 @@ impl PutBucketWebsite { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutBucketWebsite { type Output = Result; @@ -5744,7 +5664,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketWebsite { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObject { _private: (), } @@ -5757,7 +5677,6 @@ impl PutObject { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutObject { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5942,7 +5861,7 @@ impl smithy_http::response::ParseStrictResponse for PutObject { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObjectAcl { _private: (), } @@ -5955,7 +5874,6 @@ impl PutObjectAcl { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutObjectAcl { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5971,7 +5889,7 @@ impl smithy_http::response::ParseStrictResponse for PutObjectAcl { /// Locking /// Objects.

    ///

    This action is not supported by Amazon S3 on Outposts.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObjectLegalHold { _private: (), } @@ -5984,7 +5902,6 @@ impl PutObjectLegalHold { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutObjectLegalHold { type Output = Result; @@ -6018,7 +5935,7 @@ impl smithy_http::response::ParseStrictResponse for PutObjectLegalHold { /// /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObjectLockConfiguration { _private: (), } @@ -6031,7 +5948,6 @@ impl PutObjectLockConfiguration { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutObjectLockConfiguration { type Output = Result< crate::output::PutObjectLockConfigurationOutput, @@ -6049,7 +5965,7 @@ impl smithy_http::response::ParseStrictResponse for PutObjectLockConfiguration { ///

    Places an Object Retention configuration on an object. For more information, see Locking Objects. ///

    ///

    This action is not supported by Amazon S3 on Outposts.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObjectRetention { _private: (), } @@ -6062,7 +5978,6 @@ impl PutObjectRetention { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutObjectRetention { type Output = Result; @@ -6167,7 +6082,7 @@ impl smithy_http::response::ParseStrictResponse for PutObjectRetention { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObjectTagging { _private: (), } @@ -6180,7 +6095,6 @@ impl PutObjectTagging { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutObjectTagging { type Output = Result; @@ -6232,7 +6146,7 @@ impl smithy_http::response::ParseStrictResponse for PutObjectTagging { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutPublicAccessBlock { _private: (), } @@ -6245,7 +6159,6 @@ impl PutPublicAccessBlock { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutPublicAccessBlock { type Output = Result; @@ -6549,7 +6462,7 @@ impl smithy_http::response::ParseStrictResponse for PutPublicAccessBlock { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RestoreObject { _private: (), } @@ -6562,7 +6475,6 @@ impl RestoreObject { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RestoreObject { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6694,7 +6606,7 @@ impl smithy_http::response::ParseStrictResponse for RestoreObject { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UploadPart { _private: (), } @@ -6707,7 +6619,6 @@ impl UploadPart { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UploadPart { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6888,7 +6799,7 @@ impl smithy_http::response::ParseStrictResponse for UploadPart { ///

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UploadPartCopy { _private: (), } @@ -6901,7 +6812,6 @@ impl UploadPartCopy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UploadPartCopy { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6933,7 +6843,7 @@ impl smithy_http::response::ParseStrictResponse for UploadPartCopy { ///

    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.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct WriteGetObjectResponse { _private: (), } @@ -6946,7 +6856,6 @@ impl WriteGetObjectResponse { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for WriteGetObjectResponse { type Output = Result< crate::output::WriteGetObjectResponseOutput, diff --git a/sdk/s3/src/operation_deser.rs b/sdk/s3/src/operation_deser.rs index 66807951ea47..4d16b4afe6d4 100644 --- a/sdk/s3/src/operation_deser.rs +++ b/sdk/s3/src/operation_deser.rs @@ -5,7 +5,6 @@ pub fn parse_abort_multipart_upload_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::AbortMultipartUploadError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::AbortMultipartUploadError::unhandled(generic)), @@ -67,7 +66,7 @@ pub fn parse_complete_multipart_upload_response( #[allow(unused_mut)] let mut output = crate::output::complete_multipart_upload_output::Builder::default(); let _ = response; - output = crate::xml_deser::complete_multipart_upload_deser_operation( + output = crate::xml_deser::deser_operation_complete_multipart_upload( response.body().as_ref(), output, ) @@ -83,10 +82,8 @@ pub fn parse_complete_multipart_upload_response( })?, ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_complete_multipart_upload_server_side_encryption(response.headers()) + crate::http_serde::deser_header_complete_multipart_upload_server_side_encryption(response.headers()) .map_err(|_|crate::error::CompleteMultipartUploadError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_version_id( crate::http_serde::deser_header_complete_multipart_upload_version_id( @@ -99,16 +96,12 @@ pub fn parse_complete_multipart_upload_response( })?, ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_complete_multipart_upload_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_complete_multipart_upload_ssekms_key_id(response.headers()) .map_err(|_|crate::error::CompleteMultipartUploadError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_complete_multipart_upload_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_complete_multipart_upload_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::CompleteMultipartUploadError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_request_charged( crate::http_serde::deser_header_complete_multipart_upload_request_charged( @@ -130,7 +123,6 @@ pub fn parse_copy_object_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::CopyObjectError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CopyObjectError::unhandled(generic)), @@ -177,10 +169,8 @@ pub fn parse_copy_object_response( )?, ); output = output.set_copy_source_version_id( - - crate::http_serde::deser_header_copy_object_copy_source_version_id(response.headers()) + crate::http_serde::deser_header_copy_object_copy_source_version_id(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse CopySourceVersionId from header `x-amz-copy-source-version-id"))? - ); output = output.set_version_id( crate::http_serde::deser_header_copy_object_version_id(response.headers()).map_err( @@ -192,40 +182,28 @@ pub fn parse_copy_object_response( )?, ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_copy_object_server_side_encryption(response.headers()) + crate::http_serde::deser_header_copy_object_server_side_encryption(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_copy_object_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_copy_object_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_copy_object_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_copy_object_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_copy_object_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_copy_object_ssekms_key_id(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_ssekms_encryption_context( - - crate::http_serde::deser_header_copy_object_ssekms_encryption_context(response.headers()) + crate::http_serde::deser_header_copy_object_ssekms_encryption_context(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse SSEKMSEncryptionContext from header `x-amz-server-side-encryption-context"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_copy_object_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_copy_object_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::CopyObjectError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_request_charged( crate::http_serde::deser_header_copy_object_request_charged(response.headers()) @@ -245,7 +223,6 @@ pub fn parse_create_bucket_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::CreateBucketError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateBucketError::unhandled(generic)), @@ -316,7 +293,7 @@ pub fn parse_create_multipart_upload_response( #[allow(unused_mut)] let mut output = crate::output::create_multipart_upload_output::Builder::default(); let _ = response; - output = crate::xml_deser::create_multipart_upload_deser_operation( + output = crate::xml_deser::deser_operation_create_multipart_upload( response.body().as_ref(), output, ) @@ -340,40 +317,28 @@ pub fn parse_create_multipart_upload_response( })?, ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_create_multipart_upload_server_side_encryption(response.headers()) + crate::http_serde::deser_header_create_multipart_upload_server_side_encryption(response.headers()) .map_err(|_|crate::error::CreateMultipartUploadError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_create_multipart_upload_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_create_multipart_upload_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::CreateMultipartUploadError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_create_multipart_upload_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_create_multipart_upload_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::CreateMultipartUploadError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_create_multipart_upload_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_create_multipart_upload_ssekms_key_id(response.headers()) .map_err(|_|crate::error::CreateMultipartUploadError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_ssekms_encryption_context( - - crate::http_serde::deser_header_create_multipart_upload_ssekms_encryption_context(response.headers()) + crate::http_serde::deser_header_create_multipart_upload_ssekms_encryption_context(response.headers()) .map_err(|_|crate::error::CreateMultipartUploadError::unhandled("Failed to parse SSEKMSEncryptionContext from header `x-amz-server-side-encryption-context"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_create_multipart_upload_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_create_multipart_upload_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::CreateMultipartUploadError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_request_charged( crate::http_serde::deser_header_create_multipart_upload_request_charged( @@ -766,7 +731,7 @@ pub fn parse_delete_objects_response( #[allow(unused_mut)] let mut output = crate::output::delete_objects_output::Builder::default(); let _ = response; - output = crate::xml_deser::delete_objects_deser_operation(response.body().as_ref(), output) + output = crate::xml_deser::deser_operation_delete_objects(response.body().as_ref(), output) .map_err(crate::error::DeleteObjectsError::unhandled)?; output = output.set_request_charged( crate::http_serde::deser_header_delete_objects_request_charged(response.headers()) @@ -856,7 +821,7 @@ pub fn parse_get_bucket_accelerate_configuration_response( let mut output = crate::output::get_bucket_accelerate_configuration_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_bucket_accelerate_configuration_deser_operation( + output = crate::xml_deser::deser_operation_get_bucket_accelerate_configuration( response.body().as_ref(), output, ) @@ -882,7 +847,7 @@ pub fn parse_get_bucket_acl_response( #[allow(unused_mut)] let mut output = crate::output::get_bucket_acl_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_bucket_acl_deser_operation(response.body().as_ref(), output) + output = crate::xml_deser::deser_operation_get_bucket_acl(response.body().as_ref(), output) .map_err(crate::error::GetBucketAclError::unhandled)?; output.build() }) @@ -939,7 +904,7 @@ pub fn parse_get_bucket_cors_response( let mut output = crate::output::get_bucket_cors_output::Builder::default(); let _ = response; output = - crate::xml_deser::get_bucket_cors_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_get_bucket_cors(response.body().as_ref(), output) .map_err(crate::error::GetBucketCorsError::unhandled)?; output.build() }) @@ -1059,7 +1024,7 @@ pub fn parse_get_bucket_lifecycle_configuration_response( let mut output = crate::output::get_bucket_lifecycle_configuration_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_bucket_lifecycle_configuration_deser_operation( + output = crate::xml_deser::deser_operation_get_bucket_lifecycle_configuration( response.body().as_ref(), output, ) @@ -1086,7 +1051,7 @@ pub fn parse_get_bucket_location_response( let mut output = crate::output::get_bucket_location_output::Builder::default(); let _ = response; output = - crate::xml_deser::get_bucket_location_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_get_bucket_location(response.body().as_ref(), output) .map_err(crate::error::GetBucketLocationError::unhandled)?; output.build() }) @@ -1110,7 +1075,7 @@ pub fn parse_get_bucket_logging_response( let mut output = crate::output::get_bucket_logging_output::Builder::default(); let _ = response; output = - crate::xml_deser::get_bucket_logging_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_get_bucket_logging(response.body().as_ref(), output) .map_err(crate::error::GetBucketLoggingError::unhandled)?; output.build() }) @@ -1172,7 +1137,7 @@ pub fn parse_get_bucket_notification_configuration_response( let mut output = crate::output::get_bucket_notification_configuration_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_bucket_notification_configuration_deser_operation( + output = crate::xml_deser::deser_operation_get_bucket_notification_configuration( response.body().as_ref(), output, ) @@ -1310,7 +1275,7 @@ pub fn parse_get_bucket_request_payment_response( #[allow(unused_mut)] let mut output = crate::output::get_bucket_request_payment_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_bucket_request_payment_deser_operation( + output = crate::xml_deser::deser_operation_get_bucket_request_payment( response.body().as_ref(), output, ) @@ -1337,7 +1302,7 @@ pub fn parse_get_bucket_tagging_response( let mut output = crate::output::get_bucket_tagging_output::Builder::default(); let _ = response; output = - crate::xml_deser::get_bucket_tagging_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_get_bucket_tagging(response.body().as_ref(), output) .map_err(crate::error::GetBucketTaggingError::unhandled)?; output.build() }) @@ -1360,7 +1325,7 @@ pub fn parse_get_bucket_versioning_response( #[allow(unused_mut)] let mut output = crate::output::get_bucket_versioning_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_bucket_versioning_deser_operation( + output = crate::xml_deser::deser_operation_get_bucket_versioning( response.body().as_ref(), output, ) @@ -1387,7 +1352,7 @@ pub fn parse_get_bucket_website_response( let mut output = crate::output::get_bucket_website_output::Builder::default(); let _ = response; output = - crate::xml_deser::get_bucket_website_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_get_bucket_website(response.body().as_ref(), output) .map_err(crate::error::GetBucketWebsiteError::unhandled)?; output.build() }) @@ -1542,16 +1507,12 @@ pub fn parse_get_object( )?, ); output = output.set_website_redirect_location( - - crate::http_serde::deser_header_get_object_website_redirect_location(response.headers()) + crate::http_serde::deser_header_get_object_website_redirect_location(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse WebsiteRedirectLocation from header `x-amz-website-redirect-location"))? - ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_get_object_server_side_encryption(response.headers()) + crate::http_serde::deser_header_get_object_server_side_encryption(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_metadata( crate::http_serde::deser_prefix_header_get_object_metadata(response.headers()) @@ -1562,28 +1523,20 @@ pub fn parse_get_object( })?, ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_get_object_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_get_object_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_get_object_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_get_object_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_get_object_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_get_object_ssekms_key_id(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_get_object_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_get_object_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_storage_class( crate::http_serde::deser_header_get_object_storage_class(response.headers()).map_err( @@ -1637,16 +1590,12 @@ pub fn parse_get_object( })?, ); output = output.set_object_lock_retain_until_date( - - crate::http_serde::deser_header_get_object_object_lock_retain_until_date(response.headers()) + crate::http_serde::deser_header_get_object_object_lock_retain_until_date(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse ObjectLockRetainUntilDate from header `x-amz-object-lock-retain-until-date"))? - ); output = output.set_object_lock_legal_hold_status( - - crate::http_serde::deser_header_get_object_object_lock_legal_hold_status(response.headers()) + crate::http_serde::deser_header_get_object_object_lock_legal_hold_status(response.headers()) .map_err(|_|crate::error::GetObjectError::unhandled("Failed to parse ObjectLockLegalHoldStatus from header `x-amz-object-lock-legal-hold"))? - ); output.build() }) @@ -1658,7 +1607,6 @@ pub fn parse_get_object_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::GetObjectError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetObjectError::unhandled(generic)), @@ -1696,7 +1644,6 @@ pub fn parse_get_object_acl_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::GetObjectAclError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetObjectAclError::unhandled(generic)), @@ -1725,7 +1672,7 @@ pub fn parse_get_object_acl_response( #[allow(unused_mut)] let mut output = crate::output::get_object_acl_output::Builder::default(); let _ = response; - output = crate::xml_deser::get_object_acl_deser_operation(response.body().as_ref(), output) + output = crate::xml_deser::deser_operation_get_object_acl(response.body().as_ref(), output) .map_err(crate::error::GetObjectAclError::unhandled)?; output = output.set_request_charged( crate::http_serde::deser_header_get_object_acl_request_charged(response.headers()) @@ -1841,7 +1788,7 @@ pub fn parse_get_object_tagging_response( let mut output = crate::output::get_object_tagging_output::Builder::default(); let _ = response; output = - crate::xml_deser::get_object_tagging_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_get_object_tagging(response.body().as_ref(), output) .map_err(crate::error::GetObjectTaggingError::unhandled)?; output = output.set_version_id( crate::http_serde::deser_header_get_object_tagging_version_id(response.headers()) @@ -1917,7 +1864,6 @@ pub fn parse_head_bucket_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::HeadBucketError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::HeadBucketError::unhandled(generic)), @@ -1956,7 +1902,6 @@ pub fn parse_head_object_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::HeadObjectError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::HeadObjectError::unhandled(generic)), @@ -2125,16 +2070,12 @@ pub fn parse_head_object_response( )?, ); output = output.set_website_redirect_location( - - crate::http_serde::deser_header_head_object_website_redirect_location(response.headers()) + crate::http_serde::deser_header_head_object_website_redirect_location(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse WebsiteRedirectLocation from header `x-amz-website-redirect-location"))? - ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_head_object_server_side_encryption(response.headers()) + crate::http_serde::deser_header_head_object_server_side_encryption(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_metadata( crate::http_serde::deser_prefix_header_head_object_metadata(response.headers()) @@ -2145,28 +2086,20 @@ pub fn parse_head_object_response( })?, ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_head_object_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_head_object_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_head_object_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_head_object_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_head_object_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_head_object_ssekms_key_id(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_head_object_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_head_object_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_storage_class( crate::http_serde::deser_header_head_object_storage_class(response.headers()).map_err( @@ -2211,16 +2144,12 @@ pub fn parse_head_object_response( })?, ); output = output.set_object_lock_retain_until_date( - - crate::http_serde::deser_header_head_object_object_lock_retain_until_date(response.headers()) + crate::http_serde::deser_header_head_object_object_lock_retain_until_date(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse ObjectLockRetainUntilDate from header `x-amz-object-lock-retain-until-date"))? - ); output = output.set_object_lock_legal_hold_status( - - crate::http_serde::deser_header_head_object_object_lock_legal_hold_status(response.headers()) + crate::http_serde::deser_header_head_object_object_lock_legal_hold_status(response.headers()) .map_err(|_|crate::error::HeadObjectError::unhandled("Failed to parse ObjectLockLegalHoldStatus from header `x-amz-object-lock-legal-hold"))? - ); output.build() }) @@ -2250,7 +2179,7 @@ pub fn parse_list_bucket_analytics_configurations_response( let mut output = crate::output::list_bucket_analytics_configurations_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_bucket_analytics_configurations_deser_operation( + output = crate::xml_deser::deser_operation_list_bucket_analytics_configurations( response.body().as_ref(), output, ) @@ -2284,7 +2213,7 @@ pub fn parse_list_bucket_intelligent_tiering_configurations_response( crate::output::list_bucket_intelligent_tiering_configurations_output::Builder::default( ); let _ = response; - output = crate::xml_deser::list_bucket_intelligent_tiering_configurations_deser_operation( + output = crate::xml_deser::deser_operation_list_bucket_intelligent_tiering_configurations( response.body().as_ref(), output, ) @@ -2317,7 +2246,7 @@ pub fn parse_list_bucket_inventory_configurations_response( let mut output = crate::output::list_bucket_inventory_configurations_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_bucket_inventory_configurations_deser_operation( + output = crate::xml_deser::deser_operation_list_bucket_inventory_configurations( response.body().as_ref(), output, ) @@ -2352,7 +2281,7 @@ pub fn parse_list_bucket_metrics_configurations_response( let mut output = crate::output::list_bucket_metrics_configurations_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_bucket_metrics_configurations_deser_operation( + output = crate::xml_deser::deser_operation_list_bucket_metrics_configurations( response.body().as_ref(), output, ) @@ -2378,7 +2307,7 @@ pub fn parse_list_buckets_response( #[allow(unused_mut)] let mut output = crate::output::list_buckets_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_buckets_deser_operation(response.body().as_ref(), output) + output = crate::xml_deser::deser_operation_list_buckets(response.body().as_ref(), output) .map_err(crate::error::ListBucketsError::unhandled)?; output.build() }) @@ -2401,7 +2330,7 @@ pub fn parse_list_multipart_uploads_response( #[allow(unused_mut)] let mut output = crate::output::list_multipart_uploads_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_multipart_uploads_deser_operation( + output = crate::xml_deser::deser_operation_list_multipart_uploads( response.body().as_ref(), output, ) @@ -2416,7 +2345,6 @@ pub fn parse_list_objects_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::ListObjectsError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListObjectsError::unhandled(generic)), @@ -2445,7 +2373,7 @@ pub fn parse_list_objects_response( #[allow(unused_mut)] let mut output = crate::output::list_objects_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_objects_deser_operation(response.body().as_ref(), output) + output = crate::xml_deser::deser_operation_list_objects(response.body().as_ref(), output) .map_err(crate::error::ListObjectsError::unhandled)?; output.build() }) @@ -2457,7 +2385,6 @@ pub fn parse_list_objects_v2_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::ListObjectsV2Error::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListObjectsV2Error::unhandled(generic)), @@ -2487,7 +2414,7 @@ pub fn parse_list_objects_v2_response( let mut output = crate::output::list_objects_v2_output::Builder::default(); let _ = response; output = - crate::xml_deser::list_objects_v2_deser_operation(response.body().as_ref(), output) + crate::xml_deser::deser_operation_list_objects_v2(response.body().as_ref(), output) .map_err(crate::error::ListObjectsV2Error::unhandled)?; output.build() }) @@ -2510,7 +2437,7 @@ pub fn parse_list_object_versions_response( #[allow(unused_mut)] let mut output = crate::output::list_object_versions_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_object_versions_deser_operation( + output = crate::xml_deser::deser_operation_list_object_versions( response.body().as_ref(), output, ) @@ -2536,7 +2463,7 @@ pub fn parse_list_parts_response( #[allow(unused_mut)] let mut output = crate::output::list_parts_output::Builder::default(); let _ = response; - output = crate::xml_deser::list_parts_deser_operation(response.body().as_ref(), output) + output = crate::xml_deser::deser_operation_list_parts(response.body().as_ref(), output) .map_err(crate::error::ListPartsError::unhandled)?; output = output.set_abort_date( crate::http_serde::deser_header_list_parts_abort_date(response.headers()).map_err( @@ -3044,10 +2971,8 @@ pub fn parse_put_object_response( })?, ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_put_object_server_side_encryption(response.headers()) + crate::http_serde::deser_header_put_object_server_side_encryption(response.headers()) .map_err(|_|crate::error::PutObjectError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_version_id( crate::http_serde::deser_header_put_object_version_id(response.headers()).map_err( @@ -3059,34 +2984,24 @@ pub fn parse_put_object_response( )?, ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_put_object_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_put_object_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::PutObjectError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_put_object_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_put_object_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::PutObjectError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_put_object_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_put_object_ssekms_key_id(response.headers()) .map_err(|_|crate::error::PutObjectError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_ssekms_encryption_context( - - crate::http_serde::deser_header_put_object_ssekms_encryption_context(response.headers()) + crate::http_serde::deser_header_put_object_ssekms_encryption_context(response.headers()) .map_err(|_|crate::error::PutObjectError::unhandled("Failed to parse SSEKMSEncryptionContext from header `x-amz-server-side-encryption-context"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_put_object_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_put_object_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::PutObjectError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_request_charged( crate::http_serde::deser_header_put_object_request_charged(response.headers()) @@ -3106,7 +3021,6 @@ pub fn parse_put_object_acl_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::PutObjectAclError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutObjectAclError::unhandled(generic)), @@ -3304,7 +3218,6 @@ pub fn parse_restore_object_error( ) -> Result { let generic = crate::xml_deser::parse_generic_error(&response) .map_err(crate::error::RestoreObjectError::unhandled)?; - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RestoreObjectError::unhandled(generic)), @@ -3375,10 +3288,8 @@ pub fn parse_upload_part_response( let mut output = crate::output::upload_part_output::Builder::default(); let _ = response; output = output.set_server_side_encryption( - - crate::http_serde::deser_header_upload_part_server_side_encryption(response.headers()) + crate::http_serde::deser_header_upload_part_server_side_encryption(response.headers()) .map_err(|_|crate::error::UploadPartError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_e_tag( crate::http_serde::deser_header_upload_part_e_tag(response.headers()).map_err( @@ -3390,28 +3301,20 @@ pub fn parse_upload_part_response( )?, ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_upload_part_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_upload_part_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::UploadPartError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_upload_part_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_upload_part_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::UploadPartError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_upload_part_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_upload_part_ssekms_key_id(response.headers()) .map_err(|_|crate::error::UploadPartError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_upload_part_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_upload_part_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::UploadPartError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_request_charged( crate::http_serde::deser_header_upload_part_request_charged(response.headers()) @@ -3458,34 +3361,24 @@ pub fn parse_upload_part_copy_response( )?, ); output = output.set_server_side_encryption( - - crate::http_serde::deser_header_upload_part_copy_server_side_encryption(response.headers()) + crate::http_serde::deser_header_upload_part_copy_server_side_encryption(response.headers()) .map_err(|_|crate::error::UploadPartCopyError::unhandled("Failed to parse ServerSideEncryption from header `x-amz-server-side-encryption"))? - ); output = output.set_sse_customer_algorithm( - - crate::http_serde::deser_header_upload_part_copy_sse_customer_algorithm(response.headers()) + crate::http_serde::deser_header_upload_part_copy_sse_customer_algorithm(response.headers()) .map_err(|_|crate::error::UploadPartCopyError::unhandled("Failed to parse SSECustomerAlgorithm from header `x-amz-server-side-encryption-customer-algorithm"))? - ); output = output.set_sse_customer_key_md5( - - crate::http_serde::deser_header_upload_part_copy_sse_customer_key_md5(response.headers()) + crate::http_serde::deser_header_upload_part_copy_sse_customer_key_md5(response.headers()) .map_err(|_|crate::error::UploadPartCopyError::unhandled("Failed to parse SSECustomerKeyMD5 from header `x-amz-server-side-encryption-customer-key-MD5"))? - ); output = output.set_ssekms_key_id( - - crate::http_serde::deser_header_upload_part_copy_ssekms_key_id(response.headers()) + crate::http_serde::deser_header_upload_part_copy_ssekms_key_id(response.headers()) .map_err(|_|crate::error::UploadPartCopyError::unhandled("Failed to parse SSEKMSKeyId from header `x-amz-server-side-encryption-aws-kms-key-id"))? - ); output = output.set_bucket_key_enabled( - - crate::http_serde::deser_header_upload_part_copy_bucket_key_enabled(response.headers()) + crate::http_serde::deser_header_upload_part_copy_bucket_key_enabled(response.headers()) .map_err(|_|crate::error::UploadPartCopyError::unhandled("Failed to parse BucketKeyEnabled from header `x-amz-server-side-encryption-bucket-key-enabled"))? - ); output = output.set_request_charged( crate::http_serde::deser_header_upload_part_copy_request_charged(response.headers()) diff --git a/sdk/s3/src/rest_xml_unwrapped_errors.rs b/sdk/s3/src/rest_xml_unwrapped_errors.rs index 7840a7b264d1..3b9567e8b437 100644 --- a/sdk/s3/src/rest_xml_unwrapped_errors.rs +++ b/sdk/s3/src/rest_xml_unwrapped_errors.rs @@ -28,16 +28,22 @@ pub fn error_scope<'a, 'b>(doc: &'a mut Document<'b>) -> Result Result { let mut doc = Document::try_from(body)?; let mut root = doc.root_element()?; - let mut err = smithy_types::Error::default(); + let mut err = smithy_types::Error::builder(); while let Some(mut tag) = root.next_tag() { match tag.start_el().local() { - "Code" => err.code = Some(String::from(try_data(&mut tag)?)), - "Message" => err.message = Some(String::from(try_data(&mut tag)?)), - "RequestId" => err.request_id = Some(String::from(try_data(&mut tag)?)), + "Code" => { + err.code(try_data(&mut tag)?); + } + "Message" => { + err.message(try_data(&mut tag)?); + } + "RequestId" => { + err.request_id(try_data(&mut tag)?); + } _ => {} } } - Ok(err) + Ok(err.build()) } #[cfg(test)] diff --git a/sdk/s3/src/s3_errors.rs b/sdk/s3/src/s3_errors.rs new file mode 100644 index 000000000000..336ce874c4d5 --- /dev/null +++ b/sdk/s3/src/s3_errors.rs @@ -0,0 +1,73 @@ +// 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. + */ + +const EXTENDED_REQUEST_ID: &str = "s3_extended_request_id"; + +pub trait ErrorExt { + fn extended_request_id(&self) -> Option<&str>; +} + +impl ErrorExt for smithy_types::Error { + fn extended_request_id(&self) -> Option<&str> { + self.extra(EXTENDED_REQUEST_ID) + } +} + +pub fn parse_extended_error( + error: smithy_types::Error, + response: &http::Response, +) -> smithy_types::Error { + let mut builder = error.into_builder(); + let host_id = response + .headers() + .get("x-amz-id-2") + .and_then(|header_value| header_value.to_str().ok()); + if let Some(host_id) = host_id { + builder.custom(EXTENDED_REQUEST_ID, host_id); + } + builder.build() +} + +#[cfg(test)] +mod test { + use crate::s3_errors::{parse_extended_error, ErrorExt}; + + #[test] + fn add_error_fields() { + let resp = http::Response::builder() + .header( + "x-amz-id-2", + "eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran", + ) + .status(400) + .body("") + .unwrap(); + let error = smithy_types::Error::builder() + .message("123") + .request_id("456") + .build(); + + let error = parse_extended_error(error, &resp); + assert_eq!( + error + .extended_request_id() + .expect("extended request id should be set"), + "eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran" + ); + } + + #[test] + fn handle_missing_header() { + let resp = http::Response::builder().status(400).body("").unwrap(); + let error = smithy_types::Error::builder() + .message("123") + .request_id("456") + .build(); + + let error = parse_extended_error(error, &resp); + assert_eq!(error.extended_request_id(), None); + } +} diff --git a/sdk/s3/src/xml_deser.rs b/sdk/s3/src/xml_deser.rs index 6e1763bbf3b3..dd1fbbd0708e 100644 --- a/sdk/s3/src/xml_deser.rs +++ b/sdk/s3/src/xml_deser.rs @@ -2,7 +2,8 @@ pub fn parse_generic_error( response: &http::Response, ) -> Result { - crate::rest_xml_unwrapped_errors::parse_generic_error(response.body().as_ref()) + let base_err = crate::rest_xml_unwrapped_errors::parse_generic_error(response.body().as_ref())?; + Ok(crate::s3_errors::parse_extended_error(base_err, &response)) } #[allow(unused_mut)] @@ -15,13 +16,14 @@ pub fn no_such_upload( } #[allow(unused_mut)] -pub fn complete_multipart_upload_deser_operation( +pub fn deser_operation_complete_multipart_upload( inp: &[u8], mut builder: crate::output::complete_multipart_upload_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -31,11 +33,10 @@ pub fn complete_multipart_upload_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Bucket") /* Bucket com.amazonaws.s3#CompleteMultipartUploadOutput$Bucket */ => { - let var_1 = + let var_1 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48,7 +49,7 @@ pub fn complete_multipart_upload_deser_operation( } , s if s.matches("ETag") /* ETag com.amazonaws.s3#CompleteMultipartUploadOutput$ETag */ => { - let var_2 = + let var_2 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -61,7 +62,7 @@ pub fn complete_multipart_upload_deser_operation( } , s if s.matches("Key") /* Key com.amazonaws.s3#CompleteMultipartUploadOutput$Key */ => { - let var_3 = + let var_3 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -74,7 +75,7 @@ pub fn complete_multipart_upload_deser_operation( } , s if s.matches("Location") /* Location com.amazonaws.s3#CompleteMultipartUploadOutput$Location */ => { - let var_4 = + let var_4 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -120,12 +121,13 @@ pub fn bucket_already_exists( } #[allow(unused_mut)] -pub fn create_multipart_upload_deser_operation( +pub fn deser_operation_create_multipart_upload( inp: &[u8], mut builder: crate::output::create_multipart_upload_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -135,11 +137,10 @@ pub fn create_multipart_upload_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Bucket") /* Bucket com.amazonaws.s3#CreateMultipartUploadOutput$Bucket */ => { - let var_5 = + let var_5 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -152,7 +153,7 @@ pub fn create_multipart_upload_deser_operation( } , s if s.matches("Key") /* Key com.amazonaws.s3#CreateMultipartUploadOutput$Key */ => { - let var_6 = + let var_6 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -165,7 +166,7 @@ pub fn create_multipart_upload_deser_operation( } , s if s.matches("UploadId") /* UploadId com.amazonaws.s3#CreateMultipartUploadOutput$UploadId */ => { - let var_7 = + let var_7 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -184,12 +185,13 @@ pub fn create_multipart_upload_deser_operation( } #[allow(unused_mut)] -pub fn delete_objects_deser_operation( +pub fn deser_operation_delete_objects( inp: &[u8], mut builder: crate::output::delete_objects_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -199,11 +201,10 @@ pub fn delete_objects_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Error") /* Errors com.amazonaws.s3#DeleteObjectsOutput$Errors */ => { - let var_8 = + let var_8 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_9 = builder.errors.take().unwrap_or_default(); @@ -220,7 +221,7 @@ pub fn delete_objects_deser_operation( } , s if s.matches("Deleted") /* Deleted com.amazonaws.s3#DeleteObjectsOutput$Deleted */ => { - let var_10 = + let var_10 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_11 = builder.deleted.take().unwrap_or_default(); @@ -243,7 +244,7 @@ pub fn delete_objects_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_accelerate_configuration_deser_operation( +pub fn deser_operation_get_bucket_accelerate_configuration( inp: &[u8], mut builder: crate::output::get_bucket_accelerate_configuration_output::Builder, ) -> Result< @@ -252,6 +253,7 @@ pub fn get_bucket_accelerate_configuration_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -261,11 +263,10 @@ pub fn get_bucket_accelerate_configuration_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#GetBucketAccelerateConfigurationOutput$Status */ => { - let var_12 = + let var_12 = Some( Result::::Ok( crate::model::BucketAccelerateStatus::from( @@ -285,12 +286,13 @@ pub fn get_bucket_accelerate_configuration_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_acl_deser_operation( +pub fn deser_operation_get_bucket_acl( inp: &[u8], mut builder: crate::output::get_bucket_acl_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -300,11 +302,10 @@ pub fn get_bucket_acl_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Owner") /* Owner com.amazonaws.s3#GetBucketAclOutput$Owner */ => { - let var_13 = + let var_13 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -314,7 +315,7 @@ pub fn get_bucket_acl_deser_operation( } , s if s.matches("AccessControlList") /* Grants com.amazonaws.s3#GetBucketAclOutput$Grants */ => { - let var_14 = + let var_14 = Some( crate::xml_deser::deserialize_grants(&mut tag) ? @@ -330,12 +331,13 @@ pub fn get_bucket_acl_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_cors_deser_operation( +pub fn deser_operation_get_bucket_cors( inp: &[u8], mut builder: crate::output::get_bucket_cors_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -345,11 +347,10 @@ pub fn get_bucket_cors_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CORSRule") /* CORSRules com.amazonaws.s3#GetBucketCorsOutput$CORSRules */ => { - let var_15 = + let var_15 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_16 = builder.cors_rules.take().unwrap_or_default(); @@ -372,7 +373,7 @@ pub fn get_bucket_cors_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_lifecycle_configuration_deser_operation( +pub fn deser_operation_get_bucket_lifecycle_configuration( inp: &[u8], mut builder: crate::output::get_bucket_lifecycle_configuration_output::Builder, ) -> Result< @@ -381,6 +382,7 @@ pub fn get_bucket_lifecycle_configuration_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -390,11 +392,10 @@ pub fn get_bucket_lifecycle_configuration_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Rule") /* Rules com.amazonaws.s3#GetBucketLifecycleConfigurationOutput$Rules */ => { - let var_17 = + let var_17 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_18 = builder.rules.take().unwrap_or_default(); @@ -417,12 +418,13 @@ pub fn get_bucket_lifecycle_configuration_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_location_deser_operation( +pub fn deser_operation_get_bucket_location( inp: &[u8], mut builder: crate::output::get_bucket_location_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -432,11 +434,10 @@ pub fn get_bucket_location_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LocationConstraint") /* LocationConstraint com.amazonaws.s3#GetBucketLocationOutput$LocationConstraint */ => { - let var_19 = + let var_19 = Some( Result::::Ok( crate::model::BucketLocationConstraint::from( @@ -456,12 +457,13 @@ pub fn get_bucket_location_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_logging_deser_operation( +pub fn deser_operation_get_bucket_logging( inp: &[u8], mut builder: crate::output::get_bucket_logging_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -471,11 +473,10 @@ pub fn get_bucket_logging_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LoggingEnabled") /* LoggingEnabled com.amazonaws.s3#GetBucketLoggingOutput$LoggingEnabled */ => { - let var_20 = + let var_20 = Some( crate::xml_deser::logging_enabled_inner(&mut tag) ? @@ -491,7 +492,7 @@ pub fn get_bucket_logging_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_notification_configuration_deser_operation( +pub fn deser_operation_get_bucket_notification_configuration( inp: &[u8], mut builder: crate::output::get_bucket_notification_configuration_output::Builder, ) -> Result< @@ -500,6 +501,7 @@ pub fn get_bucket_notification_configuration_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -509,11 +511,10 @@ pub fn get_bucket_notification_configuration_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CloudFunctionConfiguration") /* LambdaFunctionConfigurations com.amazonaws.s3#GetBucketNotificationConfigurationOutput$LambdaFunctionConfigurations */ => { - let var_21 = + let var_21 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_22 = builder.lambda_function_configurations.take().unwrap_or_default(); @@ -530,7 +531,7 @@ pub fn get_bucket_notification_configuration_deser_operation( } , s if s.matches("TopicConfiguration") /* TopicConfigurations com.amazonaws.s3#GetBucketNotificationConfigurationOutput$TopicConfigurations */ => { - let var_23 = + let var_23 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_24 = builder.topic_configurations.take().unwrap_or_default(); @@ -547,7 +548,7 @@ pub fn get_bucket_notification_configuration_deser_operation( } , s if s.matches("QueueConfiguration") /* QueueConfigurations com.amazonaws.s3#GetBucketNotificationConfigurationOutput$QueueConfigurations */ => { - let var_25 = + let var_25 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_26 = builder.queue_configurations.take().unwrap_or_default(); @@ -570,13 +571,14 @@ pub fn get_bucket_notification_configuration_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_request_payment_deser_operation( +pub fn deser_operation_get_bucket_request_payment( inp: &[u8], mut builder: crate::output::get_bucket_request_payment_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -586,11 +588,10 @@ pub fn get_bucket_request_payment_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Payer") /* Payer com.amazonaws.s3#GetBucketRequestPaymentOutput$Payer */ => { - let var_27 = + let var_27 = Some( Result::::Ok( crate::model::Payer::from( @@ -610,12 +611,13 @@ pub fn get_bucket_request_payment_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_tagging_deser_operation( +pub fn deser_operation_get_bucket_tagging( inp: &[u8], mut builder: crate::output::get_bucket_tagging_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -625,11 +627,10 @@ pub fn get_bucket_tagging_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TagSet") /* TagSet com.amazonaws.s3#GetBucketTaggingOutput$TagSet */ => { - let var_28 = + let var_28 = Some( crate::xml_deser::deserialize_tag_set(&mut tag) ? @@ -645,12 +646,13 @@ pub fn get_bucket_tagging_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_versioning_deser_operation( +pub fn deser_operation_get_bucket_versioning( inp: &[u8], mut builder: crate::output::get_bucket_versioning_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -660,11 +662,10 @@ pub fn get_bucket_versioning_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#GetBucketVersioningOutput$Status */ => { - let var_29 = + let var_29 = Some( Result::::Ok( crate::model::BucketVersioningStatus::from( @@ -678,7 +679,7 @@ pub fn get_bucket_versioning_deser_operation( } , s if s.matches("MfaDelete") /* MFADelete com.amazonaws.s3#GetBucketVersioningOutput$MFADelete */ => { - let var_30 = + let var_30 = Some( Result::::Ok( crate::model::MFADeleteStatus::from( @@ -698,12 +699,13 @@ pub fn get_bucket_versioning_deser_operation( } #[allow(unused_mut)] -pub fn get_bucket_website_deser_operation( +pub fn deser_operation_get_bucket_website( inp: &[u8], mut builder: crate::output::get_bucket_website_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -713,11 +715,10 @@ pub fn get_bucket_website_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("IndexDocument") /* IndexDocument com.amazonaws.s3#GetBucketWebsiteOutput$IndexDocument */ => { - let var_31 = + let var_31 = Some( crate::xml_deser::index_document_inner(&mut tag) ? @@ -727,7 +728,7 @@ pub fn get_bucket_website_deser_operation( } , s if s.matches("RedirectAllRequestsTo") /* RedirectAllRequestsTo com.amazonaws.s3#GetBucketWebsiteOutput$RedirectAllRequestsTo */ => { - let var_32 = + let var_32 = Some( crate::xml_deser::redirect_all_requests_to_inner(&mut tag) ? @@ -737,7 +738,7 @@ pub fn get_bucket_website_deser_operation( } , s if s.matches("RoutingRules") /* RoutingRules com.amazonaws.s3#GetBucketWebsiteOutput$RoutingRules */ => { - let var_33 = + let var_33 = Some( crate::xml_deser::deserialize_routing_rules(&mut tag) ? @@ -747,7 +748,7 @@ pub fn get_bucket_website_deser_operation( } , s if s.matches("ErrorDocument") /* ErrorDocument com.amazonaws.s3#GetBucketWebsiteOutput$ErrorDocument */ => { - let var_34 = + let var_34 = Some( crate::xml_deser::error_document_inner(&mut tag) ? @@ -780,11 +781,10 @@ pub fn invalid_object_state( let mut document = smithy_xml::decode::Document::try_from(inp)?; #[allow(unused_mut)] let mut error_decoder = crate::rest_xml_unwrapped_errors::error_scope(&mut document)?; - while let Some(mut tag) = error_decoder.next_tag() { match tag.start_el() { s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#InvalidObjectState$StorageClass */ => { - let var_35 = + let var_35 = Some( Result::::Ok( crate::model::StorageClass::from( @@ -798,7 +798,7 @@ pub fn invalid_object_state( } , s if s.matches("AccessTier") /* AccessTier com.amazonaws.s3#InvalidObjectState$AccessTier */ => { - let var_36 = + let var_36 = Some( Result::::Ok( crate::model::IntelligentTieringAccessTier::from( @@ -818,12 +818,13 @@ pub fn invalid_object_state( } #[allow(unused_mut)] -pub fn get_object_acl_deser_operation( +pub fn deser_operation_get_object_acl( inp: &[u8], mut builder: crate::output::get_object_acl_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -833,11 +834,10 @@ pub fn get_object_acl_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Owner") /* Owner com.amazonaws.s3#GetObjectAclOutput$Owner */ => { - let var_37 = + let var_37 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -847,7 +847,7 @@ pub fn get_object_acl_deser_operation( } , s if s.matches("AccessControlList") /* Grants com.amazonaws.s3#GetObjectAclOutput$Grants */ => { - let var_38 = + let var_38 = Some( crate::xml_deser::deserialize_grants(&mut tag) ? @@ -863,12 +863,13 @@ pub fn get_object_acl_deser_operation( } #[allow(unused_mut)] -pub fn get_object_tagging_deser_operation( +pub fn deser_operation_get_object_tagging( inp: &[u8], mut builder: crate::output::get_object_tagging_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -878,11 +879,10 @@ pub fn get_object_tagging_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TagSet") /* TagSet com.amazonaws.s3#GetObjectTaggingOutput$TagSet */ => { - let var_39 = + let var_39 = Some( crate::xml_deser::deserialize_tag_set(&mut tag) ? @@ -907,7 +907,7 @@ pub fn not_found( } #[allow(unused_mut)] -pub fn list_bucket_analytics_configurations_deser_operation( +pub fn deser_operation_list_bucket_analytics_configurations( inp: &[u8], mut builder: crate::output::list_bucket_analytics_configurations_output::Builder, ) -> Result< @@ -916,6 +916,7 @@ pub fn list_bucket_analytics_configurations_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -925,11 +926,10 @@ pub fn list_bucket_analytics_configurations_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NextContinuationToken") /* NextContinuationToken com.amazonaws.s3#ListBucketAnalyticsConfigurationsOutput$NextContinuationToken */ => { - let var_40 = + let var_40 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -942,7 +942,7 @@ pub fn list_bucket_analytics_configurations_deser_operation( } , s if s.matches("ContinuationToken") /* ContinuationToken com.amazonaws.s3#ListBucketAnalyticsConfigurationsOutput$ContinuationToken */ => { - let var_41 = + let var_41 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -955,7 +955,7 @@ pub fn list_bucket_analytics_configurations_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListBucketAnalyticsConfigurationsOutput$IsTruncated */ => { - let var_42 = + let var_42 = { use std::str::FromStr; bool::from_str( @@ -969,7 +969,7 @@ pub fn list_bucket_analytics_configurations_deser_operation( } , s if s.matches("AnalyticsConfiguration") /* AnalyticsConfigurationList com.amazonaws.s3#ListBucketAnalyticsConfigurationsOutput$AnalyticsConfigurationList */ => { - let var_43 = + let var_43 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_44 = builder.analytics_configuration_list.take().unwrap_or_default(); @@ -992,7 +992,7 @@ pub fn list_bucket_analytics_configurations_deser_operation( } #[allow(unused_mut)] -pub fn list_bucket_intelligent_tiering_configurations_deser_operation( +pub fn deser_operation_list_bucket_intelligent_tiering_configurations( inp: &[u8], mut builder: crate::output::list_bucket_intelligent_tiering_configurations_output::Builder, ) -> Result< @@ -1001,6 +1001,7 @@ pub fn list_bucket_intelligent_tiering_configurations_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1010,11 +1011,10 @@ pub fn list_bucket_intelligent_tiering_configurations_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("IntelligentTieringConfiguration") /* IntelligentTieringConfigurationList com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsOutput$IntelligentTieringConfigurationList */ => { - let var_45 = + let var_45 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_46 = builder.intelligent_tiering_configuration_list.take().unwrap_or_default(); @@ -1031,7 +1031,7 @@ pub fn list_bucket_intelligent_tiering_configurations_deser_operation( } , s if s.matches("NextContinuationToken") /* NextContinuationToken com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsOutput$NextContinuationToken */ => { - let var_47 = + let var_47 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1044,7 +1044,7 @@ pub fn list_bucket_intelligent_tiering_configurations_deser_operation( } , s if s.matches("ContinuationToken") /* ContinuationToken com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsOutput$ContinuationToken */ => { - let var_48 = + let var_48 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1057,7 +1057,7 @@ pub fn list_bucket_intelligent_tiering_configurations_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsOutput$IsTruncated */ => { - let var_49 = + let var_49 = { use std::str::FromStr; bool::from_str( @@ -1077,7 +1077,7 @@ pub fn list_bucket_intelligent_tiering_configurations_deser_operation( } #[allow(unused_mut)] -pub fn list_bucket_inventory_configurations_deser_operation( +pub fn deser_operation_list_bucket_inventory_configurations( inp: &[u8], mut builder: crate::output::list_bucket_inventory_configurations_output::Builder, ) -> Result< @@ -1086,6 +1086,7 @@ pub fn list_bucket_inventory_configurations_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1095,11 +1096,10 @@ pub fn list_bucket_inventory_configurations_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NextContinuationToken") /* NextContinuationToken com.amazonaws.s3#ListBucketInventoryConfigurationsOutput$NextContinuationToken */ => { - let var_50 = + let var_50 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1112,7 +1112,7 @@ pub fn list_bucket_inventory_configurations_deser_operation( } , s if s.matches("ContinuationToken") /* ContinuationToken com.amazonaws.s3#ListBucketInventoryConfigurationsOutput$ContinuationToken */ => { - let var_51 = + let var_51 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1125,7 +1125,7 @@ pub fn list_bucket_inventory_configurations_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListBucketInventoryConfigurationsOutput$IsTruncated */ => { - let var_52 = + let var_52 = { use std::str::FromStr; bool::from_str( @@ -1139,7 +1139,7 @@ pub fn list_bucket_inventory_configurations_deser_operation( } , s if s.matches("InventoryConfiguration") /* InventoryConfigurationList com.amazonaws.s3#ListBucketInventoryConfigurationsOutput$InventoryConfigurationList */ => { - let var_53 = + let var_53 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_54 = builder.inventory_configuration_list.take().unwrap_or_default(); @@ -1162,7 +1162,7 @@ pub fn list_bucket_inventory_configurations_deser_operation( } #[allow(unused_mut)] -pub fn list_bucket_metrics_configurations_deser_operation( +pub fn deser_operation_list_bucket_metrics_configurations( inp: &[u8], mut builder: crate::output::list_bucket_metrics_configurations_output::Builder, ) -> Result< @@ -1171,6 +1171,7 @@ pub fn list_bucket_metrics_configurations_deser_operation( > { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1180,11 +1181,10 @@ pub fn list_bucket_metrics_configurations_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NextContinuationToken") /* NextContinuationToken com.amazonaws.s3#ListBucketMetricsConfigurationsOutput$NextContinuationToken */ => { - let var_55 = + let var_55 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1197,7 +1197,7 @@ pub fn list_bucket_metrics_configurations_deser_operation( } , s if s.matches("ContinuationToken") /* ContinuationToken com.amazonaws.s3#ListBucketMetricsConfigurationsOutput$ContinuationToken */ => { - let var_56 = + let var_56 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1210,7 +1210,7 @@ pub fn list_bucket_metrics_configurations_deser_operation( } , s if s.matches("MetricsConfiguration") /* MetricsConfigurationList com.amazonaws.s3#ListBucketMetricsConfigurationsOutput$MetricsConfigurationList */ => { - let var_57 = + let var_57 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_58 = builder.metrics_configuration_list.take().unwrap_or_default(); @@ -1227,7 +1227,7 @@ pub fn list_bucket_metrics_configurations_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListBucketMetricsConfigurationsOutput$IsTruncated */ => { - let var_59 = + let var_59 = { use std::str::FromStr; bool::from_str( @@ -1247,12 +1247,13 @@ pub fn list_bucket_metrics_configurations_deser_operation( } #[allow(unused_mut)] -pub fn list_buckets_deser_operation( +pub fn deser_operation_list_buckets( inp: &[u8], mut builder: crate::output::list_buckets_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1262,11 +1263,10 @@ pub fn list_buckets_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Owner") /* Owner com.amazonaws.s3#ListBucketsOutput$Owner */ => { - let var_60 = + let var_60 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -1276,7 +1276,7 @@ pub fn list_buckets_deser_operation( } , s if s.matches("Buckets") /* Buckets com.amazonaws.s3#ListBucketsOutput$Buckets */ => { - let var_61 = + let var_61 = Some( crate::xml_deser::deserialize_buckets(&mut tag) ? @@ -1292,12 +1292,13 @@ pub fn list_buckets_deser_operation( } #[allow(unused_mut)] -pub fn list_multipart_uploads_deser_operation( +pub fn deser_operation_list_multipart_uploads( inp: &[u8], mut builder: crate::output::list_multipart_uploads_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1307,11 +1308,10 @@ pub fn list_multipart_uploads_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CommonPrefixes") /* CommonPrefixes com.amazonaws.s3#ListMultipartUploadsOutput$CommonPrefixes */ => { - let var_62 = + let var_62 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_63 = builder.common_prefixes.take().unwrap_or_default(); @@ -1328,7 +1328,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("UploadIdMarker") /* UploadIdMarker com.amazonaws.s3#ListMultipartUploadsOutput$UploadIdMarker */ => { - let var_64 = + let var_64 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1341,7 +1341,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("NextKeyMarker") /* NextKeyMarker com.amazonaws.s3#ListMultipartUploadsOutput$NextKeyMarker */ => { - let var_65 = + let var_65 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1354,7 +1354,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("NextUploadIdMarker") /* NextUploadIdMarker com.amazonaws.s3#ListMultipartUploadsOutput$NextUploadIdMarker */ => { - let var_66 = + let var_66 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1367,7 +1367,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("Delimiter") /* Delimiter com.amazonaws.s3#ListMultipartUploadsOutput$Delimiter */ => { - let var_67 = + let var_67 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1380,7 +1380,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("Upload") /* Uploads com.amazonaws.s3#ListMultipartUploadsOutput$Uploads */ => { - let var_68 = + let var_68 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_69 = builder.uploads.take().unwrap_or_default(); @@ -1397,7 +1397,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("Bucket") /* Bucket com.amazonaws.s3#ListMultipartUploadsOutput$Bucket */ => { - let var_70 = + let var_70 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1410,7 +1410,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("MaxUploads") /* MaxUploads com.amazonaws.s3#ListMultipartUploadsOutput$MaxUploads */ => { - let var_71 = + let var_71 = { use std::str::FromStr; i32::from_str( @@ -1424,7 +1424,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("EncodingType") /* EncodingType com.amazonaws.s3#ListMultipartUploadsOutput$EncodingType */ => { - let var_72 = + let var_72 = Some( Result::::Ok( crate::model::EncodingType::from( @@ -1438,7 +1438,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListMultipartUploadsOutput$IsTruncated */ => { - let var_73 = + let var_73 = { use std::str::FromStr; bool::from_str( @@ -1452,7 +1452,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ListMultipartUploadsOutput$Prefix */ => { - let var_74 = + let var_74 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1465,7 +1465,7 @@ pub fn list_multipart_uploads_deser_operation( } , s if s.matches("KeyMarker") /* KeyMarker com.amazonaws.s3#ListMultipartUploadsOutput$KeyMarker */ => { - let var_75 = + let var_75 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1493,12 +1493,13 @@ pub fn no_such_bucket( } #[allow(unused_mut)] -pub fn list_objects_deser_operation( +pub fn deser_operation_list_objects( inp: &[u8], mut builder: crate::output::list_objects_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1508,11 +1509,10 @@ pub fn list_objects_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CommonPrefixes") /* CommonPrefixes com.amazonaws.s3#ListObjectsOutput$CommonPrefixes */ => { - let var_76 = + let var_76 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_77 = builder.common_prefixes.take().unwrap_or_default(); @@ -1529,7 +1529,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("Contents") /* Contents com.amazonaws.s3#ListObjectsOutput$Contents */ => { - let var_78 = + let var_78 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_79 = builder.contents.take().unwrap_or_default(); @@ -1546,7 +1546,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("Delimiter") /* Delimiter com.amazonaws.s3#ListObjectsOutput$Delimiter */ => { - let var_80 = + let var_80 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1559,7 +1559,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("EncodingType") /* EncodingType com.amazonaws.s3#ListObjectsOutput$EncodingType */ => { - let var_81 = + let var_81 = Some( Result::::Ok( crate::model::EncodingType::from( @@ -1573,7 +1573,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListObjectsOutput$IsTruncated */ => { - let var_82 = + let var_82 = { use std::str::FromStr; bool::from_str( @@ -1587,7 +1587,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("Marker") /* Marker com.amazonaws.s3#ListObjectsOutput$Marker */ => { - let var_83 = + let var_83 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1600,7 +1600,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ListObjectsOutput$Prefix */ => { - let var_84 = + let var_84 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1613,7 +1613,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("NextMarker") /* NextMarker com.amazonaws.s3#ListObjectsOutput$NextMarker */ => { - let var_85 = + let var_85 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1626,7 +1626,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("MaxKeys") /* MaxKeys com.amazonaws.s3#ListObjectsOutput$MaxKeys */ => { - let var_86 = + let var_86 = { use std::str::FromStr; i32::from_str( @@ -1640,7 +1640,7 @@ pub fn list_objects_deser_operation( } , s if s.matches("Name") /* Name com.amazonaws.s3#ListObjectsOutput$Name */ => { - let var_87 = + let var_87 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1659,12 +1659,13 @@ pub fn list_objects_deser_operation( } #[allow(unused_mut)] -pub fn list_objects_v2_deser_operation( +pub fn deser_operation_list_objects_v2( inp: &[u8], mut builder: crate::output::list_objects_v2_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1674,11 +1675,10 @@ pub fn list_objects_v2_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CommonPrefixes") /* CommonPrefixes com.amazonaws.s3#ListObjectsV2Output$CommonPrefixes */ => { - let var_88 = + let var_88 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_89 = builder.common_prefixes.take().unwrap_or_default(); @@ -1695,7 +1695,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("NextContinuationToken") /* NextContinuationToken com.amazonaws.s3#ListObjectsV2Output$NextContinuationToken */ => { - let var_90 = + let var_90 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1708,7 +1708,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("Contents") /* Contents com.amazonaws.s3#ListObjectsV2Output$Contents */ => { - let var_91 = + let var_91 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_92 = builder.contents.take().unwrap_or_default(); @@ -1725,7 +1725,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("ContinuationToken") /* ContinuationToken com.amazonaws.s3#ListObjectsV2Output$ContinuationToken */ => { - let var_93 = + let var_93 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1738,7 +1738,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("Delimiter") /* Delimiter com.amazonaws.s3#ListObjectsV2Output$Delimiter */ => { - let var_94 = + let var_94 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1751,7 +1751,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("EncodingType") /* EncodingType com.amazonaws.s3#ListObjectsV2Output$EncodingType */ => { - let var_95 = + let var_95 = Some( Result::::Ok( crate::model::EncodingType::from( @@ -1765,7 +1765,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListObjectsV2Output$IsTruncated */ => { - let var_96 = + let var_96 = { use std::str::FromStr; bool::from_str( @@ -1779,7 +1779,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("StartAfter") /* StartAfter com.amazonaws.s3#ListObjectsV2Output$StartAfter */ => { - let var_97 = + let var_97 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1792,7 +1792,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ListObjectsV2Output$Prefix */ => { - let var_98 = + let var_98 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1805,7 +1805,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("MaxKeys") /* MaxKeys com.amazonaws.s3#ListObjectsV2Output$MaxKeys */ => { - let var_99 = + let var_99 = { use std::str::FromStr; i32::from_str( @@ -1819,7 +1819,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("KeyCount") /* KeyCount com.amazonaws.s3#ListObjectsV2Output$KeyCount */ => { - let var_100 = + let var_100 = { use std::str::FromStr; i32::from_str( @@ -1833,7 +1833,7 @@ pub fn list_objects_v2_deser_operation( } , s if s.matches("Name") /* Name com.amazonaws.s3#ListObjectsV2Output$Name */ => { - let var_101 = + let var_101 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1852,12 +1852,13 @@ pub fn list_objects_v2_deser_operation( } #[allow(unused_mut)] -pub fn list_object_versions_deser_operation( +pub fn deser_operation_list_object_versions( inp: &[u8], mut builder: crate::output::list_object_versions_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -1867,11 +1868,10 @@ pub fn list_object_versions_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CommonPrefixes") /* CommonPrefixes com.amazonaws.s3#ListObjectVersionsOutput$CommonPrefixes */ => { - let var_102 = + let var_102 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_103 = builder.common_prefixes.take().unwrap_or_default(); @@ -1888,7 +1888,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("NextKeyMarker") /* NextKeyMarker com.amazonaws.s3#ListObjectVersionsOutput$NextKeyMarker */ => { - let var_104 = + let var_104 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1901,7 +1901,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("Delimiter") /* Delimiter com.amazonaws.s3#ListObjectVersionsOutput$Delimiter */ => { - let var_105 = + let var_105 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1914,7 +1914,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("EncodingType") /* EncodingType com.amazonaws.s3#ListObjectVersionsOutput$EncodingType */ => { - let var_106 = + let var_106 = Some( Result::::Ok( crate::model::EncodingType::from( @@ -1928,7 +1928,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListObjectVersionsOutput$IsTruncated */ => { - let var_107 = + let var_107 = { use std::str::FromStr; bool::from_str( @@ -1942,7 +1942,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("NextVersionIdMarker") /* NextVersionIdMarker com.amazonaws.s3#ListObjectVersionsOutput$NextVersionIdMarker */ => { - let var_108 = + let var_108 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1955,7 +1955,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ListObjectVersionsOutput$Prefix */ => { - let var_109 = + let var_109 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1968,7 +1968,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("Name") /* Name com.amazonaws.s3#ListObjectVersionsOutput$Name */ => { - let var_110 = + let var_110 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1981,7 +1981,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("VersionIdMarker") /* VersionIdMarker com.amazonaws.s3#ListObjectVersionsOutput$VersionIdMarker */ => { - let var_111 = + let var_111 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -1994,7 +1994,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("Version") /* Versions com.amazonaws.s3#ListObjectVersionsOutput$Versions */ => { - let var_112 = + let var_112 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_113 = builder.versions.take().unwrap_or_default(); @@ -2011,7 +2011,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("MaxKeys") /* MaxKeys com.amazonaws.s3#ListObjectVersionsOutput$MaxKeys */ => { - let var_114 = + let var_114 = { use std::str::FromStr; i32::from_str( @@ -2025,7 +2025,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("DeleteMarker") /* DeleteMarkers com.amazonaws.s3#ListObjectVersionsOutput$DeleteMarkers */ => { - let var_115 = + let var_115 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_116 = builder.delete_markers.take().unwrap_or_default(); @@ -2042,7 +2042,7 @@ pub fn list_object_versions_deser_operation( } , s if s.matches("KeyMarker") /* KeyMarker com.amazonaws.s3#ListObjectVersionsOutput$KeyMarker */ => { - let var_117 = + let var_117 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2061,12 +2061,13 @@ pub fn list_object_versions_deser_operation( } #[allow(unused_mut)] -pub fn list_parts_deser_operation( +pub fn deser_operation_list_parts( inp: &[u8], mut builder: crate::output::list_parts_output::Builder, ) -> Result { use std::convert::TryFrom; let mut doc = smithy_xml::decode::Document::try_from(inp)?; + #[allow(unused_mut)] let mut decoder = doc.root_element()?; let start_el = decoder.start_el(); @@ -2076,11 +2077,10 @@ pub fn list_parts_deser_operation( start_el ))); } - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Owner") /* Owner com.amazonaws.s3#ListPartsOutput$Owner */ => { - let var_118 = + let var_118 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -2090,7 +2090,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("NextPartNumberMarker") /* NextPartNumberMarker com.amazonaws.s3#ListPartsOutput$NextPartNumberMarker */ => { - let var_119 = + let var_119 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2103,7 +2103,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#ListPartsOutput$StorageClass */ => { - let var_120 = + let var_120 = Some( Result::::Ok( crate::model::StorageClass::from( @@ -2117,7 +2117,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("IsTruncated") /* IsTruncated com.amazonaws.s3#ListPartsOutput$IsTruncated */ => { - let var_121 = + let var_121 = { use std::str::FromStr; bool::from_str( @@ -2131,7 +2131,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("MaxParts") /* MaxParts com.amazonaws.s3#ListPartsOutput$MaxParts */ => { - let var_122 = + let var_122 = { use std::str::FromStr; i32::from_str( @@ -2145,7 +2145,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("UploadId") /* UploadId com.amazonaws.s3#ListPartsOutput$UploadId */ => { - let var_123 = + let var_123 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2158,7 +2158,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("PartNumberMarker") /* PartNumberMarker com.amazonaws.s3#ListPartsOutput$PartNumberMarker */ => { - let var_124 = + let var_124 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2171,7 +2171,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("Bucket") /* Bucket com.amazonaws.s3#ListPartsOutput$Bucket */ => { - let var_125 = + let var_125 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2184,7 +2184,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("Part") /* Parts com.amazonaws.s3#ListPartsOutput$Parts */ => { - let var_126 = + let var_126 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_127 = builder.parts.take().unwrap_or_default(); @@ -2201,7 +2201,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("Initiator") /* Initiator com.amazonaws.s3#ListPartsOutput$Initiator */ => { - let var_128 = + let var_128 = Some( crate::xml_deser::initiator_inner(&mut tag) ? @@ -2211,7 +2211,7 @@ pub fn list_parts_deser_operation( } , s if s.matches("Key") /* Key com.amazonaws.s3#ListPartsOutput$Key */ => { - let var_129 = + let var_129 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2239,7 +2239,7 @@ pub fn object_already_in_active_tier_error( Ok(builder) } -pub fn parse_payload_copy_object_resultcopy_object_output( +pub fn deser_payload_copy_object_result_copy_object_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2253,11 +2253,10 @@ pub fn parse_payload_copy_object_resultcopy_object_output( start_el ))); } - crate::xml_deser::copy_object_result_inner(&mut decoder) } -pub fn parse_payload_analytics_configurationget_bucket_analytics_configuration_output( +pub fn deser_payload_analytics_configuration_get_bucket_analytics_configuration_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2271,11 +2270,10 @@ pub fn parse_payload_analytics_configurationget_bucket_analytics_configuration_o start_el ))); } - crate::xml_deser::analytics_configuration_inner(&mut decoder) } -pub fn parse_payload_server_side_encryption_configurationget_bucket_encryption_output( +pub fn deser_payload_server_side_encryption_configuration_get_bucket_encryption_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2289,11 +2287,10 @@ pub fn parse_payload_server_side_encryption_configurationget_bucket_encryption_o start_el ))); } - crate::xml_deser::server_side_encryption_configuration_inner(&mut decoder) } -pub fn parse_payload_intelligent_tiering_configurationget_bucket_intelligent_tiering_configuration_output( +pub fn deser_payload_intelligent_tiering_configuration_get_bucket_intelligent_tiering_configuration_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2307,11 +2304,10 @@ pub fn parse_payload_intelligent_tiering_configurationget_bucket_intelligent_tie start_el ))); } - crate::xml_deser::intelligent_tiering_configuration_inner(&mut decoder) } -pub fn parse_payload_inventory_configurationget_bucket_inventory_configuration_output( +pub fn deser_payload_inventory_configuration_get_bucket_inventory_configuration_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2325,11 +2321,10 @@ pub fn parse_payload_inventory_configurationget_bucket_inventory_configuration_o start_el ))); } - crate::xml_deser::inventory_configuration_inner(&mut decoder) } -pub fn parse_payload_metrics_configurationget_bucket_metrics_configuration_output( +pub fn deser_payload_metrics_configuration_get_bucket_metrics_configuration_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2343,11 +2338,10 @@ pub fn parse_payload_metrics_configurationget_bucket_metrics_configuration_outpu start_el ))); } - crate::xml_deser::metrics_configuration_inner(&mut decoder) } -pub fn parse_payload_ownership_controlsget_bucket_ownership_controls_output( +pub fn deser_payload_ownership_controls_get_bucket_ownership_controls_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2361,11 +2355,10 @@ pub fn parse_payload_ownership_controlsget_bucket_ownership_controls_output( start_el ))); } - crate::xml_deser::ownership_controls_inner(&mut decoder) } -pub fn parse_payload_policy_statusget_bucket_policy_status_output( +pub fn deser_payload_policy_status_get_bucket_policy_status_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2379,11 +2372,10 @@ pub fn parse_payload_policy_statusget_bucket_policy_status_output( start_el ))); } - crate::xml_deser::policy_status_inner(&mut decoder) } -pub fn parse_payload_replication_configurationget_bucket_replication_output( +pub fn deser_payload_replication_configuration_get_bucket_replication_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2397,11 +2389,10 @@ pub fn parse_payload_replication_configurationget_bucket_replication_output( start_el ))); } - crate::xml_deser::replication_configuration_inner(&mut decoder) } -pub fn parse_payload_object_lock_legal_holdget_object_legal_hold_output( +pub fn deser_payload_object_lock_legal_hold_get_object_legal_hold_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2415,11 +2406,10 @@ pub fn parse_payload_object_lock_legal_holdget_object_legal_hold_output( start_el ))); } - crate::xml_deser::object_lock_legal_hold_inner(&mut decoder) } -pub fn parse_payload_object_lock_configurationget_object_lock_configuration_output( +pub fn deser_payload_object_lock_configuration_get_object_lock_configuration_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2433,11 +2423,10 @@ pub fn parse_payload_object_lock_configurationget_object_lock_configuration_outp start_el ))); } - crate::xml_deser::object_lock_configuration_inner(&mut decoder) } -pub fn parse_payload_object_lock_retentionget_object_retention_output( +pub fn deser_payload_object_lock_retention_get_object_retention_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2451,11 +2440,10 @@ pub fn parse_payload_object_lock_retentionget_object_retention_output( start_el ))); } - crate::xml_deser::object_lock_retention_inner(&mut decoder) } -pub fn parse_payload_public_access_block_configurationget_public_access_block_output( +pub fn deser_payload_public_access_block_configuration_get_public_access_block_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2469,11 +2457,10 @@ pub fn parse_payload_public_access_block_configurationget_public_access_block_ou start_el ))); } - crate::xml_deser::public_access_block_configuration_inner(&mut decoder) } -pub fn parse_payload_copy_part_resultupload_part_copy_output( +pub fn deser_payload_copy_part_result_upload_part_copy_output( inp: &[u8], ) -> Result { use std::convert::TryFrom; @@ -2487,7 +2474,6 @@ pub fn parse_payload_copy_part_resultupload_part_copy_output( start_el ))); } - crate::xml_deser::copy_part_result_inner(&mut decoder) } @@ -2496,11 +2482,10 @@ pub fn error_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Error::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.s3#Error$Key */ => { - let var_130 = + let var_130 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2513,7 +2498,7 @@ pub fn error_inner( } , s if s.matches("VersionId") /* VersionId com.amazonaws.s3#Error$VersionId */ => { - let var_131 = + let var_131 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2526,7 +2511,7 @@ pub fn error_inner( } , s if s.matches("Code") /* Code com.amazonaws.s3#Error$Code */ => { - let var_132 = + let var_132 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2539,7 +2524,7 @@ pub fn error_inner( } , s if s.matches("Message") /* Message com.amazonaws.s3#Error$Message */ => { - let var_133 = + let var_133 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2562,11 +2547,10 @@ pub fn deleted_object_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::DeletedObject::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.s3#DeletedObject$Key */ => { - let var_134 = + let var_134 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2579,7 +2563,7 @@ pub fn deleted_object_inner( } , s if s.matches("VersionId") /* VersionId com.amazonaws.s3#DeletedObject$VersionId */ => { - let var_135 = + let var_135 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2592,7 +2576,7 @@ pub fn deleted_object_inner( } , s if s.matches("DeleteMarker") /* DeleteMarker com.amazonaws.s3#DeletedObject$DeleteMarker */ => { - let var_136 = + let var_136 = { use std::str::FromStr; bool::from_str( @@ -2606,7 +2590,7 @@ pub fn deleted_object_inner( } , s if s.matches("DeleteMarkerVersionId") /* DeleteMarkerVersionId com.amazonaws.s3#DeletedObject$DeleteMarkerVersionId */ => { - let var_137 = + let var_137 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2629,11 +2613,10 @@ pub fn owner_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Owner::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DisplayName") /* DisplayName com.amazonaws.s3#Owner$DisplayName */ => { - let var_138 = + let var_138 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2646,7 +2629,7 @@ pub fn owner_inner( } , s if s.matches("ID") /* ID com.amazonaws.s3#Owner$ID */ => { - let var_139 = + let var_139 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2688,11 +2671,10 @@ pub fn cors_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::CORSRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ID") /* ID com.amazonaws.s3#CORSRule$ID */ => { - let var_140 = + let var_140 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2705,7 +2687,7 @@ pub fn cors_rule_inner( } , s if s.matches("AllowedHeader") /* AllowedHeaders com.amazonaws.s3#CORSRule$AllowedHeaders */ => { - let var_141 = + let var_141 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_142 = builder.allowed_headers.take().unwrap_or_default(); @@ -2725,7 +2707,7 @@ pub fn cors_rule_inner( } , s if s.matches("AllowedMethod") /* AllowedMethods com.amazonaws.s3#CORSRule$AllowedMethods */ => { - let var_143 = + let var_143 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_144 = builder.allowed_methods.take().unwrap_or_default(); @@ -2745,7 +2727,7 @@ pub fn cors_rule_inner( } , s if s.matches("AllowedOrigin") /* AllowedOrigins com.amazonaws.s3#CORSRule$AllowedOrigins */ => { - let var_145 = + let var_145 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_146 = builder.allowed_origins.take().unwrap_or_default(); @@ -2765,7 +2747,7 @@ pub fn cors_rule_inner( } , s if s.matches("ExposeHeader") /* ExposeHeaders com.amazonaws.s3#CORSRule$ExposeHeaders */ => { - let var_147 = + let var_147 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_148 = builder.expose_headers.take().unwrap_or_default(); @@ -2785,7 +2767,7 @@ pub fn cors_rule_inner( } , s if s.matches("MaxAgeSeconds") /* MaxAgeSeconds com.amazonaws.s3#CORSRule$MaxAgeSeconds */ => { - let var_149 = + let var_149 = { use std::str::FromStr; i32::from_str( @@ -2809,11 +2791,10 @@ pub fn lifecycle_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::LifecycleRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Expiration") /* Expiration com.amazonaws.s3#LifecycleRule$Expiration */ => { - let var_150 = + let var_150 = Some( crate::xml_deser::lifecycle_expiration_inner(&mut tag) ? @@ -2823,7 +2804,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("ID") /* ID com.amazonaws.s3#LifecycleRule$ID */ => { - let var_151 = + let var_151 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2836,7 +2817,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#LifecycleRule$Prefix */ => { - let var_152 = + let var_152 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2849,7 +2830,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#LifecycleRule$Filter */ => { - let var_153 = + let var_153 = Some( crate::xml_deser::lifecycle_rule_filter_inner(&mut tag) ? @@ -2859,7 +2840,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("Status") /* Status com.amazonaws.s3#LifecycleRule$Status */ => { - let var_154 = + let var_154 = Some( Result::::Ok( crate::model::ExpirationStatus::from( @@ -2873,7 +2854,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("Transition") /* Transitions com.amazonaws.s3#LifecycleRule$Transitions */ => { - let var_155 = + let var_155 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_156 = builder.transitions.take().unwrap_or_default(); @@ -2890,7 +2871,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("NoncurrentVersionTransition") /* NoncurrentVersionTransitions com.amazonaws.s3#LifecycleRule$NoncurrentVersionTransitions */ => { - let var_157 = + let var_157 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_158 = builder.noncurrent_version_transitions.take().unwrap_or_default(); @@ -2907,7 +2888,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("NoncurrentVersionExpiration") /* NoncurrentVersionExpiration com.amazonaws.s3#LifecycleRule$NoncurrentVersionExpiration */ => { - let var_159 = + let var_159 = Some( crate::xml_deser::noncurrent_version_expiration_inner(&mut tag) ? @@ -2917,7 +2898,7 @@ pub fn lifecycle_rule_inner( } , s if s.matches("AbortIncompleteMultipartUpload") /* AbortIncompleteMultipartUpload com.amazonaws.s3#LifecycleRule$AbortIncompleteMultipartUpload */ => { - let var_160 = + let var_160 = Some( crate::xml_deser::abort_incomplete_multipart_upload_inner(&mut tag) ? @@ -2937,11 +2918,10 @@ pub fn logging_enabled_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::LoggingEnabled::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TargetBucket") /* TargetBucket com.amazonaws.s3#LoggingEnabled$TargetBucket */ => { - let var_161 = + let var_161 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2954,7 +2934,7 @@ pub fn logging_enabled_inner( } , s if s.matches("TargetGrants") /* TargetGrants com.amazonaws.s3#LoggingEnabled$TargetGrants */ => { - let var_162 = + let var_162 = Some( crate::xml_deser::deserialize_target_grants(&mut tag) ? @@ -2964,7 +2944,7 @@ pub fn logging_enabled_inner( } , s if s.matches("TargetPrefix") /* TargetPrefix com.amazonaws.s3#LoggingEnabled$TargetPrefix */ => { - let var_163 = + let var_163 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -2987,11 +2967,10 @@ pub fn lambda_function_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::LambdaFunctionConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Id") /* Id com.amazonaws.s3#LambdaFunctionConfiguration$Id */ => { - let var_164 = + let var_164 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3004,7 +2983,7 @@ pub fn lambda_function_configuration_inner( } , s if s.matches("CloudFunction") /* LambdaFunctionArn com.amazonaws.s3#LambdaFunctionConfiguration$LambdaFunctionArn */ => { - let var_165 = + let var_165 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3017,7 +2996,7 @@ pub fn lambda_function_configuration_inner( } , s if s.matches("Event") /* Events com.amazonaws.s3#LambdaFunctionConfiguration$Events */ => { - let var_166 = + let var_166 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_167 = builder.events.take().unwrap_or_default(); @@ -3038,7 +3017,7 @@ pub fn lambda_function_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#LambdaFunctionConfiguration$Filter */ => { - let var_168 = + let var_168 = Some( crate::xml_deser::notification_configuration_filter_inner(&mut tag) ? @@ -3058,11 +3037,10 @@ pub fn topic_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::TopicConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Id") /* Id com.amazonaws.s3#TopicConfiguration$Id */ => { - let var_169 = + let var_169 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3075,7 +3053,7 @@ pub fn topic_configuration_inner( } , s if s.matches("Topic") /* TopicArn com.amazonaws.s3#TopicConfiguration$TopicArn */ => { - let var_170 = + let var_170 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3088,7 +3066,7 @@ pub fn topic_configuration_inner( } , s if s.matches("Event") /* Events com.amazonaws.s3#TopicConfiguration$Events */ => { - let var_171 = + let var_171 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_172 = builder.events.take().unwrap_or_default(); @@ -3109,7 +3087,7 @@ pub fn topic_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#TopicConfiguration$Filter */ => { - let var_173 = + let var_173 = Some( crate::xml_deser::notification_configuration_filter_inner(&mut tag) ? @@ -3129,11 +3107,10 @@ pub fn queue_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::QueueConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Id") /* Id com.amazonaws.s3#QueueConfiguration$Id */ => { - let var_174 = + let var_174 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3146,7 +3123,7 @@ pub fn queue_configuration_inner( } , s if s.matches("Queue") /* QueueArn com.amazonaws.s3#QueueConfiguration$QueueArn */ => { - let var_175 = + let var_175 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3159,7 +3136,7 @@ pub fn queue_configuration_inner( } , s if s.matches("Event") /* Events com.amazonaws.s3#QueueConfiguration$Events */ => { - let var_176 = + let var_176 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_177 = builder.events.take().unwrap_or_default(); @@ -3180,7 +3157,7 @@ pub fn queue_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#QueueConfiguration$Filter */ => { - let var_178 = + let var_178 = Some( crate::xml_deser::notification_configuration_filter_inner(&mut tag) ? @@ -3219,11 +3196,10 @@ pub fn index_document_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::IndexDocument::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Suffix") /* Suffix com.amazonaws.s3#IndexDocument$Suffix */ => { - let var_179 = + let var_179 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3246,11 +3222,10 @@ pub fn redirect_all_requests_to_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::RedirectAllRequestsTo::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("HostName") /* HostName com.amazonaws.s3#RedirectAllRequestsTo$HostName */ => { - let var_180 = + let var_180 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3263,7 +3238,7 @@ pub fn redirect_all_requests_to_inner( } , s if s.matches("Protocol") /* Protocol com.amazonaws.s3#RedirectAllRequestsTo$Protocol */ => { - let var_181 = + let var_181 = Some( Result::::Ok( crate::model::Protocol::from( @@ -3306,11 +3281,10 @@ pub fn error_document_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ErrorDocument::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.s3#ErrorDocument$Key */ => { - let var_182 = + let var_182 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3333,11 +3307,10 @@ pub fn analytics_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::AnalyticsConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Id") /* Id com.amazonaws.s3#AnalyticsConfiguration$Id */ => { - let var_183 = + let var_183 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3350,7 +3323,7 @@ pub fn analytics_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#AnalyticsConfiguration$Filter */ => { - let var_184 = + let var_184 = Some( crate::xml_deser::analytics_filter_inner(&mut tag) ? @@ -3360,7 +3333,7 @@ pub fn analytics_configuration_inner( } , s if s.matches("StorageClassAnalysis") /* StorageClassAnalysis com.amazonaws.s3#AnalyticsConfiguration$StorageClassAnalysis */ => { - let var_185 = + let var_185 = Some( crate::xml_deser::storage_class_analysis_inner(&mut tag) ? @@ -3380,11 +3353,10 @@ pub fn intelligent_tiering_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::IntelligentTieringConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Id") /* Id com.amazonaws.s3#IntelligentTieringConfiguration$Id */ => { - let var_186 = + let var_186 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3397,7 +3369,7 @@ pub fn intelligent_tiering_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#IntelligentTieringConfiguration$Filter */ => { - let var_187 = + let var_187 = Some( crate::xml_deser::intelligent_tiering_filter_inner(&mut tag) ? @@ -3407,7 +3379,7 @@ pub fn intelligent_tiering_configuration_inner( } , s if s.matches("Status") /* Status com.amazonaws.s3#IntelligentTieringConfiguration$Status */ => { - let var_188 = + let var_188 = Some( Result::::Ok( crate::model::IntelligentTieringStatus::from( @@ -3421,7 +3393,7 @@ pub fn intelligent_tiering_configuration_inner( } , s if s.matches("Tiering") /* Tierings com.amazonaws.s3#IntelligentTieringConfiguration$Tierings */ => { - let var_189 = + let var_189 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_190 = builder.tierings.take().unwrap_or_default(); @@ -3448,11 +3420,10 @@ pub fn inventory_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::InventoryConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Destination") /* Destination com.amazonaws.s3#InventoryConfiguration$Destination */ => { - let var_191 = + let var_191 = Some( crate::xml_deser::inventory_destination_inner(&mut tag) ? @@ -3462,7 +3433,7 @@ pub fn inventory_configuration_inner( } , s if s.matches("IsEnabled") /* IsEnabled com.amazonaws.s3#InventoryConfiguration$IsEnabled */ => { - let var_192 = + let var_192 = { use std::str::FromStr; bool::from_str( @@ -3476,7 +3447,7 @@ pub fn inventory_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#InventoryConfiguration$Filter */ => { - let var_193 = + let var_193 = Some( crate::xml_deser::inventory_filter_inner(&mut tag) ? @@ -3486,7 +3457,7 @@ pub fn inventory_configuration_inner( } , s if s.matches("Id") /* Id com.amazonaws.s3#InventoryConfiguration$Id */ => { - let var_194 = + let var_194 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3499,7 +3470,7 @@ pub fn inventory_configuration_inner( } , s if s.matches("IncludedObjectVersions") /* IncludedObjectVersions com.amazonaws.s3#InventoryConfiguration$IncludedObjectVersions */ => { - let var_195 = + let var_195 = Some( Result::::Ok( crate::model::InventoryIncludedObjectVersions::from( @@ -3513,7 +3484,7 @@ pub fn inventory_configuration_inner( } , s if s.matches("OptionalFields") /* OptionalFields com.amazonaws.s3#InventoryConfiguration$OptionalFields */ => { - let var_196 = + let var_196 = Some( crate::xml_deser::deserialize_inventory_optional_fields(&mut tag) ? @@ -3523,7 +3494,7 @@ pub fn inventory_configuration_inner( } , s if s.matches("Schedule") /* Schedule com.amazonaws.s3#InventoryConfiguration$Schedule */ => { - let var_197 = + let var_197 = Some( crate::xml_deser::inventory_schedule_inner(&mut tag) ? @@ -3543,11 +3514,10 @@ pub fn metrics_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::MetricsConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Id") /* Id com.amazonaws.s3#MetricsConfiguration$Id */ => { - let var_198 = + let var_198 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3560,7 +3530,7 @@ pub fn metrics_configuration_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#MetricsConfiguration$Filter */ => { - let var_199 = + let var_199 = Some( crate::xml_deser::metrics_filter_inner(&mut tag) ? @@ -3599,11 +3569,10 @@ pub fn common_prefix_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::CommonPrefix::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#CommonPrefix$Prefix */ => { - let var_200 = + let var_200 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3626,11 +3595,10 @@ pub fn multipart_upload_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::MultipartUpload::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("UploadId") /* UploadId com.amazonaws.s3#MultipartUpload$UploadId */ => { - let var_201 = + let var_201 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3643,7 +3611,7 @@ pub fn multipart_upload_inner( } , s if s.matches("Key") /* Key com.amazonaws.s3#MultipartUpload$Key */ => { - let var_202 = + let var_202 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3656,7 +3624,7 @@ pub fn multipart_upload_inner( } , s if s.matches("Initiated") /* Initiated com.amazonaws.s3#MultipartUpload$Initiated */ => { - let var_203 = + let var_203 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3670,7 +3638,7 @@ pub fn multipart_upload_inner( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#MultipartUpload$StorageClass */ => { - let var_204 = + let var_204 = Some( Result::::Ok( crate::model::StorageClass::from( @@ -3684,7 +3652,7 @@ pub fn multipart_upload_inner( } , s if s.matches("Owner") /* Owner com.amazonaws.s3#MultipartUpload$Owner */ => { - let var_205 = + let var_205 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -3694,7 +3662,7 @@ pub fn multipart_upload_inner( } , s if s.matches("Initiator") /* Initiator com.amazonaws.s3#MultipartUpload$Initiator */ => { - let var_206 = + let var_206 = Some( crate::xml_deser::initiator_inner(&mut tag) ? @@ -3714,11 +3682,10 @@ pub fn object_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Object::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.s3#Object$Key */ => { - let var_207 = + let var_207 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3731,7 +3698,7 @@ pub fn object_inner( } , s if s.matches("LastModified") /* LastModified com.amazonaws.s3#Object$LastModified */ => { - let var_208 = + let var_208 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3745,7 +3712,7 @@ pub fn object_inner( } , s if s.matches("ETag") /* ETag com.amazonaws.s3#Object$ETag */ => { - let var_209 = + let var_209 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3758,7 +3725,7 @@ pub fn object_inner( } , s if s.matches("Size") /* Size com.amazonaws.s3#Object$Size */ => { - let var_210 = + let var_210 = { use std::str::FromStr; i32::from_str( @@ -3772,7 +3739,7 @@ pub fn object_inner( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#Object$StorageClass */ => { - let var_211 = + let var_211 = Some( Result::::Ok( crate::model::ObjectStorageClass::from( @@ -3786,7 +3753,7 @@ pub fn object_inner( } , s if s.matches("Owner") /* Owner com.amazonaws.s3#Object$Owner */ => { - let var_212 = + let var_212 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -3806,11 +3773,10 @@ pub fn object_version_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ObjectVersion::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ETag") /* ETag com.amazonaws.s3#ObjectVersion$ETag */ => { - let var_213 = + let var_213 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3823,7 +3789,7 @@ pub fn object_version_inner( } , s if s.matches("Size") /* Size com.amazonaws.s3#ObjectVersion$Size */ => { - let var_214 = + let var_214 = { use std::str::FromStr; i32::from_str( @@ -3837,7 +3803,7 @@ pub fn object_version_inner( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#ObjectVersion$StorageClass */ => { - let var_215 = + let var_215 = Some( Result::::Ok( crate::model::ObjectVersionStorageClass::from( @@ -3851,7 +3817,7 @@ pub fn object_version_inner( } , s if s.matches("Key") /* Key com.amazonaws.s3#ObjectVersion$Key */ => { - let var_216 = + let var_216 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3864,7 +3830,7 @@ pub fn object_version_inner( } , s if s.matches("VersionId") /* VersionId com.amazonaws.s3#ObjectVersion$VersionId */ => { - let var_217 = + let var_217 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3877,7 +3843,7 @@ pub fn object_version_inner( } , s if s.matches("IsLatest") /* IsLatest com.amazonaws.s3#ObjectVersion$IsLatest */ => { - let var_218 = + let var_218 = { use std::str::FromStr; bool::from_str( @@ -3891,7 +3857,7 @@ pub fn object_version_inner( } , s if s.matches("LastModified") /* LastModified com.amazonaws.s3#ObjectVersion$LastModified */ => { - let var_219 = + let var_219 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3905,7 +3871,7 @@ pub fn object_version_inner( } , s if s.matches("Owner") /* Owner com.amazonaws.s3#ObjectVersion$Owner */ => { - let var_220 = + let var_220 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -3925,11 +3891,10 @@ pub fn delete_marker_entry_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::DeleteMarkerEntry::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Owner") /* Owner com.amazonaws.s3#DeleteMarkerEntry$Owner */ => { - let var_221 = + let var_221 = Some( crate::xml_deser::owner_inner(&mut tag) ? @@ -3939,7 +3904,7 @@ pub fn delete_marker_entry_inner( } , s if s.matches("Key") /* Key com.amazonaws.s3#DeleteMarkerEntry$Key */ => { - let var_222 = + let var_222 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3952,7 +3917,7 @@ pub fn delete_marker_entry_inner( } , s if s.matches("VersionId") /* VersionId com.amazonaws.s3#DeleteMarkerEntry$VersionId */ => { - let var_223 = + let var_223 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3965,7 +3930,7 @@ pub fn delete_marker_entry_inner( } , s if s.matches("IsLatest") /* IsLatest com.amazonaws.s3#DeleteMarkerEntry$IsLatest */ => { - let var_224 = + let var_224 = { use std::str::FromStr; bool::from_str( @@ -3979,7 +3944,7 @@ pub fn delete_marker_entry_inner( } , s if s.matches("LastModified") /* LastModified com.amazonaws.s3#DeleteMarkerEntry$LastModified */ => { - let var_225 = + let var_225 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4003,11 +3968,10 @@ pub fn part_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Part::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PartNumber") /* PartNumber com.amazonaws.s3#Part$PartNumber */ => { - let var_226 = + let var_226 = { use std::str::FromStr; i32::from_str( @@ -4021,7 +3985,7 @@ pub fn part_inner( } , s if s.matches("LastModified") /* LastModified com.amazonaws.s3#Part$LastModified */ => { - let var_227 = + let var_227 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4035,7 +3999,7 @@ pub fn part_inner( } , s if s.matches("ETag") /* ETag com.amazonaws.s3#Part$ETag */ => { - let var_228 = + let var_228 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4048,7 +4012,7 @@ pub fn part_inner( } , s if s.matches("Size") /* Size com.amazonaws.s3#Part$Size */ => { - let var_229 = + let var_229 = { use std::str::FromStr; i32::from_str( @@ -4072,11 +4036,10 @@ pub fn initiator_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Initiator::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ID") /* ID com.amazonaws.s3#Initiator$ID */ => { - let var_230 = + let var_230 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4089,7 +4052,7 @@ pub fn initiator_inner( } , s if s.matches("DisplayName") /* DisplayName com.amazonaws.s3#Initiator$DisplayName */ => { - let var_231 = + let var_231 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4112,11 +4075,10 @@ pub fn copy_object_result_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::CopyObjectResult::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ETag") /* ETag com.amazonaws.s3#CopyObjectResult$ETag */ => { - let var_232 = + let var_232 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4129,7 +4091,7 @@ pub fn copy_object_result_inner( } , s if s.matches("LastModified") /* LastModified com.amazonaws.s3#CopyObjectResult$LastModified */ => { - let var_233 = + let var_233 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4153,11 +4115,10 @@ pub fn server_side_encryption_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ServerSideEncryptionConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Rule") /* Rules com.amazonaws.s3#ServerSideEncryptionConfiguration$Rules */ => { - let var_234 = + let var_234 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_235 = builder.rules.take().unwrap_or_default(); @@ -4184,11 +4145,10 @@ pub fn ownership_controls_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::OwnershipControls::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Rule") /* Rules com.amazonaws.s3#OwnershipControls$Rules */ => { - let var_236 = + let var_236 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_237 = builder.rules.take().unwrap_or_default(); @@ -4215,11 +4175,10 @@ pub fn policy_status_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::PolicyStatus::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("IsPublic") /* IsPublic com.amazonaws.s3#PolicyStatus$IsPublic */ => { - let var_238 = + let var_238 = { use std::str::FromStr; bool::from_str( @@ -4243,11 +4202,10 @@ pub fn replication_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ReplicationConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Role") /* Role com.amazonaws.s3#ReplicationConfiguration$Role */ => { - let var_239 = + let var_239 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4260,7 +4218,7 @@ pub fn replication_configuration_inner( } , s if s.matches("Rule") /* Rules com.amazonaws.s3#ReplicationConfiguration$Rules */ => { - let var_240 = + let var_240 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_241 = builder.rules.take().unwrap_or_default(); @@ -4287,11 +4245,10 @@ pub fn object_lock_legal_hold_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ObjectLockLegalHold::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#ObjectLockLegalHold$Status */ => { - let var_242 = + let var_242 = Some( Result::::Ok( crate::model::ObjectLockLegalHoldStatus::from( @@ -4315,11 +4272,10 @@ pub fn object_lock_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ObjectLockConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ObjectLockEnabled") /* ObjectLockEnabled com.amazonaws.s3#ObjectLockConfiguration$ObjectLockEnabled */ => { - let var_243 = + let var_243 = Some( Result::::Ok( crate::model::ObjectLockEnabled::from( @@ -4333,7 +4289,7 @@ pub fn object_lock_configuration_inner( } , s if s.matches("Rule") /* Rule com.amazonaws.s3#ObjectLockConfiguration$Rule */ => { - let var_244 = + let var_244 = Some( crate::xml_deser::object_lock_rule_inner(&mut tag) ? @@ -4353,11 +4309,10 @@ pub fn object_lock_retention_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ObjectLockRetention::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Mode") /* Mode com.amazonaws.s3#ObjectLockRetention$Mode */ => { - let var_245 = + let var_245 = Some( Result::::Ok( crate::model::ObjectLockRetentionMode::from( @@ -4371,7 +4326,7 @@ pub fn object_lock_retention_inner( } , s if s.matches("RetainUntilDate") /* RetainUntilDate com.amazonaws.s3#ObjectLockRetention$RetainUntilDate */ => { - let var_246 = + let var_246 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4395,11 +4350,10 @@ pub fn public_access_block_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::PublicAccessBlockConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("BlockPublicAcls") /* BlockPublicAcls com.amazonaws.s3#PublicAccessBlockConfiguration$BlockPublicAcls */ => { - let var_247 = + let var_247 = { use std::str::FromStr; bool::from_str( @@ -4413,7 +4367,7 @@ pub fn public_access_block_configuration_inner( } , s if s.matches("IgnorePublicAcls") /* IgnorePublicAcls com.amazonaws.s3#PublicAccessBlockConfiguration$IgnorePublicAcls */ => { - let var_248 = + let var_248 = { use std::str::FromStr; bool::from_str( @@ -4427,7 +4381,7 @@ pub fn public_access_block_configuration_inner( } , s if s.matches("BlockPublicPolicy") /* BlockPublicPolicy com.amazonaws.s3#PublicAccessBlockConfiguration$BlockPublicPolicy */ => { - let var_249 = + let var_249 = { use std::str::FromStr; bool::from_str( @@ -4441,7 +4395,7 @@ pub fn public_access_block_configuration_inner( } , s if s.matches("RestrictPublicBuckets") /* RestrictPublicBuckets com.amazonaws.s3#PublicAccessBlockConfiguration$RestrictPublicBuckets */ => { - let var_250 = + let var_250 = { use std::str::FromStr; bool::from_str( @@ -4465,11 +4419,10 @@ pub fn copy_part_result_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::CopyPartResult::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ETag") /* ETag com.amazonaws.s3#CopyPartResult$ETag */ => { - let var_251 = + let var_251 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4482,7 +4435,7 @@ pub fn copy_part_result_inner( } , s if s.matches("LastModified") /* LastModified com.amazonaws.s3#CopyPartResult$LastModified */ => { - let var_252 = + let var_252 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4506,11 +4459,10 @@ pub fn grant_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Grant::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Grantee") /* Grantee com.amazonaws.s3#Grant$Grantee */ => { - let var_253 = + let var_253 = Some( crate::xml_deser::grantee_inner(&mut tag) ? @@ -4520,7 +4472,7 @@ pub fn grant_inner( } , s if s.matches("Permission") /* Permission com.amazonaws.s3#Grant$Permission */ => { - let var_254 = + let var_254 = Some( Result::::Ok( crate::model::Permission::from( @@ -4544,11 +4496,10 @@ pub fn lifecycle_expiration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::LifecycleExpiration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Date") /* Date com.amazonaws.s3#LifecycleExpiration$Date */ => { - let var_255 = + let var_255 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4562,7 +4513,7 @@ pub fn lifecycle_expiration_inner( } , s if s.matches("Days") /* Days com.amazonaws.s3#LifecycleExpiration$Days */ => { - let var_256 = + let var_256 = { use std::str::FromStr; i32::from_str( @@ -4576,7 +4527,7 @@ pub fn lifecycle_expiration_inner( } , s if s.matches("ExpiredObjectDeleteMarker") /* ExpiredObjectDeleteMarker com.amazonaws.s3#LifecycleExpiration$ExpiredObjectDeleteMarker */ => { - let var_257 = + let var_257 = { use std::str::FromStr; bool::from_str( @@ -4602,7 +4553,7 @@ pub fn lifecycle_rule_filter_inner( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#LifecycleRuleFilter$Prefix */ => { - let tmp = + let tmp = Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() .into() @@ -4613,7 +4564,7 @@ pub fn lifecycle_rule_filter_inner( } , s if s.matches("Tag") /* Tag com.amazonaws.s3#LifecycleRuleFilter$Tag */ => { - let tmp = + let tmp = crate::xml_deser::tag_inner(&mut tag) ? ; @@ -4621,7 +4572,7 @@ pub fn lifecycle_rule_filter_inner( } , s if s.matches("And") /* And com.amazonaws.s3#LifecycleRuleFilter$And */ => { - let tmp = + let tmp = crate::xml_deser::lifecycle_rule_and_operator_inner(&mut tag) ? ; @@ -4639,11 +4590,10 @@ pub fn transition_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Transition::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Date") /* Date com.amazonaws.s3#Transition$Date */ => { - let var_258 = + let var_258 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4657,7 +4607,7 @@ pub fn transition_inner( } , s if s.matches("Days") /* Days com.amazonaws.s3#Transition$Days */ => { - let var_259 = + let var_259 = { use std::str::FromStr; i32::from_str( @@ -4671,7 +4621,7 @@ pub fn transition_inner( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#Transition$StorageClass */ => { - let var_260 = + let var_260 = Some( Result::::Ok( crate::model::TransitionStorageClass::from( @@ -4695,11 +4645,10 @@ pub fn noncurrent_version_transition_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::NoncurrentVersionTransition::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NoncurrentDays") /* NoncurrentDays com.amazonaws.s3#NoncurrentVersionTransition$NoncurrentDays */ => { - let var_261 = + let var_261 = { use std::str::FromStr; i32::from_str( @@ -4713,7 +4662,7 @@ pub fn noncurrent_version_transition_inner( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#NoncurrentVersionTransition$StorageClass */ => { - let var_262 = + let var_262 = Some( Result::::Ok( crate::model::TransitionStorageClass::from( @@ -4737,11 +4686,10 @@ pub fn noncurrent_version_expiration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::NoncurrentVersionExpiration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NoncurrentDays") /* NoncurrentDays com.amazonaws.s3#NoncurrentVersionExpiration$NoncurrentDays */ => { - let var_263 = + let var_263 = { use std::str::FromStr; i32::from_str( @@ -4765,11 +4713,10 @@ pub fn abort_incomplete_multipart_upload_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::AbortIncompleteMultipartUpload::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DaysAfterInitiation") /* DaysAfterInitiation com.amazonaws.s3#AbortIncompleteMultipartUpload$DaysAfterInitiation */ => { - let var_264 = + let var_264 = { use std::str::FromStr; i32::from_str( @@ -4812,11 +4759,10 @@ pub fn notification_configuration_filter_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::NotificationConfigurationFilter::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("S3Key") /* Key com.amazonaws.s3#NotificationConfigurationFilter$Key */ => { - let var_265 = + let var_265 = Some( crate::xml_deser::s3_key_filter_inner(&mut tag) ? @@ -4836,11 +4782,10 @@ pub fn tag_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Tag::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.s3#Tag$Key */ => { - let var_266 = + let var_266 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4853,7 +4798,7 @@ pub fn tag_inner( } , s if s.matches("Value") /* Value com.amazonaws.s3#Tag$Value */ => { - let var_267 = + let var_267 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4876,11 +4821,10 @@ pub fn routing_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::RoutingRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Condition") /* Condition com.amazonaws.s3#RoutingRule$Condition */ => { - let var_268 = + let var_268 = Some( crate::xml_deser::condition_inner(&mut tag) ? @@ -4890,7 +4834,7 @@ pub fn routing_rule_inner( } , s if s.matches("Redirect") /* Redirect com.amazonaws.s3#RoutingRule$Redirect */ => { - let var_269 = + let var_269 = Some( crate::xml_deser::redirect_inner(&mut tag) ? @@ -4912,7 +4856,7 @@ pub fn analytics_filter_inner( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#AnalyticsFilter$Prefix */ => { - let tmp = + let tmp = Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() .into() @@ -4923,7 +4867,7 @@ pub fn analytics_filter_inner( } , s if s.matches("Tag") /* Tag com.amazonaws.s3#AnalyticsFilter$Tag */ => { - let tmp = + let tmp = crate::xml_deser::tag_inner(&mut tag) ? ; @@ -4931,7 +4875,7 @@ pub fn analytics_filter_inner( } , s if s.matches("And") /* And com.amazonaws.s3#AnalyticsFilter$And */ => { - let tmp = + let tmp = crate::xml_deser::analytics_and_operator_inner(&mut tag) ? ; @@ -4949,11 +4893,10 @@ pub fn storage_class_analysis_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::StorageClassAnalysis::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DataExport") /* DataExport com.amazonaws.s3#StorageClassAnalysis$DataExport */ => { - let var_270 = + let var_270 = Some( crate::xml_deser::storage_class_analysis_data_export_inner(&mut tag) ? @@ -4973,11 +4916,10 @@ pub fn intelligent_tiering_filter_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::IntelligentTieringFilter::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#IntelligentTieringFilter$Prefix */ => { - let var_271 = + let var_271 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4990,7 +4932,7 @@ pub fn intelligent_tiering_filter_inner( } , s if s.matches("Tag") /* Tag com.amazonaws.s3#IntelligentTieringFilter$Tag */ => { - let var_272 = + let var_272 = Some( crate::xml_deser::tag_inner(&mut tag) ? @@ -5000,7 +4942,7 @@ pub fn intelligent_tiering_filter_inner( } , s if s.matches("And") /* And com.amazonaws.s3#IntelligentTieringFilter$And */ => { - let var_273 = + let var_273 = Some( crate::xml_deser::intelligent_tiering_and_operator_inner(&mut tag) ? @@ -5020,11 +4962,10 @@ pub fn tiering_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Tiering::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Days") /* Days com.amazonaws.s3#Tiering$Days */ => { - let var_274 = + let var_274 = { use std::str::FromStr; i32::from_str( @@ -5038,7 +4979,7 @@ pub fn tiering_inner( } , s if s.matches("AccessTier") /* AccessTier com.amazonaws.s3#Tiering$AccessTier */ => { - let var_275 = + let var_275 = Some( Result::::Ok( crate::model::IntelligentTieringAccessTier::from( @@ -5062,11 +5003,10 @@ pub fn inventory_destination_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::InventoryDestination::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("S3BucketDestination") /* S3BucketDestination com.amazonaws.s3#InventoryDestination$S3BucketDestination */ => { - let var_276 = + let var_276 = Some( crate::xml_deser::inventory_s3_bucket_destination_inner(&mut tag) ? @@ -5086,11 +5026,10 @@ pub fn inventory_filter_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::InventoryFilter::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#InventoryFilter$Prefix */ => { - let var_277 = + let var_277 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5136,11 +5075,10 @@ pub fn inventory_schedule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::InventorySchedule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Frequency") /* Frequency com.amazonaws.s3#InventorySchedule$Frequency */ => { - let var_278 = + let var_278 = Some( Result::::Ok( crate::model::InventoryFrequency::from( @@ -5166,7 +5104,7 @@ pub fn metrics_filter_inner( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#MetricsFilter$Prefix */ => { - let tmp = + let tmp = Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() .into() @@ -5177,7 +5115,7 @@ pub fn metrics_filter_inner( } , s if s.matches("Tag") /* Tag com.amazonaws.s3#MetricsFilter$Tag */ => { - let tmp = + let tmp = crate::xml_deser::tag_inner(&mut tag) ? ; @@ -5185,7 +5123,7 @@ pub fn metrics_filter_inner( } , s if s.matches("And") /* And com.amazonaws.s3#MetricsFilter$And */ => { - let tmp = + let tmp = crate::xml_deser::metrics_and_operator_inner(&mut tag) ? ; @@ -5203,11 +5141,10 @@ pub fn bucket_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Bucket::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.s3#Bucket$Name */ => { - let var_279 = + let var_279 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5220,7 +5157,7 @@ pub fn bucket_inner( } , s if s.matches("CreationDate") /* CreationDate com.amazonaws.s3#Bucket$CreationDate */ => { - let var_280 = + let var_280 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5244,11 +5181,10 @@ pub fn server_side_encryption_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ServerSideEncryptionRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ApplyServerSideEncryptionByDefault") /* ApplyServerSideEncryptionByDefault com.amazonaws.s3#ServerSideEncryptionRule$ApplyServerSideEncryptionByDefault */ => { - let var_281 = + let var_281 = Some( crate::xml_deser::server_side_encryption_by_default_inner(&mut tag) ? @@ -5258,7 +5194,7 @@ pub fn server_side_encryption_rule_inner( } , s if s.matches("BucketKeyEnabled") /* BucketKeyEnabled com.amazonaws.s3#ServerSideEncryptionRule$BucketKeyEnabled */ => { - let var_282 = + let var_282 = { use std::str::FromStr; bool::from_str( @@ -5282,11 +5218,10 @@ pub fn ownership_controls_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::OwnershipControlsRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ObjectOwnership") /* ObjectOwnership com.amazonaws.s3#OwnershipControlsRule$ObjectOwnership */ => { - let var_283 = + let var_283 = Some( Result::::Ok( crate::model::ObjectOwnership::from( @@ -5310,11 +5245,10 @@ pub fn replication_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ReplicationRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ID") /* ID com.amazonaws.s3#ReplicationRule$ID */ => { - let var_284 = + let var_284 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5327,7 +5261,7 @@ pub fn replication_rule_inner( } , s if s.matches("Priority") /* Priority com.amazonaws.s3#ReplicationRule$Priority */ => { - let var_285 = + let var_285 = { use std::str::FromStr; i32::from_str( @@ -5341,7 +5275,7 @@ pub fn replication_rule_inner( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ReplicationRule$Prefix */ => { - let var_286 = + let var_286 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5354,7 +5288,7 @@ pub fn replication_rule_inner( } , s if s.matches("Filter") /* Filter com.amazonaws.s3#ReplicationRule$Filter */ => { - let var_287 = + let var_287 = Some( crate::xml_deser::replication_rule_filter_inner(&mut tag) ? @@ -5364,7 +5298,7 @@ pub fn replication_rule_inner( } , s if s.matches("Status") /* Status com.amazonaws.s3#ReplicationRule$Status */ => { - let var_288 = + let var_288 = Some( Result::::Ok( crate::model::ReplicationRuleStatus::from( @@ -5378,7 +5312,7 @@ pub fn replication_rule_inner( } , s if s.matches("SourceSelectionCriteria") /* SourceSelectionCriteria com.amazonaws.s3#ReplicationRule$SourceSelectionCriteria */ => { - let var_289 = + let var_289 = Some( crate::xml_deser::source_selection_criteria_inner(&mut tag) ? @@ -5388,7 +5322,7 @@ pub fn replication_rule_inner( } , s if s.matches("ExistingObjectReplication") /* ExistingObjectReplication com.amazonaws.s3#ReplicationRule$ExistingObjectReplication */ => { - let var_290 = + let var_290 = Some( crate::xml_deser::existing_object_replication_inner(&mut tag) ? @@ -5398,7 +5332,7 @@ pub fn replication_rule_inner( } , s if s.matches("Destination") /* Destination com.amazonaws.s3#ReplicationRule$Destination */ => { - let var_291 = + let var_291 = Some( crate::xml_deser::destination_inner(&mut tag) ? @@ -5408,7 +5342,7 @@ pub fn replication_rule_inner( } , s if s.matches("DeleteMarkerReplication") /* DeleteMarkerReplication com.amazonaws.s3#ReplicationRule$DeleteMarkerReplication */ => { - let var_292 = + let var_292 = Some( crate::xml_deser::delete_marker_replication_inner(&mut tag) ? @@ -5428,11 +5362,10 @@ pub fn object_lock_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ObjectLockRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DefaultRetention") /* DefaultRetention com.amazonaws.s3#ObjectLockRule$DefaultRetention */ => { - let var_293 = + let var_293 = Some( crate::xml_deser::default_retention_inner(&mut tag) ? @@ -5452,7 +5385,6 @@ pub fn grantee_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Grantee::builder(); - let attrib_294 = { let s = decoder.start_el().attr("xsi:type"); match s { @@ -5468,7 +5400,7 @@ pub fn grantee_inner( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DisplayName") /* DisplayName com.amazonaws.s3#Grantee$DisplayName */ => { - let var_295 = + let var_295 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5481,7 +5413,7 @@ pub fn grantee_inner( } , s if s.matches("EmailAddress") /* EmailAddress com.amazonaws.s3#Grantee$EmailAddress */ => { - let var_296 = + let var_296 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5494,7 +5426,7 @@ pub fn grantee_inner( } , s if s.matches("ID") /* ID com.amazonaws.s3#Grantee$ID */ => { - let var_297 = + let var_297 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5507,7 +5439,7 @@ pub fn grantee_inner( } , s if s.matches("URI") /* URI com.amazonaws.s3#Grantee$URI */ => { - let var_298 = + let var_298 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5530,11 +5462,10 @@ pub fn lifecycle_rule_and_operator_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::LifecycleRuleAndOperator::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#LifecycleRuleAndOperator$Prefix */ => { - let var_299 = + let var_299 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5547,7 +5478,7 @@ pub fn lifecycle_rule_and_operator_inner( } , s if s.matches("Tag") /* Tags com.amazonaws.s3#LifecycleRuleAndOperator$Tags */ => { - let var_300 = + let var_300 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_301 = builder.tags.take().unwrap_or_default(); @@ -5574,11 +5505,10 @@ pub fn target_grant_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::TargetGrant::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Grantee") /* Grantee com.amazonaws.s3#TargetGrant$Grantee */ => { - let var_302 = + let var_302 = Some( crate::xml_deser::grantee_inner(&mut tag) ? @@ -5588,7 +5518,7 @@ pub fn target_grant_inner( } , s if s.matches("Permission") /* Permission com.amazonaws.s3#TargetGrant$Permission */ => { - let var_303 = + let var_303 = Some( Result::::Ok( crate::model::BucketLogsPermission::from( @@ -5612,11 +5542,10 @@ pub fn s3_key_filter_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::S3KeyFilter::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("FilterRule") /* FilterRules com.amazonaws.s3#S3KeyFilter$FilterRules */ => { - let var_304 = + let var_304 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_305 = builder.filter_rules.take().unwrap_or_default(); @@ -5643,11 +5572,10 @@ pub fn condition_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Condition::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("HttpErrorCodeReturnedEquals") /* HttpErrorCodeReturnedEquals com.amazonaws.s3#Condition$HttpErrorCodeReturnedEquals */ => { - let var_306 = + let var_306 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5660,7 +5588,7 @@ pub fn condition_inner( } , s if s.matches("KeyPrefixEquals") /* KeyPrefixEquals com.amazonaws.s3#Condition$KeyPrefixEquals */ => { - let var_307 = + let var_307 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5683,11 +5611,10 @@ pub fn redirect_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Redirect::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("HostName") /* HostName com.amazonaws.s3#Redirect$HostName */ => { - let var_308 = + let var_308 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5700,7 +5627,7 @@ pub fn redirect_inner( } , s if s.matches("HttpRedirectCode") /* HttpRedirectCode com.amazonaws.s3#Redirect$HttpRedirectCode */ => { - let var_309 = + let var_309 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5713,7 +5640,7 @@ pub fn redirect_inner( } , s if s.matches("Protocol") /* Protocol com.amazonaws.s3#Redirect$Protocol */ => { - let var_310 = + let var_310 = Some( Result::::Ok( crate::model::Protocol::from( @@ -5727,7 +5654,7 @@ pub fn redirect_inner( } , s if s.matches("ReplaceKeyPrefixWith") /* ReplaceKeyPrefixWith com.amazonaws.s3#Redirect$ReplaceKeyPrefixWith */ => { - let var_311 = + let var_311 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5740,7 +5667,7 @@ pub fn redirect_inner( } , s if s.matches("ReplaceKeyWith") /* ReplaceKeyWith com.amazonaws.s3#Redirect$ReplaceKeyWith */ => { - let var_312 = + let var_312 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5763,11 +5690,10 @@ pub fn analytics_and_operator_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::AnalyticsAndOperator::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#AnalyticsAndOperator$Prefix */ => { - let var_313 = + let var_313 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5780,7 +5706,7 @@ pub fn analytics_and_operator_inner( } , s if s.matches("Tag") /* Tags com.amazonaws.s3#AnalyticsAndOperator$Tags */ => { - let var_314 = + let var_314 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_315 = builder.tags.take().unwrap_or_default(); @@ -5807,11 +5733,10 @@ pub fn storage_class_analysis_data_export_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::StorageClassAnalysisDataExport::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("OutputSchemaVersion") /* OutputSchemaVersion com.amazonaws.s3#StorageClassAnalysisDataExport$OutputSchemaVersion */ => { - let var_316 = + let var_316 = Some( Result::::Ok( crate::model::StorageClassAnalysisSchemaVersion::from( @@ -5825,7 +5750,7 @@ pub fn storage_class_analysis_data_export_inner( } , s if s.matches("Destination") /* Destination com.amazonaws.s3#StorageClassAnalysisDataExport$Destination */ => { - let var_317 = + let var_317 = Some( crate::xml_deser::analytics_export_destination_inner(&mut tag) ? @@ -5845,11 +5770,10 @@ pub fn intelligent_tiering_and_operator_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::IntelligentTieringAndOperator::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#IntelligentTieringAndOperator$Prefix */ => { - let var_318 = + let var_318 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5862,7 +5786,7 @@ pub fn intelligent_tiering_and_operator_inner( } , s if s.matches("Tag") /* Tags com.amazonaws.s3#IntelligentTieringAndOperator$Tags */ => { - let var_319 = + let var_319 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_320 = builder.tags.take().unwrap_or_default(); @@ -5889,11 +5813,10 @@ pub fn inventory_s3_bucket_destination_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::InventoryS3BucketDestination::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AccountId") /* AccountId com.amazonaws.s3#InventoryS3BucketDestination$AccountId */ => { - let var_321 = + let var_321 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5906,7 +5829,7 @@ pub fn inventory_s3_bucket_destination_inner( } , s if s.matches("Bucket") /* Bucket com.amazonaws.s3#InventoryS3BucketDestination$Bucket */ => { - let var_322 = + let var_322 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5919,7 +5842,7 @@ pub fn inventory_s3_bucket_destination_inner( } , s if s.matches("Format") /* Format com.amazonaws.s3#InventoryS3BucketDestination$Format */ => { - let var_323 = + let var_323 = Some( Result::::Ok( crate::model::InventoryFormat::from( @@ -5933,7 +5856,7 @@ pub fn inventory_s3_bucket_destination_inner( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#InventoryS3BucketDestination$Prefix */ => { - let var_324 = + let var_324 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5946,7 +5869,7 @@ pub fn inventory_s3_bucket_destination_inner( } , s if s.matches("Encryption") /* Encryption com.amazonaws.s3#InventoryS3BucketDestination$Encryption */ => { - let var_325 = + let var_325 = Some( crate::xml_deser::inventory_encryption_inner(&mut tag) ? @@ -5966,11 +5889,10 @@ pub fn metrics_and_operator_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::MetricsAndOperator::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#MetricsAndOperator$Prefix */ => { - let var_326 = + let var_326 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5983,7 +5905,7 @@ pub fn metrics_and_operator_inner( } , s if s.matches("Tag") /* Tags com.amazonaws.s3#MetricsAndOperator$Tags */ => { - let var_327 = + let var_327 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_328 = builder.tags.take().unwrap_or_default(); @@ -6010,11 +5932,10 @@ pub fn server_side_encryption_by_default_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ServerSideEncryptionByDefault::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SSEAlgorithm") /* SSEAlgorithm com.amazonaws.s3#ServerSideEncryptionByDefault$SSEAlgorithm */ => { - let var_329 = + let var_329 = Some( Result::::Ok( crate::model::ServerSideEncryption::from( @@ -6028,7 +5949,7 @@ pub fn server_side_encryption_by_default_inner( } , s if s.matches("KMSMasterKeyID") /* KMSMasterKeyID com.amazonaws.s3#ServerSideEncryptionByDefault$KMSMasterKeyID */ => { - let var_330 = + let var_330 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6053,7 +5974,7 @@ pub fn replication_rule_filter_inner( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ReplicationRuleFilter$Prefix */ => { - let tmp = + let tmp = Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() .into() @@ -6064,7 +5985,7 @@ pub fn replication_rule_filter_inner( } , s if s.matches("Tag") /* Tag com.amazonaws.s3#ReplicationRuleFilter$Tag */ => { - let tmp = + let tmp = crate::xml_deser::tag_inner(&mut tag) ? ; @@ -6072,7 +5993,7 @@ pub fn replication_rule_filter_inner( } , s if s.matches("And") /* And com.amazonaws.s3#ReplicationRuleFilter$And */ => { - let tmp = + let tmp = crate::xml_deser::replication_rule_and_operator_inner(&mut tag) ? ; @@ -6090,11 +6011,10 @@ pub fn source_selection_criteria_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::SourceSelectionCriteria::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SseKmsEncryptedObjects") /* SseKmsEncryptedObjects com.amazonaws.s3#SourceSelectionCriteria$SseKmsEncryptedObjects */ => { - let var_331 = + let var_331 = Some( crate::xml_deser::sse_kms_encrypted_objects_inner(&mut tag) ? @@ -6104,7 +6024,7 @@ pub fn source_selection_criteria_inner( } , s if s.matches("ReplicaModifications") /* ReplicaModifications com.amazonaws.s3#SourceSelectionCriteria$ReplicaModifications */ => { - let var_332 = + let var_332 = Some( crate::xml_deser::replica_modifications_inner(&mut tag) ? @@ -6124,11 +6044,10 @@ pub fn existing_object_replication_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ExistingObjectReplication::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#ExistingObjectReplication$Status */ => { - let var_333 = + let var_333 = Some( Result::::Ok( crate::model::ExistingObjectReplicationStatus::from( @@ -6152,11 +6071,10 @@ pub fn destination_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Destination::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Bucket") /* Bucket com.amazonaws.s3#Destination$Bucket */ => { - let var_334 = + let var_334 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6169,7 +6087,7 @@ pub fn destination_inner( } , s if s.matches("Account") /* Account com.amazonaws.s3#Destination$Account */ => { - let var_335 = + let var_335 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6182,7 +6100,7 @@ pub fn destination_inner( } , s if s.matches("StorageClass") /* StorageClass com.amazonaws.s3#Destination$StorageClass */ => { - let var_336 = + let var_336 = Some( Result::::Ok( crate::model::StorageClass::from( @@ -6196,7 +6114,7 @@ pub fn destination_inner( } , s if s.matches("AccessControlTranslation") /* AccessControlTranslation com.amazonaws.s3#Destination$AccessControlTranslation */ => { - let var_337 = + let var_337 = Some( crate::xml_deser::access_control_translation_inner(&mut tag) ? @@ -6206,7 +6124,7 @@ pub fn destination_inner( } , s if s.matches("EncryptionConfiguration") /* EncryptionConfiguration com.amazonaws.s3#Destination$EncryptionConfiguration */ => { - let var_338 = + let var_338 = Some( crate::xml_deser::encryption_configuration_inner(&mut tag) ? @@ -6216,7 +6134,7 @@ pub fn destination_inner( } , s if s.matches("ReplicationTime") /* ReplicationTime com.amazonaws.s3#Destination$ReplicationTime */ => { - let var_339 = + let var_339 = Some( crate::xml_deser::replication_time_inner(&mut tag) ? @@ -6226,7 +6144,7 @@ pub fn destination_inner( } , s if s.matches("Metrics") /* Metrics com.amazonaws.s3#Destination$Metrics */ => { - let var_340 = + let var_340 = Some( crate::xml_deser::metrics_inner(&mut tag) ? @@ -6246,11 +6164,10 @@ pub fn delete_marker_replication_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::DeleteMarkerReplication::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#DeleteMarkerReplication$Status */ => { - let var_341 = + let var_341 = Some( Result::::Ok( crate::model::DeleteMarkerReplicationStatus::from( @@ -6274,11 +6191,10 @@ pub fn default_retention_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::DefaultRetention::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Mode") /* Mode com.amazonaws.s3#DefaultRetention$Mode */ => { - let var_342 = + let var_342 = Some( Result::::Ok( crate::model::ObjectLockRetentionMode::from( @@ -6292,7 +6208,7 @@ pub fn default_retention_inner( } , s if s.matches("Days") /* Days com.amazonaws.s3#DefaultRetention$Days */ => { - let var_343 = + let var_343 = { use std::str::FromStr; i32::from_str( @@ -6306,7 +6222,7 @@ pub fn default_retention_inner( } , s if s.matches("Years") /* Years com.amazonaws.s3#DefaultRetention$Years */ => { - let var_344 = + let var_344 = { use std::str::FromStr; i32::from_str( @@ -6330,11 +6246,10 @@ pub fn filter_rule_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::FilterRule::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.s3#FilterRule$Name */ => { - let var_345 = + let var_345 = Some( Result::::Ok( crate::model::FilterRuleName::from( @@ -6348,7 +6263,7 @@ pub fn filter_rule_inner( } , s if s.matches("Value") /* Value com.amazonaws.s3#FilterRule$Value */ => { - let var_346 = + let var_346 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6371,11 +6286,10 @@ pub fn analytics_export_destination_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::AnalyticsExportDestination::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("S3BucketDestination") /* S3BucketDestination com.amazonaws.s3#AnalyticsExportDestination$S3BucketDestination */ => { - let var_347 = + let var_347 = Some( crate::xml_deser::analytics_s3_bucket_destination_inner(&mut tag) ? @@ -6395,11 +6309,10 @@ pub fn inventory_encryption_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::InventoryEncryption::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SSE-S3") /* SSES3 com.amazonaws.s3#InventoryEncryption$SSES3 */ => { - let var_348 = + let var_348 = Some( crate::xml_deser::sses3_inner(&mut tag) ? @@ -6409,7 +6322,7 @@ pub fn inventory_encryption_inner( } , s if s.matches("SSE-KMS") /* SSEKMS com.amazonaws.s3#InventoryEncryption$SSEKMS */ => { - let var_349 = + let var_349 = Some( crate::xml_deser::ssekms_inner(&mut tag) ? @@ -6429,11 +6342,10 @@ pub fn replication_rule_and_operator_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ReplicationRuleAndOperator::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Prefix") /* Prefix com.amazonaws.s3#ReplicationRuleAndOperator$Prefix */ => { - let var_350 = + let var_350 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6446,7 +6358,7 @@ pub fn replication_rule_and_operator_inner( } , s if s.matches("Tag") /* Tags com.amazonaws.s3#ReplicationRuleAndOperator$Tags */ => { - let var_351 = + let var_351 = Some( Result::, smithy_xml::decode::XmlError>::Ok({ let mut list_352 = builder.tags.take().unwrap_or_default(); @@ -6473,11 +6385,10 @@ pub fn sse_kms_encrypted_objects_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::SseKmsEncryptedObjects::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#SseKmsEncryptedObjects$Status */ => { - let var_353 = + let var_353 = Some( Result::::Ok( crate::model::SseKmsEncryptedObjectsStatus::from( @@ -6501,11 +6412,10 @@ pub fn replica_modifications_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ReplicaModifications::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#ReplicaModifications$Status */ => { - let var_354 = + let var_354 = Some( Result::::Ok( crate::model::ReplicaModificationsStatus::from( @@ -6529,11 +6439,10 @@ pub fn access_control_translation_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::AccessControlTranslation::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Owner") /* Owner com.amazonaws.s3#AccessControlTranslation$Owner */ => { - let var_355 = + let var_355 = Some( Result::::Ok( crate::model::OwnerOverride::from( @@ -6557,11 +6466,10 @@ pub fn encryption_configuration_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::EncryptionConfiguration::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReplicaKmsKeyID") /* ReplicaKmsKeyID com.amazonaws.s3#EncryptionConfiguration$ReplicaKmsKeyID */ => { - let var_356 = + let var_356 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6584,11 +6492,10 @@ pub fn replication_time_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ReplicationTime::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#ReplicationTime$Status */ => { - let var_357 = + let var_357 = Some( Result::::Ok( crate::model::ReplicationTimeStatus::from( @@ -6602,7 +6509,7 @@ pub fn replication_time_inner( } , s if s.matches("Time") /* Time com.amazonaws.s3#ReplicationTime$Time */ => { - let var_358 = + let var_358 = Some( crate::xml_deser::replication_time_value_inner(&mut tag) ? @@ -6622,11 +6529,10 @@ pub fn metrics_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::Metrics::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.s3#Metrics$Status */ => { - let var_359 = + let var_359 = Some( Result::::Ok( crate::model::MetricsStatus::from( @@ -6640,7 +6546,7 @@ pub fn metrics_inner( } , s if s.matches("EventThreshold") /* EventThreshold com.amazonaws.s3#Metrics$EventThreshold */ => { - let var_360 = + let var_360 = Some( crate::xml_deser::replication_time_value_inner(&mut tag) ? @@ -6660,11 +6566,10 @@ pub fn analytics_s3_bucket_destination_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::AnalyticsS3BucketDestination::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Format") /* Format com.amazonaws.s3#AnalyticsS3BucketDestination$Format */ => { - let var_361 = + let var_361 = Some( Result::::Ok( crate::model::AnalyticsS3ExportFileFormat::from( @@ -6678,7 +6583,7 @@ pub fn analytics_s3_bucket_destination_inner( } , s if s.matches("BucketAccountId") /* BucketAccountId com.amazonaws.s3#AnalyticsS3BucketDestination$BucketAccountId */ => { - let var_362 = + let var_362 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6691,7 +6596,7 @@ pub fn analytics_s3_bucket_destination_inner( } , s if s.matches("Bucket") /* Bucket com.amazonaws.s3#AnalyticsS3BucketDestination$Bucket */ => { - let var_363 = + let var_363 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6704,7 +6609,7 @@ pub fn analytics_s3_bucket_destination_inner( } , s if s.matches("Prefix") /* Prefix com.amazonaws.s3#AnalyticsS3BucketDestination$Prefix */ => { - let var_364 = + let var_364 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6727,7 +6632,6 @@ pub fn sses3_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::SSES3::builder(); - let _ = decoder; Ok(builder.build()) } @@ -6737,11 +6641,10 @@ pub fn ssekms_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::SSEKMS::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("KeyId") /* KeyId com.amazonaws.s3#SSEKMS$KeyId */ => { - let var_365 = + let var_365 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6764,11 +6667,10 @@ pub fn replication_time_value_inner( ) -> Result { #[allow(unused_mut)] let mut builder = crate::model::ReplicationTimeValue::builder(); - while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Minutes") /* Minutes com.amazonaws.s3#ReplicationTimeValue$Minutes */ => { - let var_366 = + let var_366 = { use std::str::FromStr; i32::from_str( diff --git a/sdk/s3/src/xml_ser.rs b/sdk/s3/src/xml_ser.rs index 37517aefa5f5..e47c35608206 100644 --- a/sdk/s3/src/xml_ser.rs +++ b/sdk/s3/src/xml_ser.rs @@ -9,7 +9,6 @@ pub fn serialize_payload_completed_multipart_upload_complete_multipart_upload_in let mut root = writer .start_el("CompleteMultipartUpload") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_completed_multipart_upload(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -25,7 +24,6 @@ pub fn serialize_payload_create_bucket_configuration_create_bucket_input( let mut root = writer .start_el("CreateBucketConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_create_bucket_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -41,7 +39,6 @@ pub fn serialize_payload_delete_delete_objects_input( let mut root = writer .start_el("Delete") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_delete(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -57,7 +54,6 @@ pub fn serialize_payload_accelerate_configuration_put_bucket_accelerate_configur let mut root = writer .start_el("AccelerateConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_accelerate_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -73,7 +69,6 @@ pub fn serialize_payload_access_control_policy_put_bucket_acl_input( let mut root = writer .start_el("AccessControlPolicy") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_access_control_policy(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -89,7 +84,6 @@ pub fn serialize_payload_analytics_configuration_put_bucket_analytics_configurat let mut root = writer .start_el("AnalyticsConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_analytics_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -105,7 +99,6 @@ pub fn serialize_payload_cors_configuration_put_bucket_cors_input( let mut root = writer .start_el("CORSConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_cors_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -121,7 +114,6 @@ pub fn serialize_payload_server_side_encryption_configuration_put_bucket_encrypt let mut root = writer .start_el("ServerSideEncryptionConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_server_side_encryption_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -137,7 +129,6 @@ pub fn serialize_payload_intelligent_tiering_configuration_put_bucket_intelligen let mut root = writer .start_el("IntelligentTieringConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_intelligent_tiering_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -153,7 +144,6 @@ pub fn serialize_payload_inventory_configuration_put_bucket_inventory_configurat let mut root = writer .start_el("InventoryConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_inventory_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -169,7 +159,6 @@ pub fn serialize_payload_bucket_lifecycle_configuration_put_bucket_lifecycle_con let mut root = writer .start_el("LifecycleConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_bucket_lifecycle_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -185,7 +174,6 @@ pub fn serialize_payload_bucket_logging_status_put_bucket_logging_input( let mut root = writer .start_el("BucketLoggingStatus") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_bucket_logging_status(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -201,7 +189,6 @@ pub fn serialize_payload_metrics_configuration_put_bucket_metrics_configuration_ let mut root = writer .start_el("MetricsConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_metrics_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -217,7 +204,6 @@ pub fn serialize_payload_notification_configuration_put_bucket_notification_conf let mut root = writer .start_el("NotificationConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_notification_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -233,7 +219,6 @@ pub fn serialize_payload_ownership_controls_put_bucket_ownership_controls_input( let mut root = writer .start_el("OwnershipControls") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_ownership_controls(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -249,7 +234,6 @@ pub fn serialize_payload_replication_configuration_put_bucket_replication_input( let mut root = writer .start_el("ReplicationConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_replication_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -265,7 +249,6 @@ pub fn serialize_payload_request_payment_configuration_put_bucket_request_paymen let mut root = writer .start_el("RequestPaymentConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_request_payment_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -281,7 +264,6 @@ pub fn serialize_payload_tagging_put_bucket_tagging_input( let mut root = writer .start_el("Tagging") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_tagging(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -297,7 +279,6 @@ pub fn serialize_payload_versioning_configuration_put_bucket_versioning_input( let mut root = writer .start_el("VersioningConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_versioning_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -313,7 +294,6 @@ pub fn serialize_payload_website_configuration_put_bucket_website_input( let mut root = writer .start_el("WebsiteConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_website_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -329,7 +309,6 @@ pub fn serialize_payload_access_control_policy_put_object_acl_input( let mut root = writer .start_el("AccessControlPolicy") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_access_control_policy(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -345,7 +324,6 @@ pub fn serialize_payload_object_lock_legal_hold_put_object_legal_hold_input( let mut root = writer .start_el("LegalHold") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_object_lock_legal_hold(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -361,7 +339,6 @@ pub fn serialize_payload_object_lock_configuration_put_object_lock_configuration let mut root = writer .start_el("ObjectLockConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_object_lock_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -377,7 +354,6 @@ pub fn serialize_payload_object_lock_retention_put_object_retention_input( let mut root = writer .start_el("Retention") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_object_lock_retention(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -393,7 +369,6 @@ pub fn serialize_payload_tagging_put_object_tagging_input( let mut root = writer .start_el("Tagging") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_tagging(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -409,7 +384,6 @@ pub fn serialize_payload_public_access_block_configuration_put_public_access_blo let mut root = writer .start_el("PublicAccessBlockConfiguration") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_public_access_block_configuration(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) @@ -425,7 +399,6 @@ pub fn serialize_payload_restore_request_restore_object_input( let mut root = writer .start_el("RestoreRequest") .write_ns("http://s3.amazonaws.com/doc/2006-03-01/", None); - crate::xml_ser::serialize_structure_restore_request(&&input, root) } Ok(smithy_http::body::SdkBody::from(out)) diff --git a/sdk/s3/tests/custom-error-deserializer.rs b/sdk/s3/tests/custom-error-deserializer.rs new file mode 100644 index 000000000000..e4eb8e4ad489 --- /dev/null +++ b/sdk/s3/tests/custom-error-deserializer.rs @@ -0,0 +1,38 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_s3::operation::GetObject; +use aws_sdk_s3::ErrorExt; +use bytes::Bytes; +use smithy_http::response::ParseHttpResponse; + +#[test] +fn deserialize_extended_errors() { + let resp = http::Response::builder() + .header( + "x-amz-id-2", + "gyB+3jRPnrkN98ZajxHXr3u7EFM67bNgSAxexeEHndCX/7GRnfTXxReKUQF28IfP", + ) + .header("x-amz-request-id", "3B3C7C725673C630") + .status(404) + .body( + r#" + + NoSuchKey + The resource you requested does not exist + /mybucket/myfoto.jpg + 4442587FB7D0A2F9 +"#, + ) + .unwrap(); + let err = GetObject::new() + .parse_loaded(&resp.map(Bytes::from)) + .expect_err("status was 404, this is an error"); + assert_eq!( + err.meta().extended_request_id(), + Some("gyB+3jRPnrkN98ZajxHXr3u7EFM67bNgSAxexeEHndCX/7GRnfTXxReKUQF28IfP") + ); + assert_eq!(err.meta().request_id(), Some("4442587FB7D0A2F9")); +} diff --git a/sdk/secretsmanager/Cargo.toml b/sdk/secretsmanager/Cargo.toml index 0cad38537b65..9a8193f8d921 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.5-alpha" +version = "0.0.6-alpha" description = "AWS Secrets Manager API Reference\n

    AWS 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 AWS 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 AWS 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 AWS Secrets Manager. For example, the SDKs provide cryptographically signing requests,\n managing errors, and retrying requests automatically. For more information about the AWS\n SDKs, including downloading and installing them, see Tools for Amazon Web Services.

    \n
    \n

    We recommend you use the AWS 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 AWS 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 AWS 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 AWS Secrets Manager Discussion Forum. For more\n information about the AWS Discussion Forums, see Forums\n Help.

    \n\n

    \n How examples are presented\n

    \n\n

    The JSON that AWS 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

    AWS Secrets Manager 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 that's collected\n by AWS 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 AWS Secrets Manager and support for AWS\n CloudTrail, see Logging\n AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide.\n To learn more about CloudTrail, including enabling it and find your log files, see the AWS CloudTrail User Guide.

    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" @@ -34,6 +34,8 @@ version = "0.2" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [dependencies.bytes] version = "1" [features] diff --git a/sdk/secretsmanager/src/aws_json_errors.rs b/sdk/secretsmanager/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/secretsmanager/src/aws_json_errors.rs +++ b/sdk/secretsmanager/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/secretsmanager/src/client.rs b/sdk/secretsmanager/src/client.rs index d4a1df1b8f4a..caae1ecd2d2a 100644 --- a/sdk/secretsmanager/src/client.rs +++ b/sdk/secretsmanager/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,85 +33,65 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn cancel_rotate_secret(&self) -> fluent_builders::CancelRotateSecret { fluent_builders::CancelRotateSecret::new(self.handle.clone()) } - pub fn create_secret(&self) -> fluent_builders::CreateSecret { fluent_builders::CreateSecret::new(self.handle.clone()) } - pub fn delete_resource_policy(&self) -> fluent_builders::DeleteResourcePolicy { fluent_builders::DeleteResourcePolicy::new(self.handle.clone()) } - pub fn delete_secret(&self) -> fluent_builders::DeleteSecret { fluent_builders::DeleteSecret::new(self.handle.clone()) } - pub fn describe_secret(&self) -> fluent_builders::DescribeSecret { fluent_builders::DescribeSecret::new(self.handle.clone()) } - pub fn get_random_password(&self) -> fluent_builders::GetRandomPassword { fluent_builders::GetRandomPassword::new(self.handle.clone()) } - pub fn get_resource_policy(&self) -> fluent_builders::GetResourcePolicy { fluent_builders::GetResourcePolicy::new(self.handle.clone()) } - pub fn get_secret_value(&self) -> fluent_builders::GetSecretValue { fluent_builders::GetSecretValue::new(self.handle.clone()) } - pub fn list_secrets(&self) -> fluent_builders::ListSecrets { fluent_builders::ListSecrets::new(self.handle.clone()) } - pub fn list_secret_version_ids(&self) -> fluent_builders::ListSecretVersionIds { fluent_builders::ListSecretVersionIds::new(self.handle.clone()) } - pub fn put_resource_policy(&self) -> fluent_builders::PutResourcePolicy { fluent_builders::PutResourcePolicy::new(self.handle.clone()) } - pub fn put_secret_value(&self) -> fluent_builders::PutSecretValue { fluent_builders::PutSecretValue::new(self.handle.clone()) } - pub fn restore_secret(&self) -> fluent_builders::RestoreSecret { fluent_builders::RestoreSecret::new(self.handle.clone()) } - pub fn rotate_secret(&self) -> fluent_builders::RotateSecret { fluent_builders::RotateSecret::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 fn update_secret(&self) -> fluent_builders::UpdateSecret { fluent_builders::UpdateSecret::new(self.handle.clone()) } - pub fn update_secret_version_stage(&self) -> fluent_builders::UpdateSecretVersionStage { fluent_builders::UpdateSecretVersionStage::new(self.handle.clone()) } - pub fn validate_resource_policy(&self) -> fluent_builders::ValidateResourcePolicy { fluent_builders::ValidateResourcePolicy::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct CancelRotateSecret { handle: std::sync::Arc, @@ -142,7 +120,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the secret to cancel a rotation request. You can specify either the Amazon /// Resource Name (ARN) or the friendly name of the secret.

    /// @@ -168,7 +145,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateSecret { handle: std::sync::Arc, @@ -197,7 +173,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the friendly name of the new secret.

    ///

    The secret name must be ASCII letters, digits, or the following characters : /// /_+=.@-

    @@ -395,7 +370,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteResourcePolicy { handle: std::sync::Arc, @@ -424,7 +398,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the secret that you want to delete the attached resource-based policy for. You /// can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    /// @@ -450,7 +423,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteSecret { handle: std::sync::Arc, @@ -479,7 +451,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    (Optional) Specifies that the secret is to be deleted without any recovery window. You /// can't use both this parameter and the RecoveryWindowInDays parameter in the same /// API call.

    @@ -539,7 +510,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeSecret { handle: std::sync::Arc, @@ -568,7 +538,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The identifier of the secret whose details you want to retrieve. You can specify either /// the Amazon Resource Name (ARN) or the friendly name of the secret.

    /// @@ -594,7 +563,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetRandomPassword { handle: std::sync::Arc, @@ -623,7 +591,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies that the generated password should not include digits. The default if you do not /// include this switch parameter is that digits can be included.

    pub fn exclude_numbers(mut self, inp: bool) -> Self { @@ -717,7 +684,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetResourcePolicy { handle: std::sync::Arc, @@ -746,7 +712,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the secret that you want to retrieve the attached resource-based policy for. You /// can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    /// @@ -772,7 +737,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetSecretValue { handle: std::sync::Arc, @@ -801,7 +765,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the secret containing the version that you want to retrieve. You can specify /// either the Amazon Resource Name (ARN) or the friendly name of the secret.

    /// @@ -857,7 +820,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListSecrets { handle: std::sync::Arc, @@ -886,7 +848,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    (Optional) Limits the number of results you want to include in /// the response. If you don't include this parameter, it defaults to a value that's /// specific to the operation. If additional items exist beyond the maximum you specify, the @@ -940,7 +901,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListSecretVersionIds { handle: std::sync::Arc, @@ -969,7 +929,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    (Optional) Limits the number of results you want to include in /// the response. If you don't include this parameter, it defaults to a value that's /// specific to the operation. If additional items exist beyond the maximum you specify, the @@ -1034,7 +993,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutResourcePolicy { handle: std::sync::Arc, @@ -1063,7 +1021,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A JSON-formatted string that's constructed according to the grammar and syntax for an /// AWS resource-based policy. The policy in the string identifies who can access or manage this /// secret and its versions. For information on how to format a JSON parameter for the various @@ -1114,7 +1071,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutSecretValue { handle: std::sync::Arc, @@ -1143,7 +1099,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    (Optional) Specifies a unique identifier for the new version of the secret.

    /// ///

    If you use the AWS CLI or one of the AWS SDK to call this operation, then you can @@ -1270,7 +1225,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RestoreSecret { handle: std::sync::Arc, @@ -1299,7 +1253,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the secret that you want to restore from a previously scheduled deletion. You /// can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    /// @@ -1325,7 +1278,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RotateSecret { handle: std::sync::Arc, @@ -1354,7 +1306,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the secret that you want to rotate. You can specify either the Amazon Resource /// Name (ARN) or the friendly name of the secret.

    /// @@ -1429,7 +1380,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TagResource { handle: std::sync::Arc, @@ -1458,7 +1408,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The identifier for the secret that you want to attach tags to. You can specify either the /// Amazon Resource Name (ARN) or the friendly name of the secret.

    /// @@ -1502,7 +1451,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UntagResource { handle: std::sync::Arc, @@ -1531,7 +1479,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A list of tag key names to remove from the secret. You don't specify the value. Both the /// key and its associated value are removed.

    ///

    This parameter to the API requires a JSON text string argument. For information on how to @@ -1572,7 +1519,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateSecret { handle: std::sync::Arc, @@ -1601,7 +1547,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    (Optional) Specifies updated text data that you want to encrypt and store in this new /// version of the secret. Either SecretBinary or SecretString must have /// a value, but not both. They cannot both be empty.

    @@ -1739,7 +1684,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateSecretVersionStage { handle: std::sync::Arc, @@ -1768,7 +1712,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    (Optional) The secret version ID that you want to add the staging label. If you want to /// remove a label from a version, then do not specify this parameter.

    ///

    If the staging label is already attached to a different version of the secret, then you @@ -1835,7 +1778,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ValidateResourcePolicy { handle: std::sync::Arc, @@ -1864,7 +1806,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Identifies the Resource Policy attached to the secret.

    pub fn resource_policy(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_policy(inp); diff --git a/sdk/secretsmanager/src/config.rs b/sdk/secretsmanager/src/config.rs index d6f5b13e4420..8a435562c1d6 100644 --- a/sdk/secretsmanager/src/config.rs +++ b/sdk/secretsmanager/src/config.rs @@ -15,7 +15,6 @@ 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 @@ -35,7 +34,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn make_token( mut self, make_token: impl crate::idempotency_token::MakeIdempotencyToken + 'static, @@ -43,7 +41,6 @@ impl Builder { self.make_token = Some(Box::new(make_token)); self } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -51,14 +48,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -66,7 +60,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { make_token: self diff --git a/sdk/secretsmanager/src/error.rs b/sdk/secretsmanager/src/error.rs index 0253a7190997..ba491da54229 100644 --- a/sdk/secretsmanager/src/error.rs +++ b/sdk/secretsmanager/src/error.rs @@ -12,7 +12,6 @@ pub enum CancelRotateSecretErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -35,7 +34,6 @@ impl smithy_types::retry::ProvideErrorKind for CancelRotateSecretError { None } } - impl CancelRotateSecretError { pub fn new(kind: CancelRotateSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -58,18 +56,21 @@ impl CancelRotateSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CancelRotateSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -100,7 +101,6 @@ pub enum CreateSecretErrorKind { PreconditionNotMetError(crate::error::PreconditionNotMetError), ResourceExistsError(crate::error::ResourceExistsError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -128,7 +128,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateSecretError { None } } - impl CreateSecretError { pub fn new(kind: CreateSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -151,18 +150,21 @@ impl CreateSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -192,7 +194,6 @@ pub enum DeleteResourcePolicyErrorKind { InternalServiceError(crate::error::InternalServiceError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -214,7 +215,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteResourcePolicyError { None } } - impl DeleteResourcePolicyError { pub fn new(kind: DeleteResourcePolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -237,18 +237,21 @@ impl DeleteResourcePolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteResourcePolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -273,7 +276,6 @@ pub enum DeleteSecretErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -296,7 +298,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteSecretError { None } } - impl DeleteSecretError { pub fn new(kind: DeleteSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -319,18 +320,21 @@ impl DeleteSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -354,7 +358,6 @@ pub struct DescribeSecretError { pub enum DescribeSecretErrorKind { InternalServiceError(crate::error::InternalServiceError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -375,7 +378,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeSecretError { None } } - impl DescribeSecretError { pub fn new(kind: DescribeSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -398,18 +400,21 @@ impl DescribeSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -432,7 +437,6 @@ pub enum GetRandomPasswordErrorKind { InternalServiceError(crate::error::InternalServiceError), InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -454,7 +458,6 @@ impl smithy_types::retry::ProvideErrorKind for GetRandomPasswordError { None } } - impl GetRandomPasswordError { pub fn new(kind: GetRandomPasswordErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -477,18 +480,21 @@ impl GetRandomPasswordError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetRandomPasswordError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -512,7 +518,6 @@ pub enum GetResourcePolicyErrorKind { InternalServiceError(crate::error::InternalServiceError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -534,7 +539,6 @@ impl smithy_types::retry::ProvideErrorKind for GetResourcePolicyError { None } } - impl GetResourcePolicyError { pub fn new(kind: GetResourcePolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -557,18 +561,21 @@ impl GetResourcePolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetResourcePolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -594,7 +601,6 @@ pub enum GetSecretValueErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -618,7 +624,6 @@ impl smithy_types::retry::ProvideErrorKind for GetSecretValueError { None } } - impl GetSecretValueError { pub fn new(kind: GetSecretValueErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -641,18 +646,21 @@ impl GetSecretValueError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetSecretValueError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -678,7 +686,6 @@ pub enum ListSecretsErrorKind { InternalServiceError(crate::error::InternalServiceError), InvalidNextTokenError(crate::error::InvalidNextTokenError), InvalidParameterError(crate::error::InvalidParameterError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -700,7 +707,6 @@ impl smithy_types::retry::ProvideErrorKind for ListSecretsError { None } } - impl ListSecretsError { pub fn new(kind: ListSecretsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -723,18 +729,21 @@ impl ListSecretsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListSecretsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -758,7 +767,6 @@ pub enum ListSecretVersionIdsErrorKind { InternalServiceError(crate::error::InternalServiceError), InvalidNextTokenError(crate::error::InvalidNextTokenError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -780,7 +788,6 @@ impl smithy_types::retry::ProvideErrorKind for ListSecretVersionIdsError { None } } - impl ListSecretVersionIdsError { pub fn new(kind: ListSecretVersionIdsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -803,18 +810,21 @@ impl ListSecretVersionIdsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListSecretVersionIdsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -841,7 +851,6 @@ pub enum PutResourcePolicyErrorKind { MalformedPolicyDocumentError(crate::error::MalformedPolicyDocumentError), PublicPolicyError(crate::error::PublicPolicyError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -866,7 +875,6 @@ impl smithy_types::retry::ProvideErrorKind for PutResourcePolicyError { None } } - impl PutResourcePolicyError { pub fn new(kind: PutResourcePolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -889,18 +897,21 @@ impl PutResourcePolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutResourcePolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -931,7 +942,6 @@ pub enum PutSecretValueErrorKind { LimitExceededError(crate::error::LimitExceededError), ResourceExistsError(crate::error::ResourceExistsError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -957,7 +967,6 @@ impl smithy_types::retry::ProvideErrorKind for PutSecretValueError { None } } - impl PutSecretValueError { pub fn new(kind: PutSecretValueErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -980,18 +989,21 @@ impl PutSecretValueError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutSecretValueError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1020,7 +1032,6 @@ pub enum RestoreSecretErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1043,7 +1054,6 @@ impl smithy_types::retry::ProvideErrorKind for RestoreSecretError { None } } - impl RestoreSecretError { pub fn new(kind: RestoreSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1066,18 +1076,21 @@ impl RestoreSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RestoreSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1103,7 +1116,6 @@ pub enum RotateSecretErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1126,7 +1138,6 @@ impl smithy_types::retry::ProvideErrorKind for RotateSecretError { None } } - impl RotateSecretError { pub fn new(kind: RotateSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1149,18 +1160,21 @@ impl RotateSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RotateSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1186,7 +1200,6 @@ pub enum TagResourceErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1209,7 +1222,6 @@ impl smithy_types::retry::ProvideErrorKind for TagResourceError { None } } - impl TagResourceError { pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1232,18 +1244,21 @@ impl TagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1269,7 +1284,6 @@ pub enum UntagResourceErrorKind { InvalidParameterError(crate::error::InvalidParameterError), InvalidRequestError(crate::error::InvalidRequestError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1292,7 +1306,6 @@ impl smithy_types::retry::ProvideErrorKind for UntagResourceError { None } } - impl UntagResourceError { pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1315,18 +1328,21 @@ impl UntagResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UntagResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1357,7 +1373,6 @@ pub enum UpdateSecretErrorKind { PreconditionNotMetError(crate::error::PreconditionNotMetError), ResourceExistsError(crate::error::ResourceExistsError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1385,7 +1400,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateSecretError { None } } - impl UpdateSecretError { pub fn new(kind: UpdateSecretErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1408,18 +1422,21 @@ impl UpdateSecretError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateSecretError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1451,7 +1468,6 @@ pub enum UpdateSecretVersionStageErrorKind { InvalidRequestError(crate::error::InvalidRequestError), LimitExceededError(crate::error::LimitExceededError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1475,7 +1491,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateSecretVersionStageError { None } } - impl UpdateSecretVersionStageError { pub fn new(kind: UpdateSecretVersionStageErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1498,18 +1513,21 @@ impl UpdateSecretVersionStageError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateSecretVersionStageError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1537,7 +1555,6 @@ pub enum ValidateResourcePolicyErrorKind { InvalidRequestError(crate::error::InvalidRequestError), MalformedPolicyDocumentError(crate::error::MalformedPolicyDocumentError), ResourceNotFoundError(crate::error::ResourceNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1561,7 +1578,6 @@ impl smithy_types::retry::ProvideErrorKind for ValidateResourcePolicyError { None } } - impl ValidateResourcePolicyError { pub fn new(kind: ValidateResourcePolicyErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1584,18 +1600,21 @@ impl ValidateResourcePolicyError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ValidateResourcePolicyError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1611,10 +1630,9 @@ impl std::error::Error for ValidateResourcePolicyError { ///

    We can't find the resource that you asked for.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1674,10 +1692,9 @@ impl ResourceNotFoundError { ///

    The policy document that you provided isn't valid.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MalformedPolicyDocumentError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1751,10 +1768,9 @@ impl MalformedPolicyDocumentError { /// /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidRequestError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1814,10 +1830,9 @@ impl InvalidRequestError { ///

    You provided an invalid value for a parameter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidParameterError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1877,10 +1892,9 @@ impl InvalidParameterError { ///

    An error occurred on the server side.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InternalServiceError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -1940,10 +1954,9 @@ impl InternalServiceError { ///

    The request failed because it would exceed one of the Secrets Manager internal limits.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2003,10 +2016,9 @@ impl LimitExceededError { ///

    A resource with the ID you requested already exists.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceExistsError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2066,10 +2078,9 @@ impl ResourceExistsError { ///

    The request failed because you did not complete all the prerequisite steps.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PreconditionNotMetError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2132,10 +2143,9 @@ impl PreconditionNotMetError { /// information, see How Key State Affects Use of a /// Customer Master Key.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EncryptionFailure { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2195,10 +2205,9 @@ impl EncryptionFailure { ///

    The resource policy did not prevent broad access to the secret.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PublicPolicyError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2258,10 +2267,9 @@ impl PublicPolicyError { ///

    You provided an invalid NextToken value.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidNextTokenError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -2321,10 +2329,9 @@ impl InvalidNextTokenError { ///

    Secrets Manager can't decrypt the protected secret text using the provided KMS key.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DecryptionFailure { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } diff --git a/sdk/secretsmanager/src/input.rs b/sdk/secretsmanager/src/input.rs index 38a2b3e6362a..3faa4ebe51f3 100644 --- a/sdk/secretsmanager/src/input.rs +++ b/sdk/secretsmanager/src/input.rs @@ -58,47 +58,38 @@ impl CancelRotateSecretInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_cancel_rotate_secret_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_cancel_rotate_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CancelRotateSecret::new(), @@ -107,7 +98,6 @@ impl CancelRotateSecretInput { "CancelRotateSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -117,7 +107,6 @@ impl CancelRotateSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -332,48 +321,39 @@ impl CreateSecretInput { 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_secret_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_create_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateSecret::new(), @@ -382,7 +362,6 @@ impl CreateSecretInput { "CreateSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -392,7 +371,6 @@ impl CreateSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -472,47 +450,38 @@ impl DeleteResourcePolicyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_resource_policy_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_resource_policy(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteResourcePolicy::new(), @@ -521,7 +490,6 @@ impl DeleteResourcePolicyInput { "DeleteResourcePolicy", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -531,7 +499,6 @@ impl DeleteResourcePolicyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -648,46 +615,38 @@ impl DeleteSecretInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_secret_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteSecret::new(), @@ -696,7 +655,6 @@ impl DeleteSecretInput { "DeleteSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -706,7 +664,6 @@ impl DeleteSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -785,46 +742,37 @@ impl DescribeSecretInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_secret_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeSecret::new(), @@ -833,7 +781,6 @@ impl DescribeSecretInput { "DescribeSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -843,7 +790,6 @@ impl DescribeSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1005,47 +951,38 @@ impl GetRandomPasswordInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_random_password_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_random_password(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetRandomPassword::new(), @@ -1054,7 +991,6 @@ impl GetRandomPasswordInput { "GetRandomPassword", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1064,7 +1000,6 @@ impl GetRandomPasswordInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1144,47 +1079,38 @@ impl GetResourcePolicyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_resource_policy_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_resource_policy(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetResourcePolicy::new(), @@ -1193,7 +1119,6 @@ impl GetResourcePolicyInput { "GetResourcePolicy", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1203,7 +1128,6 @@ impl GetResourcePolicyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1316,46 +1240,37 @@ impl GetSecretValueInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_secret_value_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_secret_value(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetSecretValue::new(), @@ -1364,7 +1279,6 @@ impl GetSecretValueInput { "GetSecretValue", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1374,7 +1288,6 @@ impl GetSecretValueInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1488,46 +1401,38 @@ impl ListSecretsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_secrets_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_secrets(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListSecrets::new(), @@ -1536,7 +1441,6 @@ impl ListSecretsInput { "ListSecrets", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1546,7 +1450,6 @@ impl ListSecretsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1671,47 +1574,38 @@ impl ListSecretVersionIdsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_secret_version_ids_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_secret_version_ids(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListSecretVersionIds::new(), @@ -1720,7 +1614,6 @@ impl ListSecretVersionIdsInput { "ListSecretVersionIds", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1730,7 +1623,6 @@ impl ListSecretVersionIdsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1839,47 +1731,38 @@ impl PutResourcePolicyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_resource_policy_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_put_resource_policy(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutResourcePolicy::new(), @@ -1888,7 +1771,6 @@ impl PutResourcePolicyInput { "PutResourcePolicy", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1898,7 +1780,6 @@ impl PutResourcePolicyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2082,48 +1963,38 @@ impl PutSecretValueInput { 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_put_secret_value_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_put_secret_value(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutSecretValue::new(), @@ -2132,7 +2003,6 @@ impl PutSecretValueInput { "PutSecretValue", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2142,7 +2012,6 @@ impl PutSecretValueInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2221,46 +2090,38 @@ impl RestoreSecretInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_restore_secret_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_restore_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RestoreSecret::new(), @@ -2269,7 +2130,6 @@ impl RestoreSecretInput { "RestoreSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2279,7 +2139,6 @@ impl RestoreSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2415,48 +2274,39 @@ impl RotateSecretInput { 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_rotate_secret_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_rotate_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RotateSecret::new(), @@ -2465,7 +2315,6 @@ impl RotateSecretInput { "RotateSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2475,7 +2324,6 @@ impl RotateSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2569,46 +2417,38 @@ impl TagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_tag_resource_input_body(&self) - .map_err(|err| { + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TagResource::new(), @@ -2617,7 +2457,6 @@ impl TagResourceInput { "TagResource", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2627,7 +2466,6 @@ impl TagResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2721,46 +2559,38 @@ impl UntagResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_untag_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UntagResource::new(), @@ -2769,7 +2599,6 @@ impl UntagResourceInput { "UntagResource", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2779,7 +2608,6 @@ impl UntagResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2982,48 +2810,39 @@ impl UpdateSecretInput { 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_update_secret_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_update_secret(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateSecret::new(), @@ -3032,7 +2851,6 @@ impl UpdateSecretInput { "UpdateSecret", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3042,7 +2860,6 @@ impl UpdateSecretInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3169,49 +2986,38 @@ impl UpdateSecretVersionStageInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_secret_version_stage_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_secret_version_stage(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateSecretVersionStage::new(), @@ -3220,7 +3026,6 @@ impl UpdateSecretVersionStageInput { "UpdateSecretVersionStage", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3230,7 +3035,6 @@ impl UpdateSecretVersionStageInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3324,49 +3128,38 @@ impl ValidateResourcePolicyInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_validate_resource_policy_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_validate_resource_policy(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ValidateResourcePolicy::new(), @@ -3375,7 +3168,6 @@ impl ValidateResourcePolicyInput { "ValidateResourcePolicy", "secretsmanager", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3385,7 +3177,6 @@ impl ValidateResourcePolicyInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") diff --git a/sdk/secretsmanager/src/json_deser.rs b/sdk/secretsmanager/src/json_deser.rs index 0f603c032f38..db1dc281137f 100644 --- a/sdk/secretsmanager/src/json_deser.rs +++ b/sdk/secretsmanager/src/json_deser.rs @@ -11,7 +11,6 @@ pub fn cancel_rotate_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_version_id(parsed_body.version_id); builder = builder.set_name(parsed_body.name); @@ -30,7 +29,6 @@ pub fn create_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_version_id(parsed_body.version_id); builder = builder.set_name(parsed_body.name); builder = builder.set_arn(parsed_body.arn); @@ -49,7 +47,6 @@ pub fn delete_resource_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_name(parsed_body.name); Ok(builder) @@ -67,7 +64,6 @@ pub fn delete_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_name(parsed_body.name); builder = builder.set_deletion_date(parsed_body.deletion_date); @@ -86,7 +82,6 @@ pub fn describe_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_last_rotated_date(parsed_body.last_rotated_date); builder = builder.set_description(parsed_body.description); builder = builder.set_kms_key_id(parsed_body.kms_key_id); @@ -117,7 +112,6 @@ pub fn get_random_password_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_random_password(parsed_body.random_password); Ok(builder) } @@ -134,7 +128,6 @@ pub fn get_resource_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_resource_policy(parsed_body.resource_policy); builder = builder.set_name(parsed_body.name); builder = builder.set_arn(parsed_body.arn); @@ -153,7 +146,6 @@ pub fn get_secret_value_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_version_id(parsed_body.version_id); builder = builder.set_created_date(parsed_body.created_date); builder = builder.set_secret_string(parsed_body.secret_string); @@ -176,7 +168,6 @@ pub fn list_secrets_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_secret_list(parsed_body.secret_list); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -194,7 +185,6 @@ pub fn list_secret_version_ids_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_token(parsed_body.next_token); builder = builder.set_versions(parsed_body.versions); builder = builder.set_arn(parsed_body.arn); @@ -214,7 +204,6 @@ pub fn put_resource_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_name(parsed_body.name); Ok(builder) @@ -232,7 +221,6 @@ pub fn put_secret_value_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_version_stages(parsed_body.version_stages); builder = builder.set_name(parsed_body.name); @@ -252,7 +240,6 @@ pub fn restore_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_name(parsed_body.name); Ok(builder) @@ -270,7 +257,6 @@ pub fn rotate_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_name(parsed_body.name); builder = builder.set_version_id(parsed_body.version_id); @@ -289,7 +275,6 @@ pub fn update_secret_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_name(parsed_body.name); builder = builder.set_version_id(parsed_body.version_id); builder = builder.set_arn(parsed_body.arn); @@ -308,7 +293,6 @@ pub fn update_secret_version_stage_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_arn(parsed_body.arn); builder = builder.set_name(parsed_body.name); Ok(builder) @@ -326,7 +310,6 @@ pub fn validate_resource_policy_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_validation_errors(parsed_body.validation_errors); builder = builder.set_policy_validation_passed(parsed_body.policy_validation_passed); Ok(builder) diff --git a/sdk/secretsmanager/src/json_ser.rs b/sdk/secretsmanager/src/json_ser.rs new file mode 100644 index 000000000000..da71c81bfabd --- /dev/null +++ b/sdk/secretsmanager/src/json_ser.rs @@ -0,0 +1,386 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_cancel_rotate_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CancelRotateSecretInput, +) { + if let Some(var_1) = &input.secret_id { + object.key("SecretId").string(var_1); + } +} + +pub fn serialize_structure_create_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateSecretInput, +) { + if let Some(var_2) = &input.name { + object.key("Name").string(var_2); + } + if let Some(var_3) = &input.tags { + let mut array_4 = object.key("Tags").start_array(); + for item_5 in var_3 { + let mut object_6 = array_4.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_6, item_5); + object_6.finish(); + } + array_4.finish(); + } + if let Some(var_7) = &input.kms_key_id { + object.key("KmsKeyId").string(var_7); + } + if let Some(var_8) = &input.description { + object.key("Description").string(var_8); + } + if let Some(var_9) = &input.secret_string { + object.key("SecretString").string(var_9); + } + if let Some(var_10) = &input.secret_binary { + object + .key("SecretBinary") + .string_unchecked(&smithy_http::base64::encode(var_10)); + } + if let Some(var_11) = &input.client_request_token { + object.key("ClientRequestToken").string(var_11); + } +} + +pub fn serialize_structure_delete_resource_policy_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteResourcePolicyInput, +) { + if let Some(var_12) = &input.secret_id { + object.key("SecretId").string(var_12); + } +} + +pub fn serialize_structure_delete_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteSecretInput, +) { + if let Some(var_13) = &input.force_delete_without_recovery { + object.key("ForceDeleteWithoutRecovery").boolean(*var_13); + } + if let Some(var_14) = &input.recovery_window_in_days { + object.key("RecoveryWindowInDays").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_14).into()), + ); + } + if let Some(var_15) = &input.secret_id { + object.key("SecretId").string(var_15); + } +} + +pub fn serialize_structure_describe_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeSecretInput, +) { + if let Some(var_16) = &input.secret_id { + object.key("SecretId").string(var_16); + } +} + +pub fn serialize_structure_get_random_password_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetRandomPasswordInput, +) { + if let Some(var_17) = &input.exclude_numbers { + object.key("ExcludeNumbers").boolean(*var_17); + } + if let Some(var_18) = &input.exclude_characters { + object.key("ExcludeCharacters").string(var_18); + } + if let Some(var_19) = &input.password_length { + object.key("PasswordLength").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_19).into()), + ); + } + if let Some(var_20) = &input.require_each_included_type { + object.key("RequireEachIncludedType").boolean(*var_20); + } + if let Some(var_21) = &input.include_space { + object.key("IncludeSpace").boolean(*var_21); + } + if let Some(var_22) = &input.exclude_punctuation { + object.key("ExcludePunctuation").boolean(*var_22); + } + if let Some(var_23) = &input.exclude_lowercase { + object.key("ExcludeLowercase").boolean(*var_23); + } + if let Some(var_24) = &input.exclude_uppercase { + object.key("ExcludeUppercase").boolean(*var_24); + } +} + +pub fn serialize_structure_get_resource_policy_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetResourcePolicyInput, +) { + if let Some(var_25) = &input.secret_id { + object.key("SecretId").string(var_25); + } +} + +pub fn serialize_structure_get_secret_value_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetSecretValueInput, +) { + if let Some(var_26) = &input.secret_id { + object.key("SecretId").string(var_26); + } + if let Some(var_27) = &input.version_stage { + object.key("VersionStage").string(var_27); + } + if let Some(var_28) = &input.version_id { + object.key("VersionId").string(var_28); + } +} + +pub fn serialize_structure_list_secrets_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListSecretsInput, +) { + if let Some(var_29) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_29).into()), + ); + } + if let Some(var_30) = &input.sort_order { + object.key("SortOrder").string(var_30.as_str()); + } + if let Some(var_31) = &input.next_token { + object.key("NextToken").string(var_31); + } + if let Some(var_32) = &input.filters { + let mut array_33 = object.key("Filters").start_array(); + for item_34 in var_32 { + let mut object_35 = array_33.value().start_object(); + crate::json_ser::serialize_structure_filter(&mut object_35, item_34); + object_35.finish(); + } + array_33.finish(); + } +} + +pub fn serialize_structure_list_secret_version_ids_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListSecretVersionIdsInput, +) { + if let Some(var_36) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_36).into()), + ); + } + if let Some(var_37) = &input.secret_id { + object.key("SecretId").string(var_37); + } + if let Some(var_38) = &input.next_token { + object.key("NextToken").string(var_38); + } + if let Some(var_39) = &input.include_deprecated { + object.key("IncludeDeprecated").boolean(*var_39); + } +} + +pub fn serialize_structure_put_resource_policy_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutResourcePolicyInput, +) { + if let Some(var_40) = &input.resource_policy { + object.key("ResourcePolicy").string(var_40); + } + if let Some(var_41) = &input.block_public_policy { + object.key("BlockPublicPolicy").boolean(*var_41); + } + if let Some(var_42) = &input.secret_id { + object.key("SecretId").string(var_42); + } +} + +pub fn serialize_structure_put_secret_value_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutSecretValueInput, +) { + if let Some(var_43) = &input.client_request_token { + object.key("ClientRequestToken").string(var_43); + } + if let Some(var_44) = &input.secret_id { + object.key("SecretId").string(var_44); + } + if let Some(var_45) = &input.secret_string { + object.key("SecretString").string(var_45); + } + if let Some(var_46) = &input.secret_binary { + object + .key("SecretBinary") + .string_unchecked(&smithy_http::base64::encode(var_46)); + } + if let Some(var_47) = &input.version_stages { + let mut array_48 = object.key("VersionStages").start_array(); + for item_49 in var_47 { + array_48.value().string(item_49); + } + array_48.finish(); + } +} + +pub fn serialize_structure_restore_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RestoreSecretInput, +) { + if let Some(var_50) = &input.secret_id { + object.key("SecretId").string(var_50); + } +} + +pub fn serialize_structure_rotate_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RotateSecretInput, +) { + if let Some(var_51) = &input.secret_id { + object.key("SecretId").string(var_51); + } + if let Some(var_52) = &input.client_request_token { + object.key("ClientRequestToken").string(var_52); + } + if let Some(var_53) = &input.rotation_rules { + let mut object_54 = object.key("RotationRules").start_object(); + crate::json_ser::serialize_structure_rotation_rules_type(&mut object_54, var_53); + object_54.finish(); + } + if let Some(var_55) = &input.rotation_lambda_arn { + object.key("RotationLambdaARN").string(var_55); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_56) = &input.secret_id { + object.key("SecretId").string(var_56); + } + if let Some(var_57) = &input.tags { + let mut array_58 = object.key("Tags").start_array(); + for item_59 in var_57 { + let mut object_60 = array_58.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_60, item_59); + object_60.finish(); + } + array_58.finish(); + } +} + +pub fn serialize_structure_untag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UntagResourceInput, +) { + if let Some(var_61) = &input.tag_keys { + let mut array_62 = object.key("TagKeys").start_array(); + for item_63 in var_61 { + array_62.value().string(item_63); + } + array_62.finish(); + } + if let Some(var_64) = &input.secret_id { + object.key("SecretId").string(var_64); + } +} + +pub fn serialize_structure_update_secret_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateSecretInput, +) { + if let Some(var_65) = &input.secret_string { + object.key("SecretString").string(var_65); + } + if let Some(var_66) = &input.kms_key_id { + object.key("KmsKeyId").string(var_66); + } + if let Some(var_67) = &input.secret_id { + object.key("SecretId").string(var_67); + } + if let Some(var_68) = &input.description { + object.key("Description").string(var_68); + } + if let Some(var_69) = &input.client_request_token { + object.key("ClientRequestToken").string(var_69); + } + if let Some(var_70) = &input.secret_binary { + object + .key("SecretBinary") + .string_unchecked(&smithy_http::base64::encode(var_70)); + } +} + +pub fn serialize_structure_update_secret_version_stage_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateSecretVersionStageInput, +) { + if let Some(var_71) = &input.move_to_version_id { + object.key("MoveToVersionId").string(var_71); + } + if let Some(var_72) = &input.secret_id { + object.key("SecretId").string(var_72); + } + if let Some(var_73) = &input.remove_from_version_id { + object.key("RemoveFromVersionId").string(var_73); + } + if let Some(var_74) = &input.version_stage { + object.key("VersionStage").string(var_74); + } +} + +pub fn serialize_structure_validate_resource_policy_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ValidateResourcePolicyInput, +) { + if let Some(var_75) = &input.resource_policy { + object.key("ResourcePolicy").string(var_75); + } + if let Some(var_76) = &input.secret_id { + object.key("SecretId").string(var_76); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_77) = &input.value { + object.key("Value").string(var_77); + } + if let Some(var_78) = &input.key { + object.key("Key").string(var_78); + } +} + +pub fn serialize_structure_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Filter, +) { + if let Some(var_79) = &input.key { + object.key("Key").string(var_79.as_str()); + } + if let Some(var_80) = &input.values { + let mut array_81 = object.key("Values").start_array(); + for item_82 in var_80 { + array_81.value().string(item_82); + } + array_81.finish(); + } +} + +pub fn serialize_structure_rotation_rules_type( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::RotationRulesType, +) { + if let Some(var_83) = &input.automatically_after_days { + object.key("AutomaticallyAfterDays").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_83).into()), + ); + } +} diff --git a/sdk/secretsmanager/src/lib.rs b/sdk/secretsmanager/src/lib.rs index 379270b50edd..73d15ffb94fa 100644 --- a/sdk/secretsmanager/src/lib.rs +++ b/sdk/secretsmanager/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! AWS Secrets Manager API Reference //!

    AWS Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.

    //!

    This guide provides descriptions of the Secrets Manager API. For more information about using this @@ -67,6 +68,7 @@ mod idempotency_token; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_ser; @@ -74,6 +76,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/secretsmanager/src/model.rs b/sdk/secretsmanager/src/model.rs index ba44eec49eee..95217ce1a011 100644 --- a/sdk/secretsmanager/src/model.rs +++ b/sdk/secretsmanager/src/model.rs @@ -1,16 +1,14 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

    Displays errors that occurred during validation of the resource policy.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ValidationErrorsEntry { ///

    Displays error messages if validation encounters problems during validation of the resource policy.

    #[serde(rename = "ErrorMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_message: std::option::Option, ///

    Checks the name of the policy.

    #[serde(rename = "CheckName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub check_name: std::option::Option, } @@ -68,16 +66,14 @@ impl ValidationErrorsEntry { ///

    A structure that contains information about a tag.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { ///

    The string value associated with the key of the tag.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    The key identifier, or name, of the tag.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, } @@ -135,7 +131,7 @@ impl Tag { ///

    A structure that defines the rotation configuration for the secret.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RotationRulesType { ///

    Specifies the number of days between automatic scheduled rotations of the secret.

    ///

    Secrets Manager schedules the next rotation when the previous @@ -144,7 +140,6 @@ pub struct RotationRulesType { /// randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour /// and influenced by a variety of factors that help distribute load.

    #[serde(rename = "AutomaticallyAfterDays")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automatically_after_days: std::option::Option, } @@ -195,20 +190,15 @@ impl RotationRulesType { ///

    A structure that contains information about one version of a secret.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SecretVersionsListEntry { ///

    An array of staging labels that are currently associated with this version of the /// secret.

    #[serde(rename = "VersionStages")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version_stages: std::option::Option>, ///

    The date and time this version of the secret was created.

    #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -216,16 +206,11 @@ pub struct SecretVersionsListEntry { pub created_date: std::option::Option, ///

    The unique version identifier of this version of the secret.

    #[serde(rename = "VersionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version_id: std::option::Option, ///

    The date that this version of the secret was last accessed. Note that the resolution of /// this field is at the date level and does not include the time.

    #[serde(rename = "LastAccessedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -320,14 +305,10 @@ impl SecretVersionsListEntry { /// SecretString and SecretBinary values. To get those values, use the /// GetSecretValue operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SecretListEntry { ///

    The last date and time that the rotation process for this secret was invoked.

    #[serde(rename = "LastRotatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -335,7 +316,6 @@ pub struct SecretListEntry { pub last_rotated_date: std::option::Option, ///

    The user-provided description of the secret.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The ARN or alias of the AWS KMS customer master key (CMK) used to encrypt the @@ -343,7 +323,6 @@ pub struct SecretListEntry { /// secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with /// the default KMS CMK, the key named awssecretsmanager, for this account.

    #[serde(rename = "KmsKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kms_key_id: std::option::Option, ///

    A list of all of the currently assigned SecretVersionStage staging labels and @@ -354,17 +333,12 @@ pub struct SecretListEntry { /// deprecated and subject to deletion. Such versions are not included in this list.

    ///
    #[serde(rename = "SecretVersionsToStages")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub secret_versions_to_stages: std::option::Option< std::collections::HashMap>, >, ///

    The date and time when a secret was created.

    #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -374,10 +348,6 @@ pub struct SecretListEntry { /// secret can be recovered until the number of days in the recovery window has passed, as /// specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.

    #[serde(rename = "DeletedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -387,38 +357,29 @@ pub struct SecretListEntry { ///

    For more information about ARNs in Secrets Manager, see Policy Resources in the /// AWS Secrets Manager User Guide.

    #[serde(rename = "ARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

    Returns the name of the service that created the secret.

    #[serde(rename = "OwningService")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owning_service: std::option::Option, ///

    The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and expire the /// secret either automatically per the schedule or manually by a call to RotateSecret.

    #[serde(rename = "RotationLambdaARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rotation_lambda_arn: std::option::Option, ///

    The list of user-defined tags associated with the secret. To add tags to a /// secret, use TagResource. To remove tags, use UntagResource.

    #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, ///

    Indicates whether automatic, scheduled rotation is enabled for this secret.

    #[serde(rename = "RotationEnabled")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rotation_enabled: std::option::Option, ///

    The last date that this secret was accessed. This value is truncated to midnight of the /// date and therefore shows only the date, not the time.

    #[serde(rename = "LastAccessedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -426,10 +387,6 @@ pub struct SecretListEntry { pub last_accessed_date: std::option::Option, ///

    The last date and time that this secret was modified in any way.

    #[serde(rename = "LastChangedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -437,7 +394,6 @@ pub struct SecretListEntry { pub last_changed_date: std::option::Option, ///

    A structure that defines the rotation configuration for the secret.

    #[serde(rename = "RotationRules")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rotation_rules: std::option::Option, ///

    The friendly name of the secret. You can use forward slashes in the name to represent a @@ -445,7 +401,6 @@ pub struct SecretListEntry { /// for a server named dbserver1 in the folder databases in the folder /// prod.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -702,16 +657,14 @@ impl SecretListEntry { ///

    Allows you to filter your list of secrets.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Filter { ///

    Filters your list of secrets by a specific key.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    Filters your list of secrets by a specific value.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -801,19 +754,6 @@ where FilterNameStringType(s.as_ref().to_owned()) } } - -impl serde::Serialize for FilterNameStringType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for FilterNameStringType { fn deserialize(deserializer: D) -> Result where @@ -848,7 +788,6 @@ impl std::convert::From<&str> for SortOrderType { } } } - impl std::str::FromStr for SortOrderType { type Err = std::convert::Infallible; @@ -856,7 +795,6 @@ impl std::str::FromStr for SortOrderType { Ok(SortOrderType::from(s)) } } - impl SortOrderType { pub fn as_str(&self) -> &str { match self { @@ -871,19 +809,6 @@ impl AsRef for SortOrderType { self.as_str() } } - -impl serde::Serialize for SortOrderType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SortOrderType { fn deserialize(deserializer: D) -> Result where diff --git a/sdk/secretsmanager/src/operation.rs b/sdk/secretsmanager/src/operation.rs index f1b50900217a..75d1b28c22d7 100644 --- a/sdk/secretsmanager/src/operation.rs +++ b/sdk/secretsmanager/src/operation.rs @@ -51,7 +51,7 @@ ///

    To list all of the versions currently associated with a secret, use ListSecretVersionIds.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CancelRotateSecret { _private: (), } @@ -71,7 +71,6 @@ impl CancelRotateSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CancelRotateSecretError::unhandled(generic)), @@ -125,7 +124,6 @@ impl CancelRotateSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CancelRotateSecret { type Output = Result; @@ -222,7 +220,7 @@ impl smithy_http::response::ParseStrictResponse for CancelRotateSecret { /// value.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateSecret { _private: (), } @@ -241,7 +239,6 @@ impl CreateSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateSecretError::unhandled(generic)), @@ -326,7 +323,6 @@ impl CreateSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateSecret { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -358,7 +354,7 @@ impl smithy_http::response::ParseStrictResponse for CreateSecret { ///

    To list all of the currently available secrets, use ListSecrets.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteResourcePolicy { _private: (), } @@ -378,7 +374,6 @@ impl DeleteResourcePolicy { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteResourcePolicyError::unhandled(generic)), @@ -427,7 +422,6 @@ impl DeleteResourcePolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteResourcePolicy { type Output = Result; @@ -482,7 +476,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteResourcePolicy { /// use RestoreSecret.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteSecret { _private: (), } @@ -501,7 +495,6 @@ impl DeleteSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteSecretError::unhandled(generic)), @@ -549,7 +542,6 @@ impl DeleteSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteSecret { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -585,7 +577,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteSecret { ///

    To list all of the secrets in the AWS account, use ListSecrets.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeSecret { _private: (), } @@ -604,7 +596,6 @@ impl DescribeSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeSecretError::unhandled(generic)), @@ -638,7 +629,6 @@ impl DescribeSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeSecret { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -659,7 +649,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeSecret { ///

    secretsmanager:GetRandomPassword

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRandomPassword { _private: (), } @@ -678,7 +668,6 @@ impl GetRandomPassword { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetRandomPasswordError::unhandled(generic)), @@ -721,7 +710,6 @@ impl GetRandomPassword { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetRandomPassword { type Output = Result; @@ -757,7 +745,7 @@ impl smithy_http::response::ParseStrictResponse for GetRandomPassword { ///

    To list all of the currently available secrets, use ListSecrets.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetResourcePolicy { _private: (), } @@ -776,7 +764,6 @@ impl GetResourcePolicy { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetResourcePolicyError::unhandled(generic)), @@ -819,7 +806,6 @@ impl GetResourcePolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetResourcePolicy { type Output = Result; @@ -856,7 +842,7 @@ impl smithy_http::response::ParseStrictResponse for GetResourcePolicy { ///

    To retrieve the non-encrypted details for the secret, use DescribeSecret.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetSecretValue { _private: (), } @@ -875,7 +861,6 @@ impl GetSecretValue { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetSecretValueError::unhandled(generic)), @@ -930,7 +915,6 @@ impl GetSecretValue { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetSecretValue { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -968,7 +952,7 @@ impl smithy_http::response::ParseStrictResponse for GetSecretValue { ///

    To list the versions attached to a secret, use ListSecretVersionIds.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListSecrets { _private: (), } @@ -987,7 +971,6 @@ impl ListSecrets { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListSecretsError::unhandled(generic)), @@ -1028,7 +1011,6 @@ impl ListSecrets { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListSecrets { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1065,7 +1047,7 @@ impl smithy_http::response::ParseStrictResponse for ListSecrets { ///

    To list the secrets in an account, use ListSecrets.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListSecretVersionIds { _private: (), } @@ -1085,7 +1067,6 @@ impl ListSecretVersionIds { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListSecretVersionIdsError::unhandled(generic)), @@ -1134,7 +1115,6 @@ impl ListSecretVersionIds { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListSecretVersionIds { type Output = Result; @@ -1175,7 +1155,7 @@ impl smithy_http::response::ParseStrictResponse for ListSecretVersionIds { ///

    To list all of the currently available secrets, use ListSecrets.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutResourcePolicy { _private: (), } @@ -1194,7 +1174,6 @@ impl PutResourcePolicy { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutResourcePolicyError::unhandled(generic)), @@ -1261,7 +1240,6 @@ impl PutResourcePolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutResourcePolicy { type Output = Result; @@ -1360,7 +1338,7 @@ impl smithy_http::response::ParseStrictResponse for PutResourcePolicy { ///

    To list the versions attached to a secret, use ListSecretVersionIds.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutSecretValue { _private: (), } @@ -1379,7 +1357,6 @@ impl PutSecretValue { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutSecretValueError::unhandled(generic)), @@ -1448,7 +1425,6 @@ impl PutSecretValue { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutSecretValue { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1475,7 +1451,7 @@ impl smithy_http::response::ParseStrictResponse for PutSecretValue { ///

    To delete a secret, use DeleteSecret.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RestoreSecret { _private: (), } @@ -1494,7 +1470,6 @@ impl RestoreSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RestoreSecretError::unhandled(generic)), @@ -1542,7 +1517,6 @@ impl RestoreSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RestoreSecret { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1612,7 +1586,7 @@ impl smithy_http::response::ParseStrictResponse for RestoreSecret { /// UpdateSecretVersionStage.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RotateSecret { _private: (), } @@ -1631,7 +1605,6 @@ impl RotateSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::RotateSecretError::unhandled(generic)), @@ -1679,7 +1652,6 @@ impl RotateSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RotateSecret { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1743,7 +1715,7 @@ impl smithy_http::response::ParseStrictResponse for RotateSecret { ///

    To view the list of tags attached to a secret, use DescribeSecret.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), } @@ -1762,7 +1734,6 @@ impl TagResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TagResourceError::unhandled(generic)), @@ -1807,7 +1778,6 @@ impl TagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1844,7 +1814,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { ///

    To view the list of tags attached to a secret, use DescribeSecret.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), } @@ -1863,7 +1833,6 @@ impl UntagResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UntagResourceError::unhandled(generic)), @@ -1908,7 +1877,6 @@ impl UntagResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UntagResource { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2001,7 +1969,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { ///

    To list the versions contained in a secret, use ListSecretVersionIds.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateSecret { _private: (), } @@ -2020,7 +1988,6 @@ impl UpdateSecret { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateSecretError::unhandled(generic)), @@ -2105,7 +2072,6 @@ impl UpdateSecret { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateSecret { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -2150,7 +2116,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateSecret { /// SecretVersionsToStages response value.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateSecretVersionStage { _private: (), } @@ -2172,7 +2138,6 @@ impl UpdateSecretVersionStage { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2245,7 +2210,6 @@ impl UpdateSecretVersionStage { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateSecretVersionStage { type Output = Result< crate::output::UpdateSecretVersionStageOutput, @@ -2261,7 +2225,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateSecretVersionStage { /// with white space and line breaks for better readability. Submit your input as a single line /// JSON string. A resource-based /// policy is optional.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ValidateResourcePolicy { _private: (), } @@ -2283,7 +2247,6 @@ impl ValidateResourcePolicy { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2329,7 +2292,6 @@ impl ValidateResourcePolicy { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ValidateResourcePolicy { type Output = Result< crate::output::ValidateResourcePolicyOutput, diff --git a/sdk/secretsmanager/src/operation_ser.rs b/sdk/secretsmanager/src/operation_ser.rs index 6692c33c6ee9..fc013501ee52 100644 --- a/sdk/secretsmanager/src/operation_ser.rs +++ b/sdk/secretsmanager/src/operation_ser.rs @@ -1,214 +1,190 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_cancel_rotate_secret_input_body( +pub fn serialize_operation_cancel_rotate_secret( input: &crate::input::CancelRotateSecretInput, ) -> Result { - let body = crate::serializer::CancelRotateSecretInputBody { - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_cancel_rotate_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_secret_input_body( +pub fn serialize_operation_create_secret( input: &crate::input::CreateSecretInput, ) -> Result { - let body = crate::serializer::CreateSecretInputBody { - name: &input.name, - tags: &input.tags, - kms_key_id: &input.kms_key_id, - description: &input.description, - secret_string: &input.secret_string, - secret_binary: &input.secret_binary, - client_request_token: &input.client_request_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_resource_policy_input_body( +pub fn serialize_operation_delete_resource_policy( input: &crate::input::DeleteResourcePolicyInput, ) -> Result { - let body = crate::serializer::DeleteResourcePolicyInputBody { - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_resource_policy_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_secret_input_body( +pub fn serialize_operation_delete_secret( input: &crate::input::DeleteSecretInput, ) -> Result { - let body = crate::serializer::DeleteSecretInputBody { - force_delete_without_recovery: &input.force_delete_without_recovery, - recovery_window_in_days: &input.recovery_window_in_days, - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_secret_input_body( +pub fn serialize_operation_describe_secret( input: &crate::input::DescribeSecretInput, ) -> Result { - let body = crate::serializer::DescribeSecretInputBody { - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_random_password_input_body( +pub fn serialize_operation_get_random_password( input: &crate::input::GetRandomPasswordInput, ) -> Result { - let body = crate::serializer::GetRandomPasswordInputBody { - exclude_numbers: &input.exclude_numbers, - exclude_characters: &input.exclude_characters, - password_length: &input.password_length, - require_each_included_type: &input.require_each_included_type, - include_space: &input.include_space, - exclude_punctuation: &input.exclude_punctuation, - exclude_lowercase: &input.exclude_lowercase, - exclude_uppercase: &input.exclude_uppercase, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_random_password_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_resource_policy_input_body( +pub fn serialize_operation_get_resource_policy( input: &crate::input::GetResourcePolicyInput, ) -> Result { - let body = crate::serializer::GetResourcePolicyInputBody { - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_resource_policy_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_secret_value_input_body( +pub fn serialize_operation_get_secret_value( input: &crate::input::GetSecretValueInput, ) -> Result { - let body = crate::serializer::GetSecretValueInputBody { - secret_id: &input.secret_id, - version_stage: &input.version_stage, - version_id: &input.version_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_secret_value_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_secrets_input_body( +pub fn serialize_operation_list_secrets( input: &crate::input::ListSecretsInput, ) -> Result { - let body = crate::serializer::ListSecretsInputBody { - max_results: &input.max_results, - sort_order: &input.sort_order, - next_token: &input.next_token, - filters: &input.filters, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_secrets_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_secret_version_ids_input_body( +pub fn serialize_operation_list_secret_version_ids( input: &crate::input::ListSecretVersionIdsInput, ) -> Result { - let body = crate::serializer::ListSecretVersionIdsInputBody { - max_results: &input.max_results, - secret_id: &input.secret_id, - next_token: &input.next_token, - include_deprecated: &input.include_deprecated, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_secret_version_ids_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_resource_policy_input_body( +pub fn serialize_operation_put_resource_policy( input: &crate::input::PutResourcePolicyInput, ) -> Result { - let body = crate::serializer::PutResourcePolicyInputBody { - resource_policy: &input.resource_policy, - block_public_policy: &input.block_public_policy, - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_resource_policy_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_secret_value_input_body( +pub fn serialize_operation_put_secret_value( input: &crate::input::PutSecretValueInput, ) -> Result { - let body = crate::serializer::PutSecretValueInputBody { - client_request_token: &input.client_request_token, - secret_id: &input.secret_id, - secret_string: &input.secret_string, - secret_binary: &input.secret_binary, - version_stages: &input.version_stages, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_secret_value_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_restore_secret_input_body( +pub fn serialize_operation_restore_secret( input: &crate::input::RestoreSecretInput, ) -> Result { - let body = crate::serializer::RestoreSecretInputBody { - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_restore_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_rotate_secret_input_body( +pub fn serialize_operation_rotate_secret( input: &crate::input::RotateSecretInput, ) -> Result { - let body = crate::serializer::RotateSecretInputBody { - secret_id: &input.secret_id, - client_request_token: &input.client_request_token, - rotation_rules: &input.rotation_rules, - rotation_lambda_arn: &input.rotation_lambda_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_rotate_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_tag_resource_input_body( +pub fn serialize_operation_tag_resource( input: &crate::input::TagResourceInput, ) -> Result { - let body = crate::serializer::TagResourceInputBody { - secret_id: &input.secret_id, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + 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)) } -pub fn serialize_operation_untag_resource_input_body( +pub fn serialize_operation_untag_resource( input: &crate::input::UntagResourceInput, ) -> Result { - let body = crate::serializer::UntagResourceInputBody { - tag_keys: &input.tag_keys, - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_untag_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_secret_input_body( +pub fn serialize_operation_update_secret( input: &crate::input::UpdateSecretInput, ) -> Result { - let body = crate::serializer::UpdateSecretInputBody { - secret_string: &input.secret_string, - kms_key_id: &input.kms_key_id, - secret_id: &input.secret_id, - description: &input.description, - client_request_token: &input.client_request_token, - secret_binary: &input.secret_binary, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_secret_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_secret_version_stage_input_body( +pub fn serialize_operation_update_secret_version_stage( input: &crate::input::UpdateSecretVersionStageInput, ) -> Result { - let body = crate::serializer::UpdateSecretVersionStageInputBody { - move_to_version_id: &input.move_to_version_id, - secret_id: &input.secret_id, - remove_from_version_id: &input.remove_from_version_id, - version_stage: &input.version_stage, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_secret_version_stage_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_validate_resource_policy_input_body( +pub fn serialize_operation_validate_resource_policy( input: &crate::input::ValidateResourcePolicyInput, ) -> Result { - let body = crate::serializer::ValidateResourcePolicyInputBody { - resource_policy: &input.resource_policy, - secret_id: &input.secret_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_validate_resource_policy_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/secretsmanager/src/serde_util.rs b/sdk/secretsmanager/src/serde_util.rs index 4e34e59c1e25..52f46e107033 100644 --- a/sdk/secretsmanager/src/serde_util.rs +++ b/sdk/secretsmanager/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> @@ -26,20 +12,6 @@ where ) } -pub fn stdoptionoptionsmithytypesblob_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::blob_serde::BlobSer(el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/secretsmanager/src/serializer.rs b/sdk/secretsmanager/src/serializer.rs index 4230c91f3353..fca4ce541977 100644 --- a/sdk/secretsmanager/src/serializer.rs +++ b/sdk/secretsmanager/src/serializer.rs @@ -1,6 +1,6 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CancelRotateSecretInputBody<'a> { ///

    Specifies the secret to cancel a rotation request. You can specify either the Amazon /// Resource Name (ARN) or the friendly name of the secret.

    @@ -18,8 +18,6 @@ pub struct CancelRotateSecretInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for CancelRotateSecretInputBody<'a> { @@ -31,7 +29,7 @@ impl<'a> std::fmt::Debug for CancelRotateSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateSecretInputBody<'a> { ///

    Specifies the friendly name of the new secret.

    ///

    The secret name must be ASCII letters, digits, or the following characters : @@ -41,8 +39,6 @@ pub struct CreateSecretInputBody<'a> { /// risk confusion and unexpected results when searching for a secret by partial ARN. Secrets Manager /// automatically adds a hyphen and six random characters at the end of the ARN.

    ///
    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    (Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag /// is a "Key" and "Value" pair of strings. This operation only appends tags to the existing list @@ -96,8 +92,6 @@ pub struct CreateSecretInputBody<'a> { /// following special characters: + - = . _ : / @.

    /// /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, ///

    (Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to /// be used to encrypt the SecretString or SecretBinary values in the @@ -114,12 +108,8 @@ pub struct CreateSecretInputBody<'a> { /// resides in a different account, then you must create a custom CMK and specify the ARN in /// this field.

    /// - #[serde(rename = "KmsKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub kms_key_id: &'a std::option::Option, ///

    (Optional) Specifies a user-provided description of the secret.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    (Optional) Specifies text data that you want to encrypt and store in this new version of /// the secret.

    @@ -138,8 +128,6 @@ pub struct CreateSecretInputBody<'a> { ///

    ///

    If your command-line tool or SDK requires quotation marks around the parameter, you should /// use single quotes to avoid confusion with the double quotes required in the JSON text.

    - #[serde(rename = "SecretString")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_string: &'a std::option::Option, ///

    (Optional) Specifies binary data that you want to encrypt and store in the new version of /// the secret. To use this parameter in the command-line tools, we recommend that you store your @@ -149,9 +137,6 @@ pub struct CreateSecretInputBody<'a> { /// both. They cannot both be empty.

    ///

    This parameter is not available using the Secrets Manager console. It can be accessed only by /// using the AWS CLI or one of the AWS SDKs.

    - #[serde(rename = "SecretBinary")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub secret_binary: &'a std::option::Option, ///

    (Optional) If you include SecretString or SecretBinary, then an /// initial version is created as part of the secret, and this parameter specifies a unique @@ -186,8 +171,6 @@ pub struct CreateSecretInputBody<'a> { /// /// ///

    This value becomes the VersionId of the new version.

    - #[serde(rename = "ClientRequestToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_request_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateSecretInputBody<'a> { @@ -205,7 +188,7 @@ impl<'a> std::fmt::Debug for CreateSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteResourcePolicyInputBody<'a> { ///

    Specifies the secret that you want to delete the attached resource-based policy for. You /// can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -223,8 +206,6 @@ pub struct DeleteResourcePolicyInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteResourcePolicyInputBody<'a> { @@ -236,7 +217,7 @@ impl<'a> std::fmt::Debug for DeleteResourcePolicyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteSecretInputBody<'a> { ///

    (Optional) Specifies that the secret is to be deleted without any recovery window. You /// can't use both this parameter and the RecoveryWindowInDays parameter in the same @@ -252,15 +233,11 @@ pub struct DeleteSecretInputBody<'a> { /// ForceDeleteWithouRecovery parameter, then you have no opportunity to recover /// the secret. It is permanently lost.

    /// - #[serde(rename = "ForceDeleteWithoutRecovery")] - #[serde(skip_serializing_if = "Option::is_none")] pub force_delete_without_recovery: &'a std::option::Option, ///

    (Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. /// You can't use both this parameter and the ForceDeleteWithoutRecovery parameter in /// the same API call.

    ///

    This value can range from 7 to 30 days. The default value is 30.

    - #[serde(rename = "RecoveryWindowInDays")] - #[serde(skip_serializing_if = "Option::is_none")] pub recovery_window_in_days: &'a std::option::Option, ///

    Specifies the secret that you want to delete. You can specify either the Amazon Resource /// Name (ARN) or the friendly name of the secret.

    @@ -278,8 +255,6 @@ pub struct DeleteSecretInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteSecretInputBody<'a> { @@ -296,7 +271,7 @@ impl<'a> std::fmt::Debug for DeleteSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeSecretInputBody<'a> { ///

    The identifier of the secret whose details you want to retrieve. You can specify either /// the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -314,8 +289,6 @@ pub struct DescribeSecretInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeSecretInputBody<'a> { @@ -327,33 +300,23 @@ impl<'a> std::fmt::Debug for DescribeSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetRandomPasswordInputBody<'a> { ///

    Specifies that the generated password should not include digits. The default if you do not /// include this switch parameter is that digits can be included.

    - #[serde(rename = "ExcludeNumbers")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclude_numbers: &'a std::option::Option, ///

    A string that includes characters that should not be included in the generated password. /// The default is that all characters from the included sets can be used.

    - #[serde(rename = "ExcludeCharacters")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclude_characters: &'a std::option::Option, ///

    The desired length of the generated password. The default value if you do not include this /// parameter is 32 characters.

    - #[serde(rename = "PasswordLength")] - #[serde(skip_serializing_if = "Option::is_none")] pub password_length: &'a std::option::Option, ///

    A boolean value that specifies whether the generated password must include at least one of /// every allowed character type. The default value is True and the operation /// requires at least one of every character type.

    - #[serde(rename = "RequireEachIncludedType")] - #[serde(skip_serializing_if = "Option::is_none")] pub require_each_included_type: &'a std::option::Option, ///

    Specifies that the generated password can include the space character. The default if you /// do not include this switch parameter is that the space character is not included.

    - #[serde(rename = "IncludeSpace")] - #[serde(skip_serializing_if = "Option::is_none")] pub include_space: &'a std::option::Option, ///

    Specifies that the generated password should not include punctuation characters. The /// default if you do not include this switch parameter is that punctuation characters can be @@ -365,18 +328,12 @@ pub struct GetRandomPasswordInputBody<'a> { /// ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } /// ~ ///

    - #[serde(rename = "ExcludePunctuation")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclude_punctuation: &'a std::option::Option, ///

    Specifies that the generated password should not include lowercase letters. The default if /// you do not include this switch parameter is that lowercase letters can be included.

    - #[serde(rename = "ExcludeLowercase")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclude_lowercase: &'a std::option::Option, ///

    Specifies that the generated password should not include uppercase letters. The default if /// you do not include this switch parameter is that uppercase letters can be included.

    - #[serde(rename = "ExcludeUppercase")] - #[serde(skip_serializing_if = "Option::is_none")] pub exclude_uppercase: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetRandomPasswordInputBody<'a> { @@ -398,7 +355,7 @@ impl<'a> std::fmt::Debug for GetRandomPasswordInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetResourcePolicyInputBody<'a> { ///

    Specifies the secret that you want to retrieve the attached resource-based policy for. You /// can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -416,8 +373,6 @@ pub struct GetResourcePolicyInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetResourcePolicyInputBody<'a> { @@ -429,7 +384,7 @@ impl<'a> std::fmt::Debug for GetResourcePolicyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetSecretValueInputBody<'a> { ///

    Specifies the secret containing the version that you want to retrieve. You can specify /// either the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -447,8 +402,6 @@ pub struct GetSecretValueInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    Specifies the secret version that you want to retrieve by the staging label attached to /// the version.

    @@ -457,8 +410,6 @@ pub struct GetSecretValueInputBody<'a> { /// specify either a VersionStage or VersionId, then the default is to /// perform the operation on the version with the VersionStage value of /// AWSCURRENT.

    - #[serde(rename = "VersionStage")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_stage: &'a std::option::Option, ///

    Specifies the unique identifier of the version of the secret that you want to retrieve. If /// you specify this parameter then don't specify VersionStage. If you @@ -467,8 +418,6 @@ pub struct GetSecretValueInputBody<'a> { /// AWSCURRENT.

    ///

    This value is typically a UUID-type value with /// 32 hexadecimal digits.

    - #[serde(rename = "VersionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetSecretValueInputBody<'a> { @@ -482,7 +431,7 @@ impl<'a> std::fmt::Debug for GetSecretValueInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListSecretsInputBody<'a> { ///

    (Optional) Limits the number of results you want to include in /// the response. If you don't include this parameter, it defaults to a value that's @@ -492,23 +441,15 @@ pub struct ListSecretsInputBody<'a> { /// get the next part of the results. Note that Secrets Manager might return fewer results than the maximum /// even when there are more results available. You should check NextToken after every /// operation to ensure that you receive all of the results.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    Lists secrets in the requested order.

    - #[serde(rename = "SortOrder")] - #[serde(skip_serializing_if = "Option::is_none")] pub sort_order: &'a std::option::Option, ///

    (Optional) Use this parameter in a request if you receive a /// NextToken response in a previous request indicating there's more /// output available. In a subsequent call, set it to the value of the previous call /// NextToken response to indicate where the output should continue from.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    Lists the secret request filters.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, } impl<'a> std::fmt::Debug for ListSecretsInputBody<'a> { @@ -523,7 +464,7 @@ impl<'a> std::fmt::Debug for ListSecretsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListSecretVersionIdsInputBody<'a> { ///

    (Optional) Limits the number of results you want to include in /// the response. If you don't include this parameter, it defaults to a value that's @@ -533,8 +474,6 @@ pub struct ListSecretVersionIdsInputBody<'a> { /// get the next part of the results. Note that Secrets Manager might return fewer results than the maximum /// even when there are more results available. You should check NextToken after every /// operation to ensure that you receive all of the results.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The identifier for the secret containing the versions you want to list. You can specify /// either the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -552,21 +491,15 @@ pub struct ListSecretVersionIdsInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    (Optional) Use this parameter in a request if you receive a /// NextToken response in a previous request indicating there's more /// output available. In a subsequent call, set it to the value of the previous call /// NextToken response to indicate where the output should continue from.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    (Optional) Specifies that you want the results to include versions that do not have any /// staging labels attached to them. Such versions are considered deprecated and are subject to /// deletion by Secrets Manager as needed.

    - #[serde(rename = "IncludeDeprecated")] - #[serde(skip_serializing_if = "Option::is_none")] pub include_deprecated: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListSecretVersionIdsInputBody<'a> { @@ -581,19 +514,15 @@ impl<'a> std::fmt::Debug for ListSecretVersionIdsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutResourcePolicyInputBody<'a> { ///

    A JSON-formatted string that's constructed according to the grammar and syntax for an /// AWS resource-based policy. The policy in the string identifies who can access or manage this /// secret and its versions. For information on how to format a JSON parameter for the various /// command line tool environments, see Using /// JSON for Parameters in the AWS CLI User Guide.

    - #[serde(rename = "ResourcePolicy")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_policy: &'a std::option::Option, ///

    Makes an optional API call to Zelkova to validate the Resource Policy to prevent broad access to your secret.

    - #[serde(rename = "BlockPublicPolicy")] - #[serde(skip_serializing_if = "Option::is_none")] pub block_public_policy: &'a std::option::Option, ///

    Specifies the secret that you want to attach the resource-based policy to. You can specify /// either the ARN or the friendly name of the secret.

    @@ -611,8 +540,6 @@ pub struct PutResourcePolicyInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutResourcePolicyInputBody<'a> { @@ -626,7 +553,7 @@ impl<'a> std::fmt::Debug for PutResourcePolicyInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutSecretValueInputBody<'a> { ///

    (Optional) Specifies a unique identifier for the new version of the secret.

    /// @@ -658,8 +585,6 @@ pub struct PutSecretValueInputBody<'a> { /// /// ///

    This value becomes the VersionId of the new version.

    - #[serde(rename = "ClientRequestToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_request_token: &'a std::option::Option, ///

    Specifies the secret to which you want to add a new version. You can specify either the /// Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already @@ -678,8 +603,6 @@ pub struct PutSecretValueInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    ///
    - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    (Optional) Specifies text data that you want to encrypt and store in this new version of /// the secret. Either SecretString or SecretBinary must have a value, @@ -698,8 +621,6 @@ pub struct PutSecretValueInputBody<'a> { ///

    ///

    If your command-line tool or SDK requires quotation marks around the parameter, you should /// use single quotes to avoid confusion with the double quotes required in the JSON text.

    - #[serde(rename = "SecretString")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_string: &'a std::option::Option, ///

    (Optional) Specifies binary data that you want to encrypt and store in the new version of /// the secret. To use this parameter in the command-line tools, we recommend that you store your @@ -708,9 +629,6 @@ pub struct PutSecretValueInputBody<'a> { /// SecretString must have a value, but not both. They cannot both be empty.

    ///

    This parameter is not accessible if the secret using the Secrets Manager console.

    ///

    - #[serde(rename = "SecretBinary")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub secret_binary: &'a std::option::Option, ///

    (Optional) Specifies a list of staging labels that are attached to this version of the /// secret. These staging labels are used to track the versions through the rotation process by @@ -720,8 +638,6 @@ pub struct PutSecretValueInputBody<'a> { /// label is automatically removed from the other version and attached to this version.

    ///

    If you do not specify a value for VersionStages then Secrets Manager automatically /// moves the staging label AWSCURRENT to this new version.

    - #[serde(rename = "VersionStages")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_stages: &'a std::option::Option>, } impl<'a> std::fmt::Debug for PutSecretValueInputBody<'a> { @@ -737,7 +653,7 @@ impl<'a> std::fmt::Debug for PutSecretValueInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RestoreSecretInputBody<'a> { ///

    Specifies the secret that you want to restore from a previously scheduled deletion. You /// can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -755,8 +671,6 @@ pub struct RestoreSecretInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for RestoreSecretInputBody<'a> { @@ -768,7 +682,7 @@ impl<'a> std::fmt::Debug for RestoreSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RotateSecretInputBody<'a> { ///

    Specifies the secret that you want to rotate. You can specify either the Amazon Resource /// Name (ARN) or the friendly name of the secret.

    @@ -786,8 +700,6 @@ pub struct RotateSecretInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    (Optional) Specifies a unique identifier for the new version of the secret that helps /// ensure idempotency.

    @@ -803,16 +715,10 @@ pub struct RotateSecretInputBody<'a> { ///

    Secrets Manager uses this value to prevent the accidental creation of duplicate versions if /// there are failures and retries during the function's processing. This value becomes the /// VersionId of the new version.

    - #[serde(rename = "ClientRequestToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_request_token: &'a std::option::Option, ///

    A structure that defines the rotation configuration for this secret.

    - #[serde(rename = "RotationRules")] - #[serde(skip_serializing_if = "Option::is_none")] pub rotation_rules: &'a std::option::Option, ///

    (Optional) Specifies the ARN of the Lambda function that can rotate the secret.

    - #[serde(rename = "RotationLambdaARN")] - #[serde(skip_serializing_if = "Option::is_none")] pub rotation_lambda_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for RotateSecretInputBody<'a> { @@ -827,7 +733,7 @@ impl<'a> std::fmt::Debug for RotateSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInputBody<'a> { ///

    The identifier for the secret that you want to attach tags to. You can specify either the /// Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -845,8 +751,6 @@ pub struct TagResourceInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    The tags to attach to the secret. Each element in the list consists of a Key /// and a Value.

    @@ -855,8 +759,6 @@ pub struct TagResourceInputBody<'a> { /// AWS CLI, you can also use the syntax: --Tags /// Key="Key1",Value="Value1",Key="Key2",Value="Value2"[,…] ///

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { @@ -869,14 +771,12 @@ impl<'a> std::fmt::Debug for TagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UntagResourceInputBody<'a> { ///

    A list of tag key names to remove from the secret. You don't specify the value. Both the /// key and its associated value are removed.

    ///

    This parameter to the API requires a JSON text string argument. For information on how to /// format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

    - #[serde(rename = "TagKeys")] - #[serde(skip_serializing_if = "Option::is_none")] pub tag_keys: &'a std::option::Option>, ///

    The identifier for the secret that you want to remove tags from. You can specify either /// the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -894,8 +794,6 @@ pub struct UntagResourceInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { @@ -908,7 +806,7 @@ impl<'a> std::fmt::Debug for UntagResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateSecretInputBody<'a> { ///

    (Optional) Specifies updated text data that you want to encrypt and store in this new /// version of the secret. Either SecretBinary or SecretString must have @@ -932,8 +830,6 @@ pub struct UpdateSecretInputBody<'a> { ///

    /// "[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]" ///

    - #[serde(rename = "SecretString")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_string: &'a std::option::Option, ///

    (Optional) Specifies an updated ARN or alias of the AWS KMS customer master key (CMK) to be /// used to encrypt the protected text in new versions of this secret.

    @@ -944,8 +840,6 @@ pub struct UpdateSecretInputBody<'a> { /// this field. The user making the call must have permissions to both the secret and the CMK in /// their respective accounts.

    /// - #[serde(rename = "KmsKeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub kms_key_id: &'a std::option::Option, ///

    Specifies the secret that you want to modify or to which you want to add a new version. /// You can specify either the Amazon Resource Name (ARN) or the friendly name of the @@ -964,12 +858,8 @@ pub struct UpdateSecretInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    (Optional) Specifies an updated user-provided description of the secret.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    (Optional) If you want to add a new version to the secret, this parameter specifies a /// unique identifier for the new version that helps ensure idempotency.

    @@ -1001,8 +891,6 @@ pub struct UpdateSecretInputBody<'a> { /// /// ///

    This value becomes the VersionId of the new version.

    - #[serde(rename = "ClientRequestToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_request_token: &'a std::option::Option, ///

    (Optional) Specifies updated binary data that you want to encrypt and store in the new /// version of the secret. To use this parameter in the command-line tools, we recommend that you @@ -1010,9 +898,6 @@ pub struct UpdateSecretInputBody<'a> { /// the contents of the file as a parameter. Either SecretBinary or /// SecretString must have a value, but not both. They cannot both be empty.

    ///

    This parameter is not accessible using the Secrets Manager console.

    - #[serde(rename = "SecretBinary")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] pub secret_binary: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateSecretInputBody<'a> { @@ -1029,14 +914,12 @@ impl<'a> std::fmt::Debug for UpdateSecretInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateSecretVersionStageInputBody<'a> { ///

    (Optional) The secret version ID that you want to add the staging label. If you want to /// remove a label from a version, then do not specify this parameter.

    ///

    If the staging label is already attached to a different version of the secret, then you /// must also specify the RemoveFromVersionId parameter.

    - #[serde(rename = "MoveToVersionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub move_to_version_id: &'a std::option::Option, ///

    Specifies the secret with the version with the list of staging labels you want to modify. /// You can specify either the Amazon Resource Name (ARN) or the friendly name of the @@ -1055,20 +938,14 @@ pub struct UpdateSecretVersionStageInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, ///

    Specifies the secret version ID of the version that the staging label is to be removed /// from. If the staging label you are trying to attach to one version is already attached to a /// different version, then you must include this parameter and specify the version that the label /// is to be removed from. If the label is attached and you either do not specify this parameter, /// or the version ID does not match, then the operation fails.

    - #[serde(rename = "RemoveFromVersionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub remove_from_version_id: &'a std::option::Option, ///

    The staging label to add to this version.

    - #[serde(rename = "VersionStage")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_stage: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateSecretVersionStageInputBody<'a> { @@ -1083,11 +960,9 @@ impl<'a> std::fmt::Debug for UpdateSecretVersionStageInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ValidateResourcePolicyInputBody<'a> { ///

    Identifies the Resource Policy attached to the secret.

    - #[serde(rename = "ResourcePolicy")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_policy: &'a std::option::Option, ///

    The identifier for the secret that you want to validate a resource policy. You can specify either /// the Amazon Resource Name (ARN) or the friendly name of the secret.

    @@ -1105,8 +980,6 @@ pub struct ValidateResourcePolicyInputBody<'a> { /// 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, /// you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

    /// - #[serde(rename = "SecretId")] - #[serde(skip_serializing_if = "Option::is_none")] pub secret_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for ValidateResourcePolicyInputBody<'a> { diff --git a/sdk/smithy-http/src/body.rs b/sdk/smithy-http/src/body.rs index 20c62ed2f7ac..828c1cbe8b07 100644 --- a/sdk/smithy-http/src/body.rs +++ b/sdk/smithy-http/src/body.rs @@ -77,6 +77,14 @@ impl SdkBody { } } + /// Construct an explicitly retryable SDK body + /// + /// ## NOTE: This is probably not what you want + /// + /// All bodies constructed from in-memory data (`String`, `Vec`, `Bytes`, etc.) will be + /// retryable out of the box. If you want to read data from a file, you should use + /// [`ByteStream::from_path`](crate::byte_stream::ByteStream::from_path). This function is only necessary when you + /// need to enable retries for your own streaming container. pub fn retryable(f: impl Fn() -> SdkBody + Send + Sync + 'static) -> Self { let initial = f(); SdkBody { diff --git a/sdk/smithy-http/src/byte_stream.rs b/sdk/smithy-http/src/byte_stream.rs index 6106d9625ff8..9ce2bdbe5419 100644 --- a/sdk/smithy-http/src/byte_stream.rs +++ b/sdk/smithy-http/src/byte_stream.rs @@ -82,8 +82,9 @@ //! } //! //! async fn bytestream_from_file() -> GetObjectInput { -//! let f = Path::new("docs/some-large-file.csv"); -//! let bytestream = ByteStream::from_path(&f).await.expect("valid path"); +//! let bytestream = ByteStream::from_path("docs/some-large-file.csv") +//! .await +//! .expect("valid path"); //! GetObjectInput { body: bytestream } //! } //! ``` @@ -109,6 +110,8 @@ mod bytestream_util; /// /// `ByteStream` wraps a stream of binary data for ease of use. /// +/// ## Getting data out of a `ByteStream` +/// /// `ByteStream` provides two primary mechanisms for accessing the data: /// 1. With `.collect()`: /// [`.collect()`](crate::byte_stream::ByteStream::collect) reads the complete ByteStream into memory and stores it in `AggregatedBytes`, @@ -143,7 +146,7 @@ mod bytestream_util; /// use tokio_stream::StreamExt; /// /// async fn example() -> Result<(), Error> { -/// let mut stream = ByteStream::new(SdkBody::from("hello! This is some data")); +/// let mut stream = ByteStream::from(vec![1, 2, 3, 4, 5, 99]); /// let mut digest = crc32::Digest::new(); /// while let Some(bytes) = stream.try_next().await? { /// digest.write(&bytes); @@ -153,6 +156,38 @@ mod bytestream_util; /// } /// ``` /// +/// ## Getting data into a ByteStream +/// ByteStreams can be created in one of three ways: +/// 1. **From in-memory binary data**: ByteStreams created from in-memory data are always retryable. Data +/// will be converted into `Bytes` enabling a cheap clone during retries. +/// ```rust +/// use bytes::Bytes; +/// use smithy_http::byte_stream::ByteStream; +/// let stream = ByteStream::from(vec![1,2,3]); +/// let stream = ByteStream::from(Bytes::from_static(b"hello!")); +/// ``` +/// +/// 2. **From a file**: ByteStreams created from a path can be retried. A new file descriptor will be opened if a retry occurs. +/// ```rust +/// use smithy_http::byte_stream::ByteStream; +/// let stream = ByteStream::from_path("big_file.csv"); +/// ``` +/// +/// 3. **From an `SdkBody` directly**: For more advanced / custom use cases, a ByteStream can be created directly +/// from an SdkBody. **When created from an SdkBody, care must be taken to ensure retriability.** An SdkBody is retryable +/// when constructured from in-memory data or when using [`SdkBody::retryable`](crate::body::SdkBody::retryable). +/// ```rust +/// use smithy_http::byte_stream::ByteStream; +/// use smithy_http::body::SdkBody; +/// use bytes::Bytes; +/// let (mut tx, channel_body) = hyper::Body::channel(); +/// // this will not be retryable because the SDK has no way to replay this stream +/// let stream = ByteStream::new(SdkBody::from(channel_body)); +/// tx.send_data(Bytes::from_static(b"hello world!")); +/// tx.send_data(Bytes::from_static(b"hello again!")); +/// // NOTE! You must ensure that `tx` is dropped to ensure that EOF is sent +/// ``` +/// #[pin_project] #[derive(Debug)] pub struct ByteStream(#[pin] Inner); @@ -211,12 +246,13 @@ impl ByteStream { /// use smithy_http::byte_stream::ByteStream; /// use std::path::Path; /// async fn make_bytestream() -> ByteStream { - /// ByteStream::from_path(&Path::new("docs/rows.csv")).await.expect("file should be readable") + /// ByteStream::from_path("docs/rows.csv").await.expect("file should be readable") /// } /// ``` #[cfg(feature = "bytestream-util")] #[cfg_attr(docsrs, doc(cfg(feature = "bytestream-util")))] - pub async fn from_path(path: &Path) -> Result { + pub async fn from_path(path: impl AsRef) -> Result { + let path = path.as_ref(); let path_buf = path.to_path_buf(); let sz = tokio::fs::metadata(path) .await @@ -262,12 +298,17 @@ impl From for ByteStream { } } +/// Construct a retryable ByteStream from [`bytes::Bytes`](bytes::Bytes) impl From for ByteStream { fn from(input: Bytes) -> Self { ByteStream::new(SdkBody::from(input)) } } +/// Construct a retryable ByteStream from a `Vec`. +/// +/// This will convert the `Vec` into [`bytes::Bytes`](bytes::Bytes) to enable efficient +/// retries. impl From> for ByteStream { fn from(input: Vec) -> Self { Self::from(Bytes::from(input)) @@ -446,7 +487,7 @@ mod tests { for i in 0..10000 { writeln!(file, "Brian was here. Briefly. {}", i)?; } - let body = ByteStream::from_path(file.path()).await?.into_inner(); + let body = ByteStream::from_path(&file).await?.into_inner(); // assert that a valid size hint is immediately ready assert_eq!(body.size_hint().exact(), Some(298890)); let mut body1 = body.try_clone().expect("retryable bodies are cloneable"); diff --git a/sdk/smithy-http/src/endpoint.rs b/sdk/smithy-http/src/endpoint.rs index 0272181e0932..fc0d29f41f6e 100644 --- a/sdk/smithy-http/src/endpoint.rs +++ b/sdk/smithy-http/src/endpoint.rs @@ -18,6 +18,7 @@ pub struct Endpoint { immutable: bool, } +#[derive(Clone, Debug, Eq, PartialEq)] pub struct EndpointPrefix(String); impl EndpointPrefix { pub fn new(prefix: impl Into) -> Result { @@ -25,6 +26,10 @@ impl EndpointPrefix { let _ = Authority::from_str(&prefix)?; Ok(EndpointPrefix(prefix)) } + + pub fn as_str(&self) -> &str { + &self.0 + } } #[non_exhaustive] @@ -33,10 +38,6 @@ pub enum InvalidEndpoint { EndpointMustHaveAuthority, } -// user gives: Endpoint Provider. Give endpoint. Is this endpoint extensible? -// where endpoint discovery starts from. -// endpoints can mutate a request, potentially with a - impl Endpoint { /// Create a new endpoint from a URI /// diff --git a/sdk/smithy-http/src/operation.rs b/sdk/smithy-http/src/operation.rs index 32de7a687ba6..a177758304f6 100644 --- a/sdk/smithy-http/src/operation.rs +++ b/sdk/smithy-http/src/operation.rs @@ -7,11 +7,11 @@ use crate::body::SdkBody; use crate::property_bag::PropertyBag; use std::borrow::Cow; use std::error::Error; -use std::ops::DerefMut; +use std::ops::{Deref, DerefMut}; use std::sync::{Arc, Mutex, MutexGuard}; use thiserror::Error; -#[derive(Clone)] +#[derive(Clone, Debug)] pub struct Metadata { operation: Cow<'static, str>, service: Cow<'static, str>, @@ -38,7 +38,7 @@ impl Metadata { } #[non_exhaustive] -#[derive(Clone)] +#[derive(Clone, Debug)] pub struct Parts { pub response_handler: H, pub retry_policy: R, @@ -67,6 +67,7 @@ pub enum BuildError { SerializationError(#[from] Box), } +#[derive(Debug)] pub struct Operation { request: Request, parts: Parts, @@ -84,6 +85,10 @@ impl Operation { self.request.config_mut() } + pub fn config(&self) -> impl Deref + '_ { + self.request.config() + } + pub fn with_metadata(mut self, metadata: Metadata) -> Self { self.parts.metadata = Some(metadata); self diff --git a/sdk/smithy-json/Cargo.toml b/sdk/smithy-json/Cargo.toml new file mode 100644 index 000000000000..5f0ca2d3a8e8 --- /dev/null +++ b/sdk/smithy-json/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "smithy-json" +version = "0.1.0" +authors = ["AWS Rust SDK Team ", "John DiSanti "] +edition = "2018" + +[dependencies] +itoa = "0.4" +ryu = "1.0" +smithy-types = { path = "../smithy-types" } + +[dev-dependencies] +proptest = "1" +serde_json = "1.0" diff --git a/sdk/smithy-json/src/escape.rs b/sdk/smithy-json/src/escape.rs new file mode 100644 index 000000000000..58d4a140400e --- /dev/null +++ b/sdk/smithy-json/src/escape.rs @@ -0,0 +1,92 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::borrow::Cow; + +/// Escapes a string for embedding in a JSON string value. +pub fn escape_string(value: &str) -> Cow { + let bytes = value.as_bytes(); + for (index, byte) in bytes.iter().enumerate() { + match byte { + 0..=0x1F | b'"' | b'\\' => { + return Cow::Owned(escape_string_inner(&bytes[0..index], &bytes[index..])) + } + _ => {} + } + } + Cow::Borrowed(value) +} + +fn escape_string_inner(start: &[u8], rest: &[u8]) -> String { + let mut escaped = Vec::with_capacity(start.len() + rest.len() + 1); + escaped.extend(start); + + for byte in rest { + match byte { + b'"' => escaped.extend(b"\\\""), + b'\\' => escaped.extend(b"\\\\"), + 0x08 => escaped.extend(b"\\b"), + 0x0C => escaped.extend(b"\\f"), + b'\n' => escaped.extend(b"\\n"), + b'\r' => escaped.extend(b"\\r"), + b'\t' => escaped.extend(b"\\t"), + 0..=0x1F => escaped.extend(format!("\\u{:04x}", byte).bytes()), + _ => escaped.push(*byte), + } + } + + // This is safe because: + // - The original input was valid UTF-8 since it came in as a `&str` + // - Only single-byte code points were escaped + // - The escape sequences are valid UTF-8 + debug_assert!(std::str::from_utf8(&escaped).is_ok()); + unsafe { String::from_utf8_unchecked(escaped) } +} + +#[cfg(test)] +mod test { + use super::escape_string; + + #[test] + fn escape() { + assert_eq!("", escape_string("").as_ref()); + assert_eq!("foo", escape_string("foo").as_ref()); + assert_eq!("foo\\r\\n", escape_string("foo\r\n").as_ref()); + assert_eq!("foo\\r\\nbar", escape_string("foo\r\nbar").as_ref()); + assert_eq!(r#"foo\\bar"#, escape_string(r#"foo\bar"#).as_ref()); + assert_eq!(r#"\\foobar"#, escape_string(r#"\foobar"#).as_ref()); + assert_eq!( + r#"\bf\fo\to\r\n"#, + escape_string("\u{08}f\u{0C}o\to\r\n").as_ref() + ); + assert_eq!("\\\"test\\\"", escape_string("\"test\"").as_ref()); + assert_eq!("\\u0000", escape_string("\u{0}").as_ref()); + assert_eq!("\\u001f", escape_string("\u{1f}").as_ref()); + } + + use proptest::proptest; + proptest! { + #[test] + fn matches_serde_json(s in ".*") { + let serde_escaped = serde_json::to_string(&s).unwrap(); + let serde_escaped = &serde_escaped[1..(serde_escaped.len() - 1)]; + assert_eq!(serde_escaped,escape_string(&s)) + } + } + + #[test] + #[ignore] // This tests escaping of all codepoints, but can take a long time in debug builds + fn all_codepoints() { + for value in 0..u32::MAX { + if let Some(chr) = char::from_u32(value) { + let string = String::from(chr); + let escaped = escape_string(&string); + let serde_escaped = serde_json::to_string(&string).unwrap(); + let serde_escaped = &serde_escaped[1..(serde_escaped.len() - 1)]; + assert_eq!(&escaped, serde_escaped); + } + } + } +} diff --git a/sdk/smithy-json/src/lib.rs b/sdk/smithy-json/src/lib.rs new file mode 100644 index 000000000000..de371590eec9 --- /dev/null +++ b/sdk/smithy-json/src/lib.rs @@ -0,0 +1,9 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! JSON Abstractions for Smithy + +mod escape; +pub mod serialize; diff --git a/sdk/smithy-json/src/serialize.rs b/sdk/smithy-json/src/serialize.rs new file mode 100644 index 000000000000..4eefce52e66e --- /dev/null +++ b/sdk/smithy-json/src/serialize.rs @@ -0,0 +1,438 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use crate::escape::escape_string; +use smithy_types::instant::Format; +use smithy_types::{Document, Instant, Number}; +use std::borrow::Cow; + +pub struct JsonValueWriter<'a> { + output: &'a mut String, +} + +impl<'a> JsonValueWriter<'a> { + pub fn new(output: &'a mut String) -> Self { + JsonValueWriter { output } + } + + /// Writes a null value. + pub fn null(self) { + self.output.push_str("null"); + } + + /// Writes the boolean `value`. + pub fn boolean(self, value: bool) { + self.output.push_str(match value { + true => "true", + _ => "false", + }); + } + + /// Writes a document `value`. + pub fn document(self, value: &Document) { + match value { + Document::Array(values) => { + let mut array = self.start_array(); + for value in values { + array.value().document(value); + } + array.finish(); + } + Document::Bool(value) => self.boolean(*value), + Document::Null => self.null(), + Document::Number(value) => self.number(*value), + Document::Object(values) => { + let mut object = self.start_object(); + for (key, value) in values { + object.key(key).document(value); + } + object.finish(); + } + Document::String(value) => self.string(&value), + } + } + + /// Writes a string `value`. + pub fn string(self, value: &str) { + self.output.push('"'); + self.output.push_str(&escape_string(value)); + self.output.push('"'); + } + + /// Writes a string `value` without escaping it. + pub fn string_unchecked(self, value: &str) { + // Verify in debug builds that we don't actually need to escape the string + debug_assert!(matches!(escape_string(value), Cow::Borrowed(_))); + + self.output.push('"'); + self.output.push_str(value); + self.output.push('"'); + } + + /// Writes a number `value`. + pub fn number(self, value: Number) { + match value { + Number::PosInt(value) => { + // itoa::Buffer is a fixed-size stack allocation, so this is cheap + self.output.push_str(itoa::Buffer::new().format(value)); + } + Number::NegInt(value) => { + self.output.push_str(itoa::Buffer::new().format(value)); + } + Number::Float(value) => { + // If the value is NaN, Infinity, or -Infinity + if value.is_nan() || value.is_infinite() { + self.output.push_str("null"); + } else { + // ryu::Buffer is a fixed-size stack allocation, so this is cheap + self.output + .push_str(ryu::Buffer::new().format_finite(value)); + } + } + } + } + + /// Writes an Instant `value` with the given `format`. + pub fn instant(self, instant: &Instant, format: Format) { + let formatted = instant.fmt(format); + match format { + Format::EpochSeconds => self.output.push_str(&formatted), + _ => self.string(&formatted), + } + } + + /// Starts an array. + pub fn start_array(self) -> JsonArrayWriter<'a> { + JsonArrayWriter::new(self.output) + } + + /// Starts an object. + pub fn start_object(self) -> JsonObjectWriter<'a> { + JsonObjectWriter::new(self.output) + } +} + +pub struct JsonObjectWriter<'a> { + json: &'a mut String, + started: bool, +} + +impl<'a> JsonObjectWriter<'a> { + pub fn new(output: &'a mut String) -> Self { + output.push('{'); + Self { + json: output, + started: false, + } + } + + /// Starts a value with the given `key`. + pub fn key(&mut self, key: &str) -> JsonValueWriter { + if self.started { + self.json.push(','); + } + self.started = true; + + self.json.push('"'); + self.json.push_str(&escape_string(key)); + self.json.push_str("\":"); + + JsonValueWriter::new(&mut self.json) + } + + /// Finishes the object. + pub fn finish(self) { + self.json.push('}'); + } +} + +pub struct JsonArrayWriter<'a> { + json: &'a mut String, + started: bool, +} + +impl<'a> JsonArrayWriter<'a> { + pub fn new(output: &'a mut String) -> Self { + output.push('['); + Self { + json: output, + started: false, + } + } + + /// Starts a new value in the array. + pub fn value(&mut self) -> JsonValueWriter { + self.comma_delimit(); + JsonValueWriter::new(&mut self.json) + } + + /// Finishes the array. + pub fn finish(self) { + self.json.push(']'); + } + + fn comma_delimit(&mut self) { + if self.started { + self.json.push(','); + } + self.started = true; + } +} + +#[cfg(test)] +mod tests { + use super::{JsonArrayWriter, JsonObjectWriter}; + use crate::serialize::JsonValueWriter; + use proptest::proptest; + use smithy_types::instant::Format; + use smithy_types::{Document, Instant, Number}; + + #[test] + fn empty() { + let mut output = String::new(); + JsonObjectWriter::new(&mut output).finish(); + assert_eq!("{}", &output); + + let mut output = String::new(); + JsonArrayWriter::new(&mut output).finish(); + assert_eq!("[]", &output); + } + + #[test] + fn object_inside_array() { + let mut output = String::new(); + let mut array = JsonArrayWriter::new(&mut output); + array.value().start_object().finish(); + array.value().start_object().finish(); + array.value().start_object().finish(); + array.finish(); + assert_eq!("[{},{},{}]", &output); + } + + #[test] + fn object_inside_object() { + let mut output = String::new(); + let mut obj_1 = JsonObjectWriter::new(&mut output); + + let mut obj_2 = obj_1.key("nested").start_object(); + obj_2.key("test").string("test"); + obj_2.finish(); + + obj_1.finish(); + assert_eq!(r#"{"nested":{"test":"test"}}"#, &output); + } + + #[test] + fn array_inside_object() { + let mut output = String::new(); + let mut object = JsonObjectWriter::new(&mut output); + object.key("foo").start_array().finish(); + object.key("ba\nr").start_array().finish(); + object.finish(); + assert_eq!(r#"{"foo":[],"ba\nr":[]}"#, &output); + } + + #[test] + fn array_inside_array() { + let mut output = String::new(); + + let mut arr_1 = JsonArrayWriter::new(&mut output); + + let mut arr_2 = arr_1.value().start_array(); + arr_2.value().number(Number::PosInt(5)); + arr_2.finish(); + + arr_1.value().start_array().finish(); + arr_1.finish(); + + assert_eq!("[[5],[]]", &output); + } + + #[test] + fn object() { + let mut output = String::new(); + let mut object = JsonObjectWriter::new(&mut output); + object.key("true_val").boolean(true); + object.key("false_val").boolean(false); + object.key("some_string").string("some\nstring\nvalue"); + object.key("unchecked_str").string_unchecked("unchecked"); + object.key("some_number").number(Number::Float(3.5)); + object.key("some_null").null(); + + let mut array = object.key("some_mixed_array").start_array(); + array.value().string("1"); + array.value().number(Number::NegInt(-2)); + array.value().string_unchecked("unchecked"); + array.value().boolean(true); + array.value().boolean(false); + array.value().null(); + array.finish(); + + object.finish(); + + assert_eq!( + r#"{"true_val":true,"false_val":false,"some_string":"some\nstring\nvalue","unchecked_str":"unchecked","some_number":3.5,"some_null":null,"some_mixed_array":["1",-2,"unchecked",true,false,null]}"#, + &output + ); + } + + #[test] + fn object_instants() { + let mut output = String::new(); + + let mut object = JsonObjectWriter::new(&mut output); + object + .key("epoch_seconds") + .instant(&Instant::from_f64(5.2), Format::EpochSeconds); + object.key("date_time").instant( + &Instant::from_str("2021-05-24T15:34:50.123Z", Format::DateTime).unwrap(), + Format::DateTime, + ); + object.key("http_date").instant( + &Instant::from_str("Wed, 21 Oct 2015 07:28:00 GMT", Format::HttpDate).unwrap(), + Format::HttpDate, + ); + object.finish(); + + assert_eq!( + r#"{"epoch_seconds":5.2,"date_time":"2021-05-24T15:34:50.123Z","http_date":"Wed, 21 Oct 2015 07:28:00 GMT"}"#, + &output, + ) + } + + #[test] + fn array_instants() { + let mut output = String::new(); + + let mut array = JsonArrayWriter::new(&mut output); + array + .value() + .instant(&Instant::from_f64(5.2), Format::EpochSeconds); + array.value().instant( + &Instant::from_str("2021-05-24T15:34:50.123Z", Format::DateTime).unwrap(), + Format::DateTime, + ); + array.value().instant( + &Instant::from_str("Wed, 21 Oct 2015 07:28:00 GMT", Format::HttpDate).unwrap(), + Format::HttpDate, + ); + array.finish(); + + assert_eq!( + r#"[5.2,"2021-05-24T15:34:50.123Z","Wed, 21 Oct 2015 07:28:00 GMT"]"#, + &output, + ) + } + + fn format_document(document: Document) -> String { + let mut output = String::new(); + JsonValueWriter::new(&mut output).document(&document); + output + } + + #[test] + fn document() { + assert_eq!("null", format_document(Document::Null)); + assert_eq!("true", format_document(Document::Bool(true))); + assert_eq!("false", format_document(Document::Bool(false))); + assert_eq!("5", format_document(Document::Number(Number::PosInt(5)))); + assert_eq!("\"test\"", format_document(Document::String("test".into()))); + assert_eq!( + "[null,true,\"test\"]", + format_document(Document::Array(vec![ + Document::Null, + Document::Bool(true), + Document::String("test".into()) + ])) + ); + assert_eq!( + r#"{"test":"foo"}"#, + format_document(Document::Object( + vec![("test".to_string(), Document::String("foo".into()))] + .into_iter() + .collect() + )) + ); + assert_eq!( + r#"{"test1":[{"num":1},{"num":2}]}"#, + format_document(Document::Object( + vec![( + "test1".to_string(), + Document::Array(vec![ + Document::Object( + vec![("num".to_string(), Document::Number(Number::PosInt(1))),] + .into_iter() + .collect() + ), + Document::Object( + vec![("num".to_string(), Document::Number(Number::PosInt(2))),] + .into_iter() + .collect() + ), + ]) + ),] + .into_iter() + .collect() + )) + ); + } + + fn format_test_number(number: Number) -> String { + let mut formatted = String::new(); + JsonValueWriter::new(&mut formatted).number(number); + formatted + } + + #[test] + fn number_formatting() { + assert_eq!("1", format_test_number(Number::PosInt(1))); + assert_eq!("-1", format_test_number(Number::NegInt(-1))); + assert_eq!("1", format_test_number(Number::NegInt(1))); + assert_eq!("0.0", format_test_number(Number::Float(0.0))); + assert_eq!("10000000000.0", format_test_number(Number::Float(1e10))); + assert_eq!("-1.2", format_test_number(Number::Float(-1.2))); + + // JSON doesn't support NaN, Infinity, or -Infinity, so we're matching + // the behavior of the serde_json crate in these cases. + assert_eq!( + serde_json::to_string(&f64::NAN).unwrap(), + format_test_number(Number::Float(f64::NAN)) + ); + assert_eq!( + serde_json::to_string(&f64::INFINITY).unwrap(), + format_test_number(Number::Float(f64::INFINITY)) + ); + assert_eq!( + serde_json::to_string(&f64::NEG_INFINITY).unwrap(), + format_test_number(Number::Float(f64::NEG_INFINITY)) + ); + } + + proptest! { + #[test] + fn matches_serde_json_pos_int_format(value: u64) { + assert_eq!( + serde_json::to_string(&value).unwrap(), + format_test_number(Number::PosInt(value)), + ) + } + + #[test] + fn matches_serde_json_neg_int_format(value: i64) { + assert_eq!( + serde_json::to_string(&value).unwrap(), + format_test_number(Number::NegInt(value)), + ) + } + + #[test] + fn matches_serde_json_float_format(value: f64) { + assert_eq!( + serde_json::to_string(&value).unwrap(), + format_test_number(Number::Float(value)), + ) + } + } +} diff --git a/sdk/smithy-query/Cargo.toml b/sdk/smithy-query/Cargo.toml new file mode 100644 index 000000000000..35810b3f1a4f --- /dev/null +++ b/sdk/smithy-query/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "smithy-query" +version = "0.1.0" +authors = ["AWS Rust SDK Team ", "John DiSanti "] +edition = "2018" + +[dependencies] +itoa = "0.4" +ryu = "1.0" +urlencoding = "1.3" +smithy-types = { path = "../smithy-types" } diff --git a/sdk/smithy-query/src/lib.rs b/sdk/smithy-query/src/lib.rs new file mode 100644 index 000000000000..611f677c03a4 --- /dev/null +++ b/sdk/smithy-query/src/lib.rs @@ -0,0 +1,415 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Abstractions for the Smithy AWS Query protocol + +use smithy_types::instant::Format; +use smithy_types::{Instant, Number}; +use std::borrow::Cow; +use urlencoding::encode; + +pub struct QueryWriter<'a> { + output: &'a mut String, +} + +impl<'a> QueryWriter<'a> { + pub fn new(output: &'a mut String, action: &str, version: &str) -> Self { + output.push_str("Action="); + output.push_str(&encode(action)); + output.push_str("&Version="); + output.push_str(&encode(version)); + QueryWriter { output } + } + + pub fn prefix(&mut self, prefix: &'a str) -> QueryValueWriter { + QueryValueWriter::new(self.output, Cow::Borrowed(prefix)) + } + + pub fn finish(self) { + // Calling this drops self + } +} + +pub struct QueryMapWriter<'a> { + output: &'a mut String, + prefix: Cow<'a, str>, + flatten: bool, + key_name: &'static str, + value_name: &'static str, + next_index: usize, +} + +impl<'a> QueryMapWriter<'a> { + fn new( + output: &'a mut String, + prefix: Cow<'a, str>, + flatten: bool, + key_name: &'static str, + value_name: &'static str, + ) -> QueryMapWriter<'a> { + QueryMapWriter { + prefix, + output, + flatten, + key_name, + value_name, + next_index: 1, + } + } + + pub fn entry(&mut self, key: &str) -> QueryValueWriter { + let entry = if self.flatten { "" } else { ".entry" }; + self.output.push_str(&format!( + "&{}{}.{}.{}={}", + self.prefix, + entry, + self.next_index, + self.key_name, + encode(key) + )); + let value_name = format!( + "{}{}.{}.{}", + self.prefix, entry, self.next_index, self.value_name + ); + + self.next_index += 1; + QueryValueWriter::new(self.output, Cow::Owned(value_name)) + } + + pub fn finish(self) { + // Calling this drops self + } +} + +pub struct QueryListWriter<'a> { + output: &'a mut String, + prefix: Cow<'a, str>, + flatten: bool, + member_override: Option<&'a str>, + next_index: usize, +} + +impl<'a> QueryListWriter<'a> { + fn new( + output: &'a mut String, + prefix: Cow<'a, str>, + flatten: bool, + member_override: Option<&'a str>, + ) -> QueryListWriter<'a> { + QueryListWriter { + prefix, + output, + flatten, + member_override, + next_index: 1, + } + } + + pub fn entry(&mut self) -> QueryValueWriter { + let value_name = if self.flatten { + format!("{}.{}", self.prefix, self.next_index) + } else if self.member_override.is_some() { + format!( + "{}.{}.{}", + self.prefix, + self.member_override.unwrap(), + self.next_index + ) + } else { + format!("{}.member.{}", self.prefix, self.next_index) + }; + + self.next_index += 1; + QueryValueWriter::new(self.output, Cow::Owned(value_name)) + } + + pub fn finish(self) { + // Calling this drops self + } +} + +pub struct QueryValueWriter<'a> { + output: &'a mut String, + prefix: Cow<'a, str>, +} + +impl<'a> QueryValueWriter<'a> { + pub fn new(output: &'a mut String, prefix: Cow<'a, str>) -> QueryValueWriter<'a> { + QueryValueWriter { output, prefix } + } + + /// Starts a new prefix. + pub fn prefix(&mut self, prefix: &'a str) -> QueryValueWriter { + QueryValueWriter::new( + self.output, + Cow::Owned(format!("{}.{}", self.prefix, prefix)), + ) + } + + /// Writes the boolean `value`. + pub fn boolean(mut self, value: bool) { + self.write_param_name(); + self.output.push_str(match value { + true => "true", + _ => "false", + }); + } + + /// Writes a string `value`. + pub fn string(mut self, value: &str) { + self.write_param_name(); + self.output.push_str(&encode(value)); + } + + /// Writes a number `value`. + pub fn number(self, value: Number) { + match value { + Number::PosInt(value) => { + // itoa::Buffer is a fixed-size stack allocation, so this is cheap + self.string(itoa::Buffer::new().format(value)); + } + Number::NegInt(value) => { + self.string(itoa::Buffer::new().format(value)); + } + Number::Float(value) => { + // If the value is NaN, Infinity, or -Infinity + if value.is_nan() || value.is_infinite() { + self.string(""); + } else { + // ryu::Buffer is a fixed-size stack allocation, so this is cheap + self.string(ryu::Buffer::new().format_finite(value)); + } + } + } + } + + /// Writes an Instant `value` with the given `format`. + pub fn instant(self, instant: &Instant, format: Format) { + self.string(&instant.fmt(format)); + } + + /// Starts a map. + pub fn start_map( + self, + flat: bool, + key_name: &'static str, + value_name: &'static str, + ) -> QueryMapWriter<'a> { + QueryMapWriter::new(self.output, self.prefix, flat, key_name, value_name) + } + + /// Starts a list. + pub fn start_list(self, flat: bool, member_override: Option<&'a str>) -> QueryListWriter<'a> { + QueryListWriter::new(self.output, self.prefix, flat, member_override) + } + + fn write_param_name(&mut self) { + self.output.push('&'); + self.output.push_str(&self.prefix); + self.output.push('='); + } +} + +#[cfg(test)] +mod tests { + use crate::QueryWriter; + use smithy_types::instant::Format; + use smithy_types::{Instant, Number}; + + #[test] + fn no_params() { + let mut out = String::new(); + let writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + writer.finish(); + assert_eq!("Action=SomeAction&Version=1.0", out); + } + + #[test] + fn maps() { + let mut out = String::new(); + let mut writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + + let mut map = writer.prefix("MapArg").start_map(false, "key", "value"); + map.entry("bar").string("Bar"); + map.entry("foo").string("Foo"); + map.finish(); + + let mut map = writer + .prefix("Some.Flattened") + .start_map(true, "key", "value"); + map.entry("bar").string("Bar"); + map.entry("foo").string("Foo"); + map.finish(); + + let mut map = writer.prefix("RenamedKVs").start_map(false, "K", "V"); + map.entry("bar").string("Bar"); + map.finish(); + + writer.finish(); + + assert_eq!( + "Action=SomeAction\ + &Version=1.0\ + &MapArg.entry.1.key=bar\ + &MapArg.entry.1.value=Bar\ + &MapArg.entry.2.key=foo\ + &MapArg.entry.2.value=Foo\ + &Some.Flattened.1.key=bar\ + &Some.Flattened.1.value=Bar\ + &Some.Flattened.2.key=foo\ + &Some.Flattened.2.value=Foo\ + &RenamedKVs.entry.1.K=bar\ + &RenamedKVs.entry.1.V=Bar\ + ", + out + ); + } + + #[test] + fn lists() { + let mut out = String::new(); + let mut writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + + let mut list = writer.prefix("ListArg").start_list(false, None); + list.entry().string("foo"); + list.entry().string("bar"); + list.entry().string("baz"); + list.finish(); + + let mut list = writer.prefix("FlattenedListArg").start_list(true, None); + list.entry().string("A"); + list.entry().string("B"); + list.finish(); + + let mut list = writer.prefix("ItemList").start_list(false, Some("item")); + list.entry().string("foo"); + list.entry().string("bar"); + list.finish(); + + writer.finish(); + + assert_eq!( + "Action=SomeAction\ + &Version=1.0\ + &ListArg.member.1=foo\ + &ListArg.member.2=bar\ + &ListArg.member.3=baz\ + &FlattenedListArg.1=A\ + &FlattenedListArg.2=B\ + &ItemList.item.1=foo\ + &ItemList.item.2=bar\ + ", + out + ); + } + + #[test] + fn prefixes() { + let mut out = String::new(); + let mut writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + + let mut first = writer.prefix("first"); + let second = first.prefix("second"); + second.string("second_val"); + first.string("first_val"); + + writer.finish(); + + assert_eq!( + "Action=SomeAction\ + &Version=1.0\ + &first.second=second_val\ + &first=first_val\ + ", + out + ); + } + + #[test] + fn timestamps() { + let mut out = String::new(); + let mut writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + + writer + .prefix("epoch_seconds") + .instant(&Instant::from_f64(5.2), Format::EpochSeconds); + writer.prefix("date_time").instant( + &Instant::from_str("2021-05-24T15:34:50.123Z", Format::DateTime).unwrap(), + Format::DateTime, + ); + writer.prefix("http_date").instant( + &Instant::from_str("Wed, 21 Oct 2015 07:28:00 GMT", Format::HttpDate).unwrap(), + Format::HttpDate, + ); + writer.finish(); + + assert_eq!( + "Action=SomeAction\ + &Version=1.0\ + &epoch_seconds=5.2\ + &date_time=2021-05-24T15%3A34%3A50.123Z\ + &http_date=Wed%2C%2021%20Oct%202015%2007%3A28%3A00%20GMT\ + ", + out + ); + } + + #[test] + fn numbers() { + let mut out = String::new(); + let mut writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + + writer.prefix("PosInt").number(Number::PosInt(5)); + writer.prefix("NegInt").number(Number::NegInt(-5)); + writer + .prefix("Infinity") + .number(Number::Float(f64::INFINITY)); + writer + .prefix("NegInfinity") + .number(Number::Float(f64::NEG_INFINITY)); + writer.prefix("NaN").number(Number::Float(f64::NAN)); + writer.prefix("Floating").number(Number::Float(5.2)); + writer.finish(); + + assert_eq!( + "Action=SomeAction\ + &Version=1.0\ + &PosInt=5\ + &NegInt=-5\ + &Infinity=\ + &NegInfinity=\ + &NaN=\ + &Floating=5.2\ + ", + out + ); + } + + #[test] + fn booleans() { + let mut out = String::new(); + let mut writer = QueryWriter::new(&mut out, "SomeAction", "1.0"); + + writer.prefix("IsTrue").boolean(true); + writer.prefix("IsFalse").boolean(false); + writer.finish(); + + assert_eq!( + "Action=SomeAction\ + &Version=1.0\ + &IsTrue=true\ + &IsFalse=false\ + ", + out + ); + } + + #[test] + fn action_version_escaping() { + let mut out = String::new(); + QueryWriter::new(&mut out, "Some Action", "1 2").finish(); + assert_eq!("Action=Some%20Action&Version=1%202", out); + } +} diff --git a/sdk/smithy-types/src/instant/mod.rs b/sdk/smithy-types/src/instant/mod.rs index 776d5fd5b82c..80932d020ae2 100644 --- a/sdk/smithy-types/src/instant/mod.rs +++ b/sdk/smithy-types/src/instant/mod.rs @@ -118,13 +118,20 @@ impl Instant { let rfc3339 = self .to_chrono() .to_rfc3339_opts(SecondsFormat::AutoSi, true); - // There's a bug(?) where trailing 0s aren't trimmed - let mut rfc3339 = rfc3339 - .trim_end_matches('Z') - .trim_end_matches('0') - .to_owned(); - rfc3339.push('Z'); - rfc3339 + // If the date ends in `:00` eg. 2019-12-16T23:48:00Z we don't want to strip + // those 0s. We only need to strip subsecond zeros when they appear + let fixed_date = if !rfc3339.ends_with(":00Z") { + // There's a bug(?) where trailing 0s aren't trimmed + let mut trimmed = rfc3339 + .trim_end_matches('Z') + .trim_end_matches('0') + .to_owned(); + trimmed.push('Z'); + trimmed + } else { + rfc3339 + }; + fixed_date } Format::EpochSeconds => { if self.subsecond_nanos == 0 { @@ -170,6 +177,17 @@ mod test { ); } + #[test] + fn test_instant_fmt_zero_seconds() { + let instant = Instant::from_epoch_seconds(1576540080); + assert_eq!(instant.fmt(Format::DateTime), "2019-12-16T23:48:00Z"); + assert_eq!(instant.fmt(Format::EpochSeconds), "1576540080"); + assert_eq!( + instant.fmt(Format::HttpDate), + "Mon, 16 Dec 2019 23:48:00 GMT" + ); + } + #[test] fn test_read_single_http_date() { let s = "Mon, 16 Dec 2019 23:48:18 GMT"; diff --git a/sdk/smithy-types/src/lib.rs b/sdk/smithy-types/src/lib.rs index 0a2aacb7e646..2e84366d2ed2 100644 --- a/sdk/smithy-types/src/lib.rs +++ b/sdk/smithy-types/src/lib.rs @@ -9,9 +9,6 @@ pub mod retry; use std::collections::HashMap; pub use crate::instant::Instant; -use crate::retry::{ErrorKind, ProvideErrorKind}; -use std::fmt; -use std::fmt::{Display, Formatter}; #[derive(Debug, PartialEq, Clone)] pub struct Blob { @@ -62,55 +59,134 @@ pub enum Number { /* ANCHOR_END: document */ -/// Generic Error type -/// -/// For many services, Errors are modeled. However, many services only partially model errors or don't -/// model errors at all. In these cases, the SDK will return this generic error type to expose the -/// `code`, `message` and `request_id`. -#[derive(Debug, Eq, PartialEq, Default, Clone)] -pub struct Error { - pub code: Option, - pub message: Option, - pub request_id: Option, -} - -impl Error { - pub fn code(&self) -> Option<&str> { - self.code.as_deref() +pub use error::Error; + +pub mod error { + use crate::retry::{ErrorKind, ProvideErrorKind}; + use std::collections::HashMap; + use std::fmt; + use std::fmt::{Display, Formatter}; + + /// Generic Error type + /// + /// For many services, Errors are modeled. However, many services only partially model errors or don't + /// model errors at all. In these cases, the SDK will return this generic error type to expose the + /// `code`, `message` and `request_id`. + #[derive(Debug, Eq, PartialEq, Default, Clone)] + pub struct Error { + code: Option, + message: Option, + request_id: Option, + extras: HashMap<&'static str, String>, } - pub fn message(&self) -> Option<&str> { - self.message.as_deref() - } - pub fn request_id(&self) -> Option<&str> { - self.request_id.as_deref() + #[derive(Default)] + pub struct Builder { + inner: Error, } -} -impl ProvideErrorKind for Error { - fn retryable_error_kind(&self) -> Option { - None + impl Builder { + pub fn message(&mut self, message: impl Into) -> &mut Self { + self.inner.message = Some(message.into()); + self + } + + pub fn code(&mut self, code: impl Into) -> &mut Self { + self.inner.code = Some(code.into()); + self + } + + pub fn request_id(&mut self, request_id: impl Into) -> &mut Self { + self.inner.request_id = Some(request_id.into()); + self + } + + /// Set a custom field on the error metadata + /// + /// Typically, these will be accessed with an extension trait: + /// ```rust + /// use smithy_types::Error; + /// const HOST_ID: &str = "host_id"; + /// trait S3ErrorExt { + /// fn extended_request_id(&self) -> Option<&str>; + /// } + /// + /// impl S3ErrorExt for Error { + /// fn extended_request_id(&self) -> Option<&str> { + /// self.extra(HOST_ID) + /// } + /// } + /// + /// fn main() { + /// // Extension trait must be brought into scope + /// use S3ErrorExt; + /// let sdk_response: Result<(), Error> = Err(Error::builder().custom(HOST_ID, "x-1234").build()); + /// if let Err(err) = sdk_response { + /// println!("request id: {:?}, extended request id: {:?}", err.request_id(), err.extended_request_id()); + /// } + /// } + /// ``` + pub fn custom(&mut self, key: &'static str, value: impl Into) -> &mut Self { + self.inner.extras.insert(key, value.into()); + self + } + + pub fn build(&mut self) -> Error { + std::mem::take(&mut self.inner) + } } - fn code(&self) -> Option<&str> { - Error::code(self) + impl Error { + pub fn code(&self) -> Option<&str> { + self.code.as_deref() + } + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } + pub fn request_id(&self) -> Option<&str> { + self.request_id.as_deref() + } + pub fn extra(&self, key: &'static str) -> Option<&str> { + self.extras.get(key).map(|k| k.as_str()) + } + + pub fn builder() -> Builder { + Builder::default() + } + + pub fn into_builder(self) -> Builder { + Builder { inner: self } + } } -} -impl Display for Error { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - let mut fmt = f.debug_struct("Error"); - if let Some(code) = &self.code { - fmt.field("code", code); + impl ProvideErrorKind for Error { + fn retryable_error_kind(&self) -> Option { + None } - if let Some(message) = &self.message { - fmt.field("message", message); + + fn code(&self) -> Option<&str> { + Error::code(self) } - if let Some(req_id) = &self.request_id { - fmt.field("request_id", req_id); + } + + impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + let mut fmt = f.debug_struct("Error"); + if let Some(code) = &self.code { + fmt.field("code", code); + } + if let Some(message) = &self.message { + fmt.field("message", message); + } + if let Some(req_id) = &self.request_id { + fmt.field("request_id", req_id); + } + for (k, v) in &self.extras { + fmt.field(k, &v); + } + fmt.finish() } - Ok(()) } -} -impl std::error::Error for Error {} + impl std::error::Error for Error {} +} diff --git a/sdk/sqs/Cargo.toml b/sdk/sqs/Cargo.toml new file mode 100644 index 000000000000..c825044f3b6b --- /dev/null +++ b/sdk/sqs/Cargo.toml @@ -0,0 +1,47 @@ +# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +[package] +name = "aws-sdk-sqs" +version = "0.0.6-alpha" +description = "

    Welcome to the Amazon Simple Queue Service API Reference.

    \n

    Amazon Simple Queue Service (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 Simple Queue Service Developer Guide.\n

    \n

    You can use AWS 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" +edition = "2018" +[dependencies.aws-hyper] +path = "..//aws-hyper" +features = ["test-util"] +optional = true +[dependencies.smithy-http] +path = "..//smithy-http" +[dependencies.aws-endpoint] +path = "..//aws-endpoint" +[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.serde] +version = "1" +features = ["derive"] +[dependencies.bytes] +version = "1" +[dependencies.serde_json] +version = "1" +features = ["float_roundtrip"] +[dependencies.smithy-query] +path = "..//smithy-query" +[dependencies.smithy-xml] +path = "..//smithy-xml" +[features] +client = ["aws-hyper"] +rustls = ["aws-hyper/rustls"] +native-tls = ["aws-hyper/native-tls"] +default = ["client", "rustls"] + + diff --git a/sdk/sqs/LICENSE b/sdk/sqs/LICENSE new file mode 100644 index 000000000000..3581ac356771 --- /dev/null +++ b/sdk/sqs/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/sqs/src/client.rs b/sdk/sqs/src/client.rs new file mode 100644 index 000000000000..b8ec29e1fa13 --- /dev/null +++ b/sdk/sqs/src/client.rs @@ -0,0 +1,2005 @@ +// 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 { + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_env() -> Self { + Self::from_conf_conn( + crate::Config::builder().build(), + aws_hyper::conn::Standard::https(), + ) + } + + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_conf(conf: crate::Config) -> Self { + Self::from_conf_conn(conf, aws_hyper::conn::Standard::https()) + } + + pub fn from_conf_conn(conf: crate::Config, conn: aws_hyper::conn::Standard) -> 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 + } + pub fn add_permission(&self) -> fluent_builders::AddPermission { + fluent_builders::AddPermission::new(self.handle.clone()) + } + pub fn change_message_visibility(&self) -> fluent_builders::ChangeMessageVisibility { + fluent_builders::ChangeMessageVisibility::new(self.handle.clone()) + } + pub fn change_message_visibility_batch(&self) -> fluent_builders::ChangeMessageVisibilityBatch { + fluent_builders::ChangeMessageVisibilityBatch::new(self.handle.clone()) + } + pub fn create_queue(&self) -> fluent_builders::CreateQueue { + fluent_builders::CreateQueue::new(self.handle.clone()) + } + pub fn delete_message(&self) -> fluent_builders::DeleteMessage { + fluent_builders::DeleteMessage::new(self.handle.clone()) + } + pub fn delete_message_batch(&self) -> fluent_builders::DeleteMessageBatch { + fluent_builders::DeleteMessageBatch::new(self.handle.clone()) + } + pub fn delete_queue(&self) -> fluent_builders::DeleteQueue { + fluent_builders::DeleteQueue::new(self.handle.clone()) + } + pub fn get_queue_attributes(&self) -> fluent_builders::GetQueueAttributes { + fluent_builders::GetQueueAttributes::new(self.handle.clone()) + } + pub fn get_queue_url(&self) -> fluent_builders::GetQueueUrl { + fluent_builders::GetQueueUrl::new(self.handle.clone()) + } + pub fn list_dead_letter_source_queues(&self) -> fluent_builders::ListDeadLetterSourceQueues { + fluent_builders::ListDeadLetterSourceQueues::new(self.handle.clone()) + } + pub fn list_queues(&self) -> fluent_builders::ListQueues { + fluent_builders::ListQueues::new(self.handle.clone()) + } + pub fn list_queue_tags(&self) -> fluent_builders::ListQueueTags { + fluent_builders::ListQueueTags::new(self.handle.clone()) + } + pub fn purge_queue(&self) -> fluent_builders::PurgeQueue { + fluent_builders::PurgeQueue::new(self.handle.clone()) + } + pub fn receive_message(&self) -> fluent_builders::ReceiveMessage { + fluent_builders::ReceiveMessage::new(self.handle.clone()) + } + pub fn remove_permission(&self) -> fluent_builders::RemovePermission { + fluent_builders::RemovePermission::new(self.handle.clone()) + } + pub fn send_message(&self) -> fluent_builders::SendMessage { + fluent_builders::SendMessage::new(self.handle.clone()) + } + pub fn send_message_batch(&self) -> fluent_builders::SendMessageBatch { + fluent_builders::SendMessageBatch::new(self.handle.clone()) + } + pub fn set_queue_attributes(&self) -> fluent_builders::SetQueueAttributes { + fluent_builders::SetQueueAttributes::new(self.handle.clone()) + } + pub fn tag_queue(&self) -> fluent_builders::TagQueue { + fluent_builders::TagQueue::new(self.handle.clone()) + } + pub fn untag_queue(&self) -> fluent_builders::UntagQueue { + fluent_builders::UntagQueue::new(self.handle.clone()) + } +} +pub mod fluent_builders { + #[derive(std::fmt::Debug)] + pub struct AddPermission { + handle: std::sync::Arc, + inner: crate::input::add_permission_input::Builder, + } + impl AddPermission { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::AddPermissionOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue to which permissions are added.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

    + pub fn label(mut self, inp: impl Into) -> Self { + self.inner = self.inner.label(inp); + self + } + pub fn set_label(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_label(inp); + self + } + ///

    The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS + /// account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide.

    + pub fn aws_account_ids(mut self, inp: impl Into) -> Self { + self.inner = self.inner.aws_account_ids(inp); + self + } + pub fn set_aws_account_ids( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_aws_account_ids(inp); + self + } + ///

    The action the client wants to allow for the specified principal. Valid values: the name of any action or *.

    + ///

    For more information about these actions, see Overview of Managing Access Permissions to Your Amazon Simple Queue Service Resource + /// in the Amazon Simple Queue Service Developer Guide.

    + ///

    Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, + /// DeleteMessageBatch, and ChangeMessageVisibilityBatch.

    + pub fn actions(mut self, inp: impl Into) -> Self { + self.inner = self.inner.actions(inp); + self + } + pub fn set_actions( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_actions(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ChangeMessageVisibility { + handle: std::sync::Arc, + inner: crate::input::change_message_visibility_input::Builder, + } + impl ChangeMessageVisibility { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ChangeMessageVisibilityOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue whose message's visibility is changed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the + /// ReceiveMessage + /// action.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.inner = self.inner.receipt_handle(inp); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_receipt_handle(inp); + self + } + ///

    The new value for the message's visibility timeout (in seconds). Values range: 0 to 43200. Maximum: 12 hours.

    + pub fn visibility_timeout(mut self, inp: i32) -> Self { + self.inner = self.inner.visibility_timeout(inp); + self + } + pub fn set_visibility_timeout(mut self, inp: i32) -> Self { + self.inner = self.inner.set_visibility_timeout(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ChangeMessageVisibilityBatch { + handle: std::sync::Arc, + inner: crate::input::change_message_visibility_batch_input::Builder, + } + impl ChangeMessageVisibilityBatch { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ChangeMessageVisibilityBatchOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue whose messages' visibility is changed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    A list of receipt handles of the messages for which the visibility timeout must be changed.

    + pub fn entries( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.entries(inp); + self + } + pub fn set_entries( + mut self, + inp: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.inner = self.inner.set_entries(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateQueue { + handle: std::sync::Arc, + inner: crate::input::create_queue_input::Builder, + } + impl CreateQueue { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::CreateQueueOutput, + smithy_http::result::SdkError, + > { + 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 new queue. The following limits apply to this name:

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

      A queue name can have up to 80 characters.

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

      Valid values: alphanumeric characters, hyphens (-), and underscores (_).

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

      A FIFO queue name must end with the .fifo suffix.

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

    Queue URLs and names are case-sensitive.

    + pub fn queue_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_name(inp); + self + } + pub fn set_queue_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_name(inp); + self + } + ///

    Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    + ///

    When you use queue tags, keep the following guidelines in mind:

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

      Adding more than 50 tags to a queue isn't recommended.

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

      Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

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

      Tags are case-sensitive.

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

      A new tag with a key identical to that of an existing tag overwrites the existing tag.

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

    For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    To be able to tag a queue on creation, you must have the + /// sqs:CreateQueue and sqs:TagQueue permissions.

    + ///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    + ///
    + 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, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + ///

    A map of attributes with their corresponding values.

    + ///

    The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

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

      + /// DelaySeconds – The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 seconds (15 minutes). Default: 0. + ///

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

      + /// MaximumMessageSize – The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). + ///

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

      + /// MessageRetentionPeriod – The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). + ///

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

      + /// Policy – The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. + ///

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

      + /// ReceiveMessageWaitTimeSeconds – The length of time, in seconds, for which a + /// ReceiveMessage + /// action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. + ///

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

      + /// RedrivePolicy – The string that includes the parameters for the dead-letter queue functionality + /// of the source queue as a JSON object. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues + /// in the Amazon Simple Queue Service Developer Guide.

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

        + /// deadLetterTargetArn – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

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

        + /// maxReceiveCount – The number of times a message is delivered to the source queue before being moved to the dead-letter queue. + /// When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

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

      The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.

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

      + /// VisibilityTimeout – The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, see + /// Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

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

    The following attributes apply only to server-side-encryption:

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

      + /// KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. + /// While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias + /// . + /// For more examples, see KeyId in the AWS Key Management Service API Reference. + ///

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

      + /// KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt + /// or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security + /// but results in more calls to KMS which might incur charges after Free Tier. For more information, see + /// How Does the Data Key Reuse Period Work?. + ///

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

    The following attributes apply only to FIFO (first-in-first-out) queues:

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

      + /// FifoQueue – Designates a queue as FIFO. Valid values are true and false. If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue. + /// You can provide this attribute only during queue creation. You can't change it for an existing queue. + /// When you set this attribute, you must also provide the MessageGroupId for your messages explicitly.

      + ///

      For more information, see + /// FIFO queue logic + /// in the Amazon Simple Queue Service Developer Guide.

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

      + /// ContentBasedDeduplication – Enables content-based deduplication. Valid values are true and false. For more information, see Exactly-once processing in the + /// Amazon Simple Queue Service Developer Guide. Note the following: + ///

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

        Every message must have a unique MessageDeduplicationId.

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

          You may provide a MessageDeduplicationId explicitly.

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

          If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

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

          If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

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

          If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

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

        When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

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

        If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

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

    The following attributes apply only to + /// high throughput + /// for FIFO queues:

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

      + /// DeduplicationScope – Specifies whether message deduplication occurs at the + /// message group or queue level. Valid values are messageGroup and queue.

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

      + /// FifoThroughputLimit – Specifies whether the FIFO queue throughput + /// quota applies to the entire queue or per message group. Valid values are perQueue and perMessageGroupId. + /// The perMessageGroupId value is allowed only when the value for DeduplicationScope is messageGroup.

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

    To enable high throughput for FIFO queues, do the following:

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

      Set DeduplicationScope to messageGroup.

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

      Set FifoThroughputLimit to perMessageGroupId.

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

    If you set these attributes to anything other than the values shown for enabling high + /// throughput, normal throughput is in effect and deduplication occurs as specified.

    + ///

    For information on throughput quotas, + /// see Quotas related to messages + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.attributes(k, v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_attributes(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteMessage { + handle: std::sync::Arc, + inner: crate::input::delete_message_input::Builder, + } + impl DeleteMessage { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteMessageOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue from which messages are deleted.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The receipt handle associated with the message to delete.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.inner = self.inner.receipt_handle(inp); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_receipt_handle(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteMessageBatch { + handle: std::sync::Arc, + inner: crate::input::delete_message_batch_input::Builder, + } + impl DeleteMessageBatch { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteMessageBatchOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue from which messages are deleted.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    A list of receipt handles for the messages to be deleted.

    + pub fn entries( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.entries(inp); + self + } + pub fn set_entries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_entries(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteQueue { + handle: std::sync::Arc, + inner: crate::input::delete_queue_input::Builder, + } + impl DeleteQueue { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::DeleteQueueOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue to delete.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct GetQueueAttributes { + handle: std::sync::Arc, + inner: crate::input::get_queue_attributes_input::Builder, + } + impl GetQueueAttributes { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::GetQueueAttributesOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue whose attribute information is retrieved.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    A list of attributes for which to retrieve information.

    + /// + ///

    In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    + ///
    + ///

    The following attributes are supported:

    + /// + ///

    The ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, + /// and ApproximateNumberOfMessagesVisible metrics may not achieve consistency + /// until at least 1 minute after the producers stop sending messages. This period is required for + /// the queue metadata to reach eventual consistency.

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

      + /// All – Returns all values.

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

      + /// ApproximateNumberOfMessages – Returns the approximate number of + /// messages available for retrieval from the queue.

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

      + /// ApproximateNumberOfMessagesDelayed – Returns the approximate number + /// of messages in the queue that are delayed and not available for reading + /// immediately. This can happen when the queue is configured as a delay queue or + /// when a message has been sent with a delay parameter.

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

      + /// ApproximateNumberOfMessagesNotVisible – Returns the approximate + /// number of messages that are in flight. Messages are considered to be + /// in flight if they have been sent to a client but have + /// not yet been deleted or have not yet reached the end of their visibility window.

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

      + /// CreatedTimestamp – Returns the time when the queue was created in + /// seconds (epoch + /// time).

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

      + /// DelaySeconds – Returns the default delay on the queue in + /// seconds.

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

      + /// LastModifiedTimestamp – Returns the time when the queue was last + /// changed in seconds (epoch + /// time).

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

      + /// MaximumMessageSize – Returns the limit of how many bytes a message + /// can contain before Amazon SQS rejects it.

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

      + /// MessageRetentionPeriod – Returns the length of time, in seconds, + /// for which Amazon SQS retains a message.

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

      + /// Policy – Returns the policy of the queue.

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

      + /// QueueArn – Returns the Amazon resource name (ARN) of the + /// queue.

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

      + /// ReceiveMessageWaitTimeSeconds – Returns the length of time, in + /// seconds, for which the ReceiveMessage action waits for a message to + /// arrive.

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

      + /// RedrivePolicy – The string that includes the parameters for the dead-letter queue functionality + /// of the source queue as a JSON object. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues + /// in the Amazon Simple Queue Service Developer Guide.

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

        + /// deadLetterTargetArn – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

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

        + /// maxReceiveCount – The number of times a message is delivered to the source queue before being moved to the dead-letter queue. + /// When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

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

      + /// VisibilityTimeout – Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. + ///

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

    The following attributes apply only to server-side-encryption:

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

      + /// KmsMasterKeyId – Returns the ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. + ///

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

      + /// KmsDataKeyReusePeriodSeconds – Returns the length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. + /// For more information, see How Does the Data Key Reuse Period Work?. + ///

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

    The following attributes apply only to FIFO (first-in-first-out) queues:

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

      + /// FifoQueue – Returns information about whether the queue is FIFO. For more information, see FIFO queue logic in the Amazon Simple Queue Service Developer Guide.

      + /// + ///

      To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

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

      + /// ContentBasedDeduplication – Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-once processing in the Amazon Simple Queue Service Developer Guide. + ///

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

    The following attributes apply only to + /// high throughput + /// for FIFO queues:

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

      + /// DeduplicationScope – Specifies whether message deduplication occurs at the + /// message group or queue level. Valid values are messageGroup and queue.

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

      + /// FifoThroughputLimit – Specifies whether the FIFO queue throughput + /// quota applies to the entire queue or per message group. Valid values are perQueue and perMessageGroupId. + /// The perMessageGroupId value is allowed only when the value for DeduplicationScope is messageGroup.

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

    To enable high throughput for FIFO queues, do the following:

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

      Set DeduplicationScope to messageGroup.

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

      Set FifoThroughputLimit to perMessageGroupId.

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

    If you set these attributes to anything other than the values shown for enabling high + /// throughput, normal throughput is in effect and deduplication occurs as specified.

    + ///

    For information on throughput quotas, + /// see Quotas related to messages + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn attribute_names(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attribute_names(inp); + self + } + pub fn set_attribute_names( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attribute_names(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct GetQueueUrl { + handle: std::sync::Arc, + inner: crate::input::get_queue_url_input::Builder, + } + impl GetQueueUrl { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::GetQueueUrlOutput, + smithy_http::result::SdkError, + > { + 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 queue whose URL must be fetched. Maximum 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_).

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_name(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_name(inp); + self + } + pub fn set_queue_name(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_name(inp); + self + } + ///

    The AWS account ID of the account that created the queue.

    + pub fn queue_owner_aws_account_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_owner_aws_account_id(inp); + self + } + pub fn set_queue_owner_aws_account_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_queue_owner_aws_account_id(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListDeadLetterSourceQueues { + handle: std::sync::Arc, + inner: crate::input::list_dead_letter_source_queues_input::Builder, + } + impl ListDeadLetterSourceQueues { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListDeadLetterSourceQueuesOutput, + smithy_http::result::SdkError, + > { + 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 URL of a dead-letter queue.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    Pagination token to request the next set of results.

    + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

    Maximum number of results to include in the response. Value range is 1 to 1000. + /// You must set MaxResults to receive a value for NextToken in the response.

    + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListQueues { + handle: std::sync::Arc, + inner: crate::input::list_queues_input::Builder, + } + impl ListQueues { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListQueuesOutput, + smithy_http::result::SdkError, + > { + 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 string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_name_prefix(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_name_prefix(inp); + self + } + pub fn set_queue_name_prefix( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_queue_name_prefix(inp); + self + } + ///

    Pagination token to request the next set of results.

    + pub fn next_token(mut self, inp: impl Into) -> Self { + self.inner = self.inner.next_token(inp); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(inp); + self + } + ///

    Maximum number of results to include in the response. Value range is 1 to 1000. + /// You must set MaxResults to receive a value for NextToken in the response.

    + pub fn max_results(mut self, inp: i32) -> Self { + self.inner = self.inner.max_results(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListQueueTags { + handle: std::sync::Arc, + inner: crate::input::list_queue_tags_input::Builder, + } + impl ListQueueTags { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ListQueueTagsOutput, + smithy_http::result::SdkError, + > { + 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 URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct PurgeQueue { + handle: std::sync::Arc, + inner: crate::input::purge_queue_input::Builder, + } + impl PurgeQueue { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::PurgeQueueOutput, + smithy_http::result::SdkError, + > { + 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 URL of the queue from which the PurgeQueue action deletes messages.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ReceiveMessage { + handle: std::sync::Arc, + inner: crate::input::receive_message_input::Builder, + } + impl ReceiveMessage { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::ReceiveMessageOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue from which messages are received.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    A list of attributes that need to be returned along with each message. These attributes + /// include:

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

      + /// All – Returns all values.

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

      + /// ApproximateFirstReceiveTimestamp – Returns the time the message was first received from the queue (epoch time in milliseconds).

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

      + /// ApproximateReceiveCount – Returns the number of times a message has been received across all queues but not deleted.

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

      + /// AWSTraceHeader – Returns the AWS X-Ray trace header string. + ///

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

      + /// SenderId + ///

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

        For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R.

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

        For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456.

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

      + /// SentTimestamp – Returns the time the message was sent to the queue (epoch time in milliseconds).

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

      + /// MessageDeduplicationId – Returns the value provided by the + /// producer that calls the + /// SendMessage + /// + /// action.

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

      + /// MessageGroupId – Returns the value provided by the producer that + /// calls the + /// SendMessage + /// action. Messages with the + /// same MessageGroupId are returned in sequence.

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

      + /// SequenceNumber – Returns the value provided by Amazon SQS.

      + ///
    • + ///
    + pub fn attribute_names(mut self, inp: impl Into) -> Self { + self.inner = self.inner.attribute_names(inp); + self + } + pub fn set_attribute_names( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_attribute_names(inp); + self + } + ///

    The name of the message attribute, where N is the index.

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

      The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.).

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

      The name is case-sensitive and must be unique among all attribute names for the message.

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

      The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants).

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

      The name must not start or end with a period (.), and it should not have periods in succession (..).

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

      The name can be up to 256 characters long.

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

    When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. + /// You can also use all message attributes starting with a prefix, for example bar.*.

    + pub fn message_attribute_names(mut self, inp: impl Into) -> Self { + self.inner = self.inner.message_attribute_names(inp); + self + } + pub fn set_message_attribute_names( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_message_attribute_names(inp); + self + } + ///

    The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.

    + pub fn max_number_of_messages(mut self, inp: i32) -> Self { + self.inner = self.inner.max_number_of_messages(inp); + self + } + pub fn set_max_number_of_messages(mut self, inp: i32) -> Self { + self.inner = self.inner.set_max_number_of_messages(inp); + self + } + ///

    The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.

    + pub fn visibility_timeout(mut self, inp: i32) -> Self { + self.inner = self.inner.visibility_timeout(inp); + self + } + pub fn set_visibility_timeout(mut self, inp: i32) -> Self { + self.inner = self.inner.set_visibility_timeout(inp); + self + } + ///

    The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. + /// If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.

    + /// + ///

    To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage + /// requests is longer than the WaitTimeSeconds parameter. For example, + /// with the Java SDK, you can set HTTP transport settings using the NettyNioAsyncHttpClient for asynchronous clients, or the ApacheHttpClient for synchronous clients.

    + ///
    + pub fn wait_time_seconds(mut self, inp: i32) -> Self { + self.inner = self.inner.wait_time_seconds(inp); + self + } + pub fn set_wait_time_seconds(mut self, inp: i32) -> Self { + self.inner = self.inner.set_wait_time_seconds(inp); + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, + /// it is possible to retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

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

      You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

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

      When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

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

      If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

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

      It is possible to retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

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

      During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, + /// it resets the visibility timeout. For more information, see + /// Visibility Timeout + /// in the Amazon Simple Queue Service Developer Guide.

      + /// + ///

      If a caller of the ReceiveMessage action still processes + /// messages when the visibility timeout expires and messages become visible, + /// another worker consuming from the same queue can receive the same messages + /// and therefore process duplicates. Also, if a consumer whose message + /// processing time is longer than the visibility timeout tries to delete the + /// processed messages, the action fails with an error.

      + ///

      To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

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

      While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive + /// messages with another MessageGroupId as long as it is also visible.

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

      If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but + /// the messages in the queue remain in a strict order.

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

    The maximum length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using ReceiveRequestAttemptId, see + /// Using the ReceiveRequestAttemptId Request Parameter + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn receive_request_attempt_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.receive_request_attempt_id(inp); + self + } + pub fn set_receive_request_attempt_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_receive_request_attempt_id(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct RemovePermission { + handle: std::sync::Arc, + inner: crate::input::remove_permission_input::Builder, + } + impl RemovePermission { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::RemovePermissionOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue from which permissions are removed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The identification of the permission to remove. This is the label added using the + /// AddPermission + /// action.

    + pub fn label(mut self, inp: impl Into) -> Self { + self.inner = self.inner.label(inp); + self + } + pub fn set_label(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_label(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SendMessage { + handle: std::sync::Arc, + inner: crate::input::send_message_input::Builder, + } + impl SendMessage { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::SendMessageOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue to which a message is sent.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The message to send. The minimum size is one character. The maximum size is 256 KB.

    + /// + ///

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    + ///

    + /// #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF + ///

    + ///

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    + ///
    + pub fn message_body(mut self, inp: impl Into) -> Self { + self.inner = self.inner.message_body(inp); + self + } + pub fn set_message_body(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_message_body(inp); + self + } + ///

    + /// The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + /// If you don't specify a value, the default value for the queue applies. + ///

    + /// + ///

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    + ///
    + pub fn delay_seconds(mut self, inp: i32) -> Self { + self.inner = self.inner.delay_seconds(inp); + self + } + pub fn set_delay_seconds(mut self, inp: i32) -> Self { + self.inner = self.inner.set_delay_seconds(inp); + self + } + ///

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub fn message_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.message_attributes(k, v); + self + } + pub fn set_message_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_message_attributes(inp); + self + } + ///

    The message system attribute to send. Each message system attribute consists of a Name, Type, and Value.

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

      Currently, the only supported message system attribute is AWSTraceHeader. + /// Its type must be String and its value must be a correctly formatted + /// AWS X-Ray trace header string.

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

      The size of a message system attribute doesn't count towards the total size of a message.

      + ///
    • + ///
    + ///
    + pub fn message_system_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.message_system_attributes(k, v); + self + } + pub fn set_message_system_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + ) -> Self { + self.inner = self.inner.set_message_system_attributes(inp); + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId + /// are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see + /// Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

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

      Every message must have a unique MessageDeduplicationId,

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

        You may provide a MessageDeduplicationId explicitly.

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

        If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

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

        If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

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

        If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

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

      When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

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

      If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

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

    The MessageDeduplicationId is available to the consumer of the + /// message (this can be useful for troubleshooting delivery issues).

    + ///

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same + /// MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    + ///

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    + ///
    + ///

    The maximum length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageDeduplicationId, see + /// Using the MessageDeduplicationId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn message_deduplication_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.message_deduplication_id(inp); + self + } + pub fn set_message_deduplication_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_message_deduplication_id(inp); + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The tag that specifies that a message belongs to a specific message group. Messages + /// that belong to the same message group are processed in a FIFO manner (however, + /// messages in different message groups might be processed out of order). To interleave + /// multiple ordered streams within a single queue, use MessageGroupId values + /// (for example, session data for multiple users). In this scenario, multiple consumers can + /// process the queue, but the session data of each user is processed in a FIFO + /// fashion.

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

      You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

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

      + /// ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't + /// specify a MessageGroupId.

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

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageGroupId, see + /// Using the MessageGroupId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    + /// MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    + ///
    + pub fn message_group_id(mut self, inp: impl Into) -> Self { + self.inner = self.inner.message_group_id(inp); + self + } + pub fn set_message_group_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.inner = self.inner.set_message_group_id(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SendMessageBatch { + handle: std::sync::Arc, + inner: crate::input::send_message_batch_input::Builder, + } + impl SendMessageBatch { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::SendMessageBatchOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue to which batched messages are sent.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    A list of + /// SendMessageBatchRequestEntry + /// items.

    + pub fn entries( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.entries(inp); + self + } + pub fn set_entries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_entries(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SetQueueAttributes { + handle: std::sync::Arc, + inner: crate::input::set_queue_attributes_input::Builder, + } + impl SetQueueAttributes { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::SetQueueAttributesOutput, + smithy_http::result::SdkError, + > { + 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 URL of the Amazon SQS queue whose attributes are set.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    A map of attributes to set.

    + ///

    The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

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

      + /// DelaySeconds – The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 (15 minutes). Default: 0. + ///

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

      + /// MaximumMessageSize – The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). + ///

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

      + /// MessageRetentionPeriod – The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer representing seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). + ///

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

      + /// Policy – The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies + /// in the Amazon IAM User Guide. + ///

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

      + /// ReceiveMessageWaitTimeSeconds – The length of time, in seconds, for which a + /// ReceiveMessage + /// action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. + ///

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

      + /// RedrivePolicy – The string that includes the parameters for the dead-letter queue functionality + /// of the source queue as a JSON object. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues + /// in the Amazon Simple Queue Service Developer Guide.

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

        + /// deadLetterTargetArn – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

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

        + /// maxReceiveCount – The number of times a message is delivered to the source queue before being moved to the dead-letter queue. + /// When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

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

      The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.

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

      + /// VisibilityTimeout – The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, + /// see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

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

    The following attributes apply only to server-side-encryption:

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

      + /// KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. + /// While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias + /// . + /// For more examples, see KeyId in the AWS Key Management Service API Reference. + ///

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

      + /// KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt + /// or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security + /// but results in more calls to KMS which might incur charges after Free Tier. For more information, see + /// How Does the Data Key Reuse Period Work?. + ///

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

    The following attribute applies only to FIFO (first-in-first-out) queues:

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

      + /// ContentBasedDeduplication – Enables content-based deduplication. For more information, see Exactly-once processing in the + /// Amazon Simple Queue Service Developer Guide. Note the following: + ///

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

        Every message must have a unique MessageDeduplicationId.

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

          You may provide a MessageDeduplicationId explicitly.

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

          If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

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

          If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

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

          If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

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

        When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

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

        If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

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

    The following attributes apply only to + /// high throughput + /// for FIFO queues:

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

      + /// DeduplicationScope – Specifies whether message deduplication occurs at the + /// message group or queue level. Valid values are messageGroup and queue.

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

      + /// FifoThroughputLimit – Specifies whether the FIFO queue throughput + /// quota applies to the entire queue or per message group. Valid values are perQueue and perMessageGroupId. + /// The perMessageGroupId value is allowed only when the value for DeduplicationScope is messageGroup.

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

    To enable high throughput for FIFO queues, do the following:

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

      Set DeduplicationScope to messageGroup.

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

      Set FifoThroughputLimit to perMessageGroupId.

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

    If you set these attributes to anything other than the values shown for enabling high + /// throughput, normal throughput is in effect and deduplication occurs as specified.

    + ///

    For information on throughput quotas, + /// see Quotas related to messages + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.attributes(k, v); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_attributes(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct TagQueue { + handle: std::sync::Arc, + inner: crate::input::tag_queue_input::Builder, + } + impl TagQueue { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::TagQueueOutput, + smithy_http::result::SdkError, + > { + 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 URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The list of tags to be added to the specified queue.

    + 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, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_tags(inp); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UntagQueue { + handle: std::sync::Arc, + inner: crate::input::untag_queue_input::Builder, + } + impl UntagQueue { + pub(crate) fn new(handle: std::sync::Arc) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> Result< + crate::output::UntagQueueOutput, + smithy_http::result::SdkError, + > { + 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 URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.inner = self.inner.queue_url(inp); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.inner = self.inner.set_queue_url(inp); + self + } + ///

    The list of tags to be removed from the specified queue.

    + 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, + inp: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tag_keys(inp); + self + } + } +} diff --git a/sdk/sqs/src/config.rs b/sdk/sqs/src/config.rs new file mode 100644 index 000000000000..43c17b69c176 --- /dev/null +++ b/sdk/sqs/src/config.rs @@ -0,0 +1,69 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub struct Config { + 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 { + "sqs" + } +} +#[derive(Default)] +pub struct Builder { + endpoint_resolver: Option<::std::sync::Arc>, + region: Option, + credentials_provider: Option>, +} +impl Builder { + pub fn new() -> Self { + Self::default() + } + 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::ProvideCredentials + 'static, + ) -> Self { + self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); + self + } + pub fn build(self) -> Config { + Config { + endpoint_resolver: self.endpoint_resolver.unwrap_or_else(|| { + ::std::sync::Arc::new(aws_endpoint::DefaultAwsEndpointResolver::for_service("sqs")) + }), + 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::default_provider())), + } + } +} diff --git a/sdk/sqs/src/error.rs b/sdk/sqs/src/error.rs new file mode 100644 index 000000000000..d110fed8852d --- /dev/null +++ b/sdk/sqs/src/error.rs @@ -0,0 +1,2213 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct AddPermissionError { + pub kind: AddPermissionErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum AddPermissionErrorKind { + OverLimit(crate::error::OverLimit), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for AddPermissionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + AddPermissionErrorKind::OverLimit(_inner) => _inner.fmt(f), + AddPermissionErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for AddPermissionError { + fn code(&self) -> Option<&str> { + AddPermissionError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl AddPermissionError { + pub fn new(kind: AddPermissionErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: AddPermissionErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: AddPermissionErrorKind::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() + } +} +impl std::error::Error for AddPermissionError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + AddPermissionErrorKind::OverLimit(_inner) => Some(_inner), + AddPermissionErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ChangeMessageVisibilityError { + pub kind: ChangeMessageVisibilityErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ChangeMessageVisibilityErrorKind { + MessageNotInflight(crate::error::MessageNotInflight), + ReceiptHandleIsInvalid(crate::error::ReceiptHandleIsInvalid), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ChangeMessageVisibilityError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ChangeMessageVisibilityErrorKind::MessageNotInflight(_inner) => _inner.fmt(f), + ChangeMessageVisibilityErrorKind::ReceiptHandleIsInvalid(_inner) => _inner.fmt(f), + ChangeMessageVisibilityErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ChangeMessageVisibilityError { + fn code(&self) -> Option<&str> { + ChangeMessageVisibilityError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ChangeMessageVisibilityError { + pub fn new(kind: ChangeMessageVisibilityErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ChangeMessageVisibilityErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ChangeMessageVisibilityErrorKind::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() + } +} +impl std::error::Error for ChangeMessageVisibilityError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ChangeMessageVisibilityErrorKind::MessageNotInflight(_inner) => Some(_inner), + ChangeMessageVisibilityErrorKind::ReceiptHandleIsInvalid(_inner) => Some(_inner), + ChangeMessageVisibilityErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ChangeMessageVisibilityBatchError { + pub kind: ChangeMessageVisibilityBatchErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ChangeMessageVisibilityBatchErrorKind { + BatchEntryIdsNotDistinct(crate::error::BatchEntryIdsNotDistinct), + EmptyBatchRequest(crate::error::EmptyBatchRequest), + InvalidBatchEntryId(crate::error::InvalidBatchEntryId), + TooManyEntriesInBatchRequest(crate::error::TooManyEntriesInBatchRequest), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ChangeMessageVisibilityBatchError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ChangeMessageVisibilityBatchErrorKind::BatchEntryIdsNotDistinct(_inner) => { + _inner.fmt(f) + } + ChangeMessageVisibilityBatchErrorKind::EmptyBatchRequest(_inner) => _inner.fmt(f), + ChangeMessageVisibilityBatchErrorKind::InvalidBatchEntryId(_inner) => _inner.fmt(f), + ChangeMessageVisibilityBatchErrorKind::TooManyEntriesInBatchRequest(_inner) => { + _inner.fmt(f) + } + ChangeMessageVisibilityBatchErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ChangeMessageVisibilityBatchError { + fn code(&self) -> Option<&str> { + ChangeMessageVisibilityBatchError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ChangeMessageVisibilityBatchError { + pub fn new(kind: ChangeMessageVisibilityBatchErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ChangeMessageVisibilityBatchErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ChangeMessageVisibilityBatchErrorKind::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() + } +} +impl std::error::Error for ChangeMessageVisibilityBatchError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ChangeMessageVisibilityBatchErrorKind::BatchEntryIdsNotDistinct(_inner) => Some(_inner), + ChangeMessageVisibilityBatchErrorKind::EmptyBatchRequest(_inner) => Some(_inner), + ChangeMessageVisibilityBatchErrorKind::InvalidBatchEntryId(_inner) => Some(_inner), + ChangeMessageVisibilityBatchErrorKind::TooManyEntriesInBatchRequest(_inner) => { + Some(_inner) + } + ChangeMessageVisibilityBatchErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateQueueError { + pub kind: CreateQueueErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateQueueErrorKind { + QueueDeletedRecently(crate::error::QueueDeletedRecently), + QueueNameExists(crate::error::QueueNameExists), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateQueueError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateQueueErrorKind::QueueDeletedRecently(_inner) => _inner.fmt(f), + CreateQueueErrorKind::QueueNameExists(_inner) => _inner.fmt(f), + CreateQueueErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateQueueError { + fn code(&self) -> Option<&str> { + CreateQueueError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateQueueError { + pub fn new(kind: CreateQueueErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateQueueErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateQueueErrorKind::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() + } +} +impl std::error::Error for CreateQueueError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateQueueErrorKind::QueueDeletedRecently(_inner) => Some(_inner), + CreateQueueErrorKind::QueueNameExists(_inner) => Some(_inner), + CreateQueueErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteMessageError { + pub kind: DeleteMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteMessageErrorKind { + InvalidIdFormat(crate::error::InvalidIdFormat), + ReceiptHandleIsInvalid(crate::error::ReceiptHandleIsInvalid), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteMessageErrorKind::InvalidIdFormat(_inner) => _inner.fmt(f), + DeleteMessageErrorKind::ReceiptHandleIsInvalid(_inner) => _inner.fmt(f), + DeleteMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteMessageError { + fn code(&self) -> Option<&str> { + DeleteMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteMessageError { + pub fn new(kind: DeleteMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteMessageErrorKind::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() + } +} +impl std::error::Error for DeleteMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteMessageErrorKind::InvalidIdFormat(_inner) => Some(_inner), + DeleteMessageErrorKind::ReceiptHandleIsInvalid(_inner) => Some(_inner), + DeleteMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteMessageBatchError { + pub kind: DeleteMessageBatchErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteMessageBatchErrorKind { + BatchEntryIdsNotDistinct(crate::error::BatchEntryIdsNotDistinct), + EmptyBatchRequest(crate::error::EmptyBatchRequest), + InvalidBatchEntryId(crate::error::InvalidBatchEntryId), + TooManyEntriesInBatchRequest(crate::error::TooManyEntriesInBatchRequest), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteMessageBatchError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteMessageBatchErrorKind::BatchEntryIdsNotDistinct(_inner) => _inner.fmt(f), + DeleteMessageBatchErrorKind::EmptyBatchRequest(_inner) => _inner.fmt(f), + DeleteMessageBatchErrorKind::InvalidBatchEntryId(_inner) => _inner.fmt(f), + DeleteMessageBatchErrorKind::TooManyEntriesInBatchRequest(_inner) => _inner.fmt(f), + DeleteMessageBatchErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteMessageBatchError { + fn code(&self) -> Option<&str> { + DeleteMessageBatchError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteMessageBatchError { + pub fn new(kind: DeleteMessageBatchErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteMessageBatchErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteMessageBatchErrorKind::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() + } +} +impl std::error::Error for DeleteMessageBatchError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteMessageBatchErrorKind::BatchEntryIdsNotDistinct(_inner) => Some(_inner), + DeleteMessageBatchErrorKind::EmptyBatchRequest(_inner) => Some(_inner), + DeleteMessageBatchErrorKind::InvalidBatchEntryId(_inner) => Some(_inner), + DeleteMessageBatchErrorKind::TooManyEntriesInBatchRequest(_inner) => Some(_inner), + DeleteMessageBatchErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteQueueError { + pub kind: DeleteQueueErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteQueueErrorKind { + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteQueueError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteQueueErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteQueueError { + fn code(&self) -> Option<&str> { + DeleteQueueError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteQueueError { + pub fn new(kind: DeleteQueueErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteQueueErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteQueueErrorKind::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() + } +} +impl std::error::Error for DeleteQueueError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteQueueErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetQueueAttributesError { + pub kind: GetQueueAttributesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetQueueAttributesErrorKind { + InvalidAttributeName(crate::error::InvalidAttributeName), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetQueueAttributesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetQueueAttributesErrorKind::InvalidAttributeName(_inner) => _inner.fmt(f), + GetQueueAttributesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetQueueAttributesError { + fn code(&self) -> Option<&str> { + GetQueueAttributesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetQueueAttributesError { + pub fn new(kind: GetQueueAttributesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetQueueAttributesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetQueueAttributesErrorKind::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() + } +} +impl std::error::Error for GetQueueAttributesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetQueueAttributesErrorKind::InvalidAttributeName(_inner) => Some(_inner), + GetQueueAttributesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetQueueUrlError { + pub kind: GetQueueUrlErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetQueueUrlErrorKind { + QueueDoesNotExist(crate::error::QueueDoesNotExist), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetQueueUrlError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetQueueUrlErrorKind::QueueDoesNotExist(_inner) => _inner.fmt(f), + GetQueueUrlErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetQueueUrlError { + fn code(&self) -> Option<&str> { + GetQueueUrlError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetQueueUrlError { + pub fn new(kind: GetQueueUrlErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetQueueUrlErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetQueueUrlErrorKind::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() + } +} +impl std::error::Error for GetQueueUrlError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetQueueUrlErrorKind::QueueDoesNotExist(_inner) => Some(_inner), + GetQueueUrlErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListDeadLetterSourceQueuesError { + pub kind: ListDeadLetterSourceQueuesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListDeadLetterSourceQueuesErrorKind { + QueueDoesNotExist(crate::error::QueueDoesNotExist), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListDeadLetterSourceQueuesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListDeadLetterSourceQueuesErrorKind::QueueDoesNotExist(_inner) => _inner.fmt(f), + ListDeadLetterSourceQueuesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListDeadLetterSourceQueuesError { + fn code(&self) -> Option<&str> { + ListDeadLetterSourceQueuesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListDeadLetterSourceQueuesError { + pub fn new(kind: ListDeadLetterSourceQueuesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListDeadLetterSourceQueuesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListDeadLetterSourceQueuesErrorKind::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() + } +} +impl std::error::Error for ListDeadLetterSourceQueuesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListDeadLetterSourceQueuesErrorKind::QueueDoesNotExist(_inner) => Some(_inner), + ListDeadLetterSourceQueuesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListQueuesError { + pub kind: ListQueuesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListQueuesErrorKind { + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListQueuesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListQueuesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListQueuesError { + fn code(&self) -> Option<&str> { + ListQueuesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListQueuesError { + pub fn new(kind: ListQueuesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListQueuesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListQueuesErrorKind::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() + } +} +impl std::error::Error for ListQueuesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListQueuesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListQueueTagsError { + pub kind: ListQueueTagsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListQueueTagsErrorKind { + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListQueueTagsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListQueueTagsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListQueueTagsError { + fn code(&self) -> Option<&str> { + ListQueueTagsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListQueueTagsError { + pub fn new(kind: ListQueueTagsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListQueueTagsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListQueueTagsErrorKind::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() + } +} +impl std::error::Error for ListQueueTagsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListQueueTagsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PurgeQueueError { + pub kind: PurgeQueueErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PurgeQueueErrorKind { + PurgeQueueInProgress(crate::error::PurgeQueueInProgress), + QueueDoesNotExist(crate::error::QueueDoesNotExist), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PurgeQueueError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PurgeQueueErrorKind::PurgeQueueInProgress(_inner) => _inner.fmt(f), + PurgeQueueErrorKind::QueueDoesNotExist(_inner) => _inner.fmt(f), + PurgeQueueErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PurgeQueueError { + fn code(&self) -> Option<&str> { + PurgeQueueError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PurgeQueueError { + pub fn new(kind: PurgeQueueErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PurgeQueueErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PurgeQueueErrorKind::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() + } +} +impl std::error::Error for PurgeQueueError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PurgeQueueErrorKind::PurgeQueueInProgress(_inner) => Some(_inner), + PurgeQueueErrorKind::QueueDoesNotExist(_inner) => Some(_inner), + PurgeQueueErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ReceiveMessageError { + pub kind: ReceiveMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ReceiveMessageErrorKind { + OverLimit(crate::error::OverLimit), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ReceiveMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ReceiveMessageErrorKind::OverLimit(_inner) => _inner.fmt(f), + ReceiveMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ReceiveMessageError { + fn code(&self) -> Option<&str> { + ReceiveMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ReceiveMessageError { + pub fn new(kind: ReceiveMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ReceiveMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ReceiveMessageErrorKind::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() + } +} +impl std::error::Error for ReceiveMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ReceiveMessageErrorKind::OverLimit(_inner) => Some(_inner), + ReceiveMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct RemovePermissionError { + pub kind: RemovePermissionErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum RemovePermissionErrorKind { + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for RemovePermissionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + RemovePermissionErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for RemovePermissionError { + fn code(&self) -> Option<&str> { + RemovePermissionError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl RemovePermissionError { + pub fn new(kind: RemovePermissionErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: RemovePermissionErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: RemovePermissionErrorKind::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() + } +} +impl std::error::Error for RemovePermissionError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + RemovePermissionErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SendMessageError { + pub kind: SendMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SendMessageErrorKind { + InvalidMessageContents(crate::error::InvalidMessageContents), + UnsupportedOperation(crate::error::UnsupportedOperation), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SendMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SendMessageErrorKind::InvalidMessageContents(_inner) => _inner.fmt(f), + SendMessageErrorKind::UnsupportedOperation(_inner) => _inner.fmt(f), + SendMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SendMessageError { + fn code(&self) -> Option<&str> { + SendMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SendMessageError { + pub fn new(kind: SendMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SendMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SendMessageErrorKind::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() + } +} +impl std::error::Error for SendMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SendMessageErrorKind::InvalidMessageContents(_inner) => Some(_inner), + SendMessageErrorKind::UnsupportedOperation(_inner) => Some(_inner), + SendMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SendMessageBatchError { + pub kind: SendMessageBatchErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SendMessageBatchErrorKind { + BatchEntryIdsNotDistinct(crate::error::BatchEntryIdsNotDistinct), + BatchRequestTooLong(crate::error::BatchRequestTooLong), + EmptyBatchRequest(crate::error::EmptyBatchRequest), + InvalidBatchEntryId(crate::error::InvalidBatchEntryId), + TooManyEntriesInBatchRequest(crate::error::TooManyEntriesInBatchRequest), + UnsupportedOperation(crate::error::UnsupportedOperation), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SendMessageBatchError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SendMessageBatchErrorKind::BatchEntryIdsNotDistinct(_inner) => _inner.fmt(f), + SendMessageBatchErrorKind::BatchRequestTooLong(_inner) => _inner.fmt(f), + SendMessageBatchErrorKind::EmptyBatchRequest(_inner) => _inner.fmt(f), + SendMessageBatchErrorKind::InvalidBatchEntryId(_inner) => _inner.fmt(f), + SendMessageBatchErrorKind::TooManyEntriesInBatchRequest(_inner) => _inner.fmt(f), + SendMessageBatchErrorKind::UnsupportedOperation(_inner) => _inner.fmt(f), + SendMessageBatchErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SendMessageBatchError { + fn code(&self) -> Option<&str> { + SendMessageBatchError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SendMessageBatchError { + pub fn new(kind: SendMessageBatchErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SendMessageBatchErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SendMessageBatchErrorKind::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() + } +} +impl std::error::Error for SendMessageBatchError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SendMessageBatchErrorKind::BatchEntryIdsNotDistinct(_inner) => Some(_inner), + SendMessageBatchErrorKind::BatchRequestTooLong(_inner) => Some(_inner), + SendMessageBatchErrorKind::EmptyBatchRequest(_inner) => Some(_inner), + SendMessageBatchErrorKind::InvalidBatchEntryId(_inner) => Some(_inner), + SendMessageBatchErrorKind::TooManyEntriesInBatchRequest(_inner) => Some(_inner), + SendMessageBatchErrorKind::UnsupportedOperation(_inner) => Some(_inner), + SendMessageBatchErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SetQueueAttributesError { + pub kind: SetQueueAttributesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SetQueueAttributesErrorKind { + InvalidAttributeName(crate::error::InvalidAttributeName), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SetQueueAttributesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SetQueueAttributesErrorKind::InvalidAttributeName(_inner) => _inner.fmt(f), + SetQueueAttributesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SetQueueAttributesError { + fn code(&self) -> Option<&str> { + SetQueueAttributesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SetQueueAttributesError { + pub fn new(kind: SetQueueAttributesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SetQueueAttributesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SetQueueAttributesErrorKind::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() + } +} +impl std::error::Error for SetQueueAttributesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SetQueueAttributesErrorKind::InvalidAttributeName(_inner) => Some(_inner), + SetQueueAttributesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct TagQueueError { + pub kind: TagQueueErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum TagQueueErrorKind { + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for TagQueueError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + TagQueueErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for TagQueueError { + fn code(&self) -> Option<&str> { + TagQueueError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl TagQueueError { + pub fn new(kind: TagQueueErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: TagQueueErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: TagQueueErrorKind::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() + } +} +impl std::error::Error for TagQueueError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + TagQueueErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UntagQueueError { + pub kind: UntagQueueErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UntagQueueErrorKind { + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UntagQueueError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UntagQueueErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UntagQueueError { + fn code(&self) -> Option<&str> { + UntagQueueError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UntagQueueError { + pub fn new(kind: UntagQueueErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UntagQueueErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UntagQueueErrorKind::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() + } +} +impl std::error::Error for UntagQueueError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UntagQueueErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +///

    The specified attribute doesn't exist.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InvalidAttributeName {} +impl std::fmt::Debug for InvalidAttributeName { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvalidAttributeName"); + formatter.finish() + } +} +impl InvalidAttributeName { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for InvalidAttributeName { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InvalidAttributeName")?; + Ok(()) + } +} +impl std::error::Error for InvalidAttributeName {} +/// See [`InvalidAttributeName`](crate::error::InvalidAttributeName) +pub mod invalid_attribute_name { + /// A builder for [`InvalidAttributeName`](crate::error::InvalidAttributeName) + #[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 [`InvalidAttributeName`](crate::error::InvalidAttributeName) + pub fn build(self) -> crate::error::InvalidAttributeName { + crate::error::InvalidAttributeName {} + } + } +} +impl InvalidAttributeName { + /// Creates a new builder-style object to manufacture [`InvalidAttributeName`](crate::error::InvalidAttributeName) + pub fn builder() -> crate::error::invalid_attribute_name::Builder { + crate::error::invalid_attribute_name::Builder::default() + } +} + +///

    Error code 400. Unsupported operation.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UnsupportedOperation {} +impl std::fmt::Debug for UnsupportedOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UnsupportedOperation"); + formatter.finish() + } +} +impl UnsupportedOperation { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for UnsupportedOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "UnsupportedOperation")?; + Ok(()) + } +} +impl std::error::Error for UnsupportedOperation {} +/// See [`UnsupportedOperation`](crate::error::UnsupportedOperation) +pub mod unsupported_operation { + /// A builder for [`UnsupportedOperation`](crate::error::UnsupportedOperation) + #[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 [`UnsupportedOperation`](crate::error::UnsupportedOperation) + pub fn build(self) -> crate::error::UnsupportedOperation { + crate::error::UnsupportedOperation {} + } + } +} +impl UnsupportedOperation { + /// Creates a new builder-style object to manufacture [`UnsupportedOperation`](crate::error::UnsupportedOperation) + pub fn builder() -> crate::error::unsupported_operation::Builder { + crate::error::unsupported_operation::Builder::default() + } +} + +///

    The batch request contains more entries than permissible.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TooManyEntriesInBatchRequest {} +impl std::fmt::Debug for TooManyEntriesInBatchRequest { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TooManyEntriesInBatchRequest"); + formatter.finish() + } +} +impl TooManyEntriesInBatchRequest { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for TooManyEntriesInBatchRequest { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "TooManyEntriesInBatchRequest")?; + Ok(()) + } +} +impl std::error::Error for TooManyEntriesInBatchRequest {} +/// See [`TooManyEntriesInBatchRequest`](crate::error::TooManyEntriesInBatchRequest) +pub mod too_many_entries_in_batch_request { + /// A builder for [`TooManyEntriesInBatchRequest`](crate::error::TooManyEntriesInBatchRequest) + #[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 [`TooManyEntriesInBatchRequest`](crate::error::TooManyEntriesInBatchRequest) + pub fn build(self) -> crate::error::TooManyEntriesInBatchRequest { + crate::error::TooManyEntriesInBatchRequest {} + } + } +} +impl TooManyEntriesInBatchRequest { + /// Creates a new builder-style object to manufacture [`TooManyEntriesInBatchRequest`](crate::error::TooManyEntriesInBatchRequest) + pub fn builder() -> crate::error::too_many_entries_in_batch_request::Builder { + crate::error::too_many_entries_in_batch_request::Builder::default() + } +} + +///

    The Id of a batch entry in a batch request doesn't abide by the specification.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InvalidBatchEntryId {} +impl std::fmt::Debug for InvalidBatchEntryId { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvalidBatchEntryId"); + formatter.finish() + } +} +impl InvalidBatchEntryId { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for InvalidBatchEntryId { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InvalidBatchEntryId")?; + Ok(()) + } +} +impl std::error::Error for InvalidBatchEntryId {} +/// See [`InvalidBatchEntryId`](crate::error::InvalidBatchEntryId) +pub mod invalid_batch_entry_id { + /// A builder for [`InvalidBatchEntryId`](crate::error::InvalidBatchEntryId) + #[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 [`InvalidBatchEntryId`](crate::error::InvalidBatchEntryId) + pub fn build(self) -> crate::error::InvalidBatchEntryId { + crate::error::InvalidBatchEntryId {} + } + } +} +impl InvalidBatchEntryId { + /// Creates a new builder-style object to manufacture [`InvalidBatchEntryId`](crate::error::InvalidBatchEntryId) + pub fn builder() -> crate::error::invalid_batch_entry_id::Builder { + crate::error::invalid_batch_entry_id::Builder::default() + } +} + +///

    The batch request doesn't contain any entries.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct EmptyBatchRequest {} +impl std::fmt::Debug for EmptyBatchRequest { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("EmptyBatchRequest"); + formatter.finish() + } +} +impl EmptyBatchRequest { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for EmptyBatchRequest { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "EmptyBatchRequest")?; + Ok(()) + } +} +impl std::error::Error for EmptyBatchRequest {} +/// See [`EmptyBatchRequest`](crate::error::EmptyBatchRequest) +pub mod empty_batch_request { + /// A builder for [`EmptyBatchRequest`](crate::error::EmptyBatchRequest) + #[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 [`EmptyBatchRequest`](crate::error::EmptyBatchRequest) + pub fn build(self) -> crate::error::EmptyBatchRequest { + crate::error::EmptyBatchRequest {} + } + } +} +impl EmptyBatchRequest { + /// Creates a new builder-style object to manufacture [`EmptyBatchRequest`](crate::error::EmptyBatchRequest) + pub fn builder() -> crate::error::empty_batch_request::Builder { + crate::error::empty_batch_request::Builder::default() + } +} + +///

    The length of all the messages put together is more than the limit.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchRequestTooLong {} +impl std::fmt::Debug for BatchRequestTooLong { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchRequestTooLong"); + formatter.finish() + } +} +impl BatchRequestTooLong { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for BatchRequestTooLong { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BatchRequestTooLong")?; + Ok(()) + } +} +impl std::error::Error for BatchRequestTooLong {} +/// See [`BatchRequestTooLong`](crate::error::BatchRequestTooLong) +pub mod batch_request_too_long { + /// A builder for [`BatchRequestTooLong`](crate::error::BatchRequestTooLong) + #[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 [`BatchRequestTooLong`](crate::error::BatchRequestTooLong) + pub fn build(self) -> crate::error::BatchRequestTooLong { + crate::error::BatchRequestTooLong {} + } + } +} +impl BatchRequestTooLong { + /// Creates a new builder-style object to manufacture [`BatchRequestTooLong`](crate::error::BatchRequestTooLong) + pub fn builder() -> crate::error::batch_request_too_long::Builder { + crate::error::batch_request_too_long::Builder::default() + } +} + +///

    Two or more batch entries in the request have the same Id.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchEntryIdsNotDistinct {} +impl std::fmt::Debug for BatchEntryIdsNotDistinct { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchEntryIdsNotDistinct"); + formatter.finish() + } +} +impl BatchEntryIdsNotDistinct { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for BatchEntryIdsNotDistinct { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BatchEntryIdsNotDistinct")?; + Ok(()) + } +} +impl std::error::Error for BatchEntryIdsNotDistinct {} +/// See [`BatchEntryIdsNotDistinct`](crate::error::BatchEntryIdsNotDistinct) +pub mod batch_entry_ids_not_distinct { + /// A builder for [`BatchEntryIdsNotDistinct`](crate::error::BatchEntryIdsNotDistinct) + #[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 [`BatchEntryIdsNotDistinct`](crate::error::BatchEntryIdsNotDistinct) + pub fn build(self) -> crate::error::BatchEntryIdsNotDistinct { + crate::error::BatchEntryIdsNotDistinct {} + } + } +} +impl BatchEntryIdsNotDistinct { + /// Creates a new builder-style object to manufacture [`BatchEntryIdsNotDistinct`](crate::error::BatchEntryIdsNotDistinct) + pub fn builder() -> crate::error::batch_entry_ids_not_distinct::Builder { + crate::error::batch_entry_ids_not_distinct::Builder::default() + } +} + +///

    The message contains characters outside the allowed set.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InvalidMessageContents {} +impl std::fmt::Debug for InvalidMessageContents { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvalidMessageContents"); + formatter.finish() + } +} +impl InvalidMessageContents { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for InvalidMessageContents { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InvalidMessageContents")?; + Ok(()) + } +} +impl std::error::Error for InvalidMessageContents {} +/// See [`InvalidMessageContents`](crate::error::InvalidMessageContents) +pub mod invalid_message_contents { + /// A builder for [`InvalidMessageContents`](crate::error::InvalidMessageContents) + #[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 [`InvalidMessageContents`](crate::error::InvalidMessageContents) + pub fn build(self) -> crate::error::InvalidMessageContents { + crate::error::InvalidMessageContents {} + } + } +} +impl InvalidMessageContents { + /// Creates a new builder-style object to manufacture [`InvalidMessageContents`](crate::error::InvalidMessageContents) + pub fn builder() -> crate::error::invalid_message_contents::Builder { + crate::error::invalid_message_contents::Builder::default() + } +} + +///

    The specified action violates a limit. For example, ReceiveMessage +/// returns this error if the maximum number of inflight messages is reached and +/// AddPermission returns this error if the maximum number of permissions +/// for the queue is reached.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct OverLimit {} +impl std::fmt::Debug for OverLimit { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("OverLimit"); + formatter.finish() + } +} +impl OverLimit { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for OverLimit { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "OverLimit")?; + Ok(()) + } +} +impl std::error::Error for OverLimit {} +/// See [`OverLimit`](crate::error::OverLimit) +pub mod over_limit { + /// A builder for [`OverLimit`](crate::error::OverLimit) + #[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 [`OverLimit`](crate::error::OverLimit) + pub fn build(self) -> crate::error::OverLimit { + crate::error::OverLimit {} + } + } +} +impl OverLimit { + /// Creates a new builder-style object to manufacture [`OverLimit`](crate::error::OverLimit) + pub fn builder() -> crate::error::over_limit::Builder { + crate::error::over_limit::Builder::default() + } +} + +///

    The specified queue doesn't exist.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct QueueDoesNotExist {} +impl std::fmt::Debug for QueueDoesNotExist { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("QueueDoesNotExist"); + formatter.finish() + } +} +impl QueueDoesNotExist { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for QueueDoesNotExist { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "QueueDoesNotExist")?; + Ok(()) + } +} +impl std::error::Error for QueueDoesNotExist {} +/// See [`QueueDoesNotExist`](crate::error::QueueDoesNotExist) +pub mod queue_does_not_exist { + /// A builder for [`QueueDoesNotExist`](crate::error::QueueDoesNotExist) + #[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 [`QueueDoesNotExist`](crate::error::QueueDoesNotExist) + pub fn build(self) -> crate::error::QueueDoesNotExist { + crate::error::QueueDoesNotExist {} + } + } +} +impl QueueDoesNotExist { + /// Creates a new builder-style object to manufacture [`QueueDoesNotExist`](crate::error::QueueDoesNotExist) + pub fn builder() -> crate::error::queue_does_not_exist::Builder { + crate::error::queue_does_not_exist::Builder::default() + } +} + +///

    Indicates that the specified queue previously received a PurgeQueue request within the last 60 seconds (the time it can take to delete the messages in the queue).

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PurgeQueueInProgress {} +impl std::fmt::Debug for PurgeQueueInProgress { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PurgeQueueInProgress"); + formatter.finish() + } +} +impl PurgeQueueInProgress { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for PurgeQueueInProgress { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "PurgeQueueInProgress")?; + Ok(()) + } +} +impl std::error::Error for PurgeQueueInProgress {} +/// See [`PurgeQueueInProgress`](crate::error::PurgeQueueInProgress) +pub mod purge_queue_in_progress { + /// A builder for [`PurgeQueueInProgress`](crate::error::PurgeQueueInProgress) + #[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 [`PurgeQueueInProgress`](crate::error::PurgeQueueInProgress) + pub fn build(self) -> crate::error::PurgeQueueInProgress { + crate::error::PurgeQueueInProgress {} + } + } +} +impl PurgeQueueInProgress { + /// Creates a new builder-style object to manufacture [`PurgeQueueInProgress`](crate::error::PurgeQueueInProgress) + pub fn builder() -> crate::error::purge_queue_in_progress::Builder { + crate::error::purge_queue_in_progress::Builder::default() + } +} + +///

    The specified receipt handle isn't valid.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ReceiptHandleIsInvalid {} +impl std::fmt::Debug for ReceiptHandleIsInvalid { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ReceiptHandleIsInvalid"); + formatter.finish() + } +} +impl ReceiptHandleIsInvalid { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for ReceiptHandleIsInvalid { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ReceiptHandleIsInvalid")?; + Ok(()) + } +} +impl std::error::Error for ReceiptHandleIsInvalid {} +/// See [`ReceiptHandleIsInvalid`](crate::error::ReceiptHandleIsInvalid) +pub mod receipt_handle_is_invalid { + /// A builder for [`ReceiptHandleIsInvalid`](crate::error::ReceiptHandleIsInvalid) + #[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 [`ReceiptHandleIsInvalid`](crate::error::ReceiptHandleIsInvalid) + pub fn build(self) -> crate::error::ReceiptHandleIsInvalid { + crate::error::ReceiptHandleIsInvalid {} + } + } +} +impl ReceiptHandleIsInvalid { + /// Creates a new builder-style object to manufacture [`ReceiptHandleIsInvalid`](crate::error::ReceiptHandleIsInvalid) + pub fn builder() -> crate::error::receipt_handle_is_invalid::Builder { + crate::error::receipt_handle_is_invalid::Builder::default() + } +} + +///

    The specified receipt handle isn't valid for the current version.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InvalidIdFormat {} +impl std::fmt::Debug for InvalidIdFormat { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvalidIdFormat"); + formatter.finish() + } +} +impl InvalidIdFormat { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for InvalidIdFormat { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InvalidIdFormat")?; + Ok(()) + } +} +impl std::error::Error for InvalidIdFormat {} +/// See [`InvalidIdFormat`](crate::error::InvalidIdFormat) +pub mod invalid_id_format { + /// A builder for [`InvalidIdFormat`](crate::error::InvalidIdFormat) + #[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 [`InvalidIdFormat`](crate::error::InvalidIdFormat) + pub fn build(self) -> crate::error::InvalidIdFormat { + crate::error::InvalidIdFormat {} + } + } +} +impl InvalidIdFormat { + /// Creates a new builder-style object to manufacture [`InvalidIdFormat`](crate::error::InvalidIdFormat) + pub fn builder() -> crate::error::invalid_id_format::Builder { + crate::error::invalid_id_format::Builder::default() + } +} + +///

    A queue with this name already exists. Amazon SQS returns this error only if the request +/// includes attributes whose values differ from those of the existing queue.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct QueueNameExists {} +impl std::fmt::Debug for QueueNameExists { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("QueueNameExists"); + formatter.finish() + } +} +impl QueueNameExists { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for QueueNameExists { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "QueueNameExists")?; + Ok(()) + } +} +impl std::error::Error for QueueNameExists {} +/// See [`QueueNameExists`](crate::error::QueueNameExists) +pub mod queue_name_exists { + /// A builder for [`QueueNameExists`](crate::error::QueueNameExists) + #[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 [`QueueNameExists`](crate::error::QueueNameExists) + pub fn build(self) -> crate::error::QueueNameExists { + crate::error::QueueNameExists {} + } + } +} +impl QueueNameExists { + /// Creates a new builder-style object to manufacture [`QueueNameExists`](crate::error::QueueNameExists) + pub fn builder() -> crate::error::queue_name_exists::Builder { + crate::error::queue_name_exists::Builder::default() + } +} + +///

    You must wait 60 seconds after deleting a queue before you can create another queue +/// with the same name.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct QueueDeletedRecently {} +impl std::fmt::Debug for QueueDeletedRecently { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("QueueDeletedRecently"); + formatter.finish() + } +} +impl QueueDeletedRecently { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for QueueDeletedRecently { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "QueueDeletedRecently")?; + Ok(()) + } +} +impl std::error::Error for QueueDeletedRecently {} +/// See [`QueueDeletedRecently`](crate::error::QueueDeletedRecently) +pub mod queue_deleted_recently { + /// A builder for [`QueueDeletedRecently`](crate::error::QueueDeletedRecently) + #[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 [`QueueDeletedRecently`](crate::error::QueueDeletedRecently) + pub fn build(self) -> crate::error::QueueDeletedRecently { + crate::error::QueueDeletedRecently {} + } + } +} +impl QueueDeletedRecently { + /// Creates a new builder-style object to manufacture [`QueueDeletedRecently`](crate::error::QueueDeletedRecently) + pub fn builder() -> crate::error::queue_deleted_recently::Builder { + crate::error::queue_deleted_recently::Builder::default() + } +} + +///

    The specified message isn't in flight.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MessageNotInflight {} +impl std::fmt::Debug for MessageNotInflight { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MessageNotInflight"); + formatter.finish() + } +} +impl MessageNotInflight { + pub fn message(&self) -> Option<&str> { + None + } +} +impl std::fmt::Display for MessageNotInflight { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "MessageNotInflight")?; + Ok(()) + } +} +impl std::error::Error for MessageNotInflight {} +/// See [`MessageNotInflight`](crate::error::MessageNotInflight) +pub mod message_not_inflight { + /// A builder for [`MessageNotInflight`](crate::error::MessageNotInflight) + #[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 [`MessageNotInflight`](crate::error::MessageNotInflight) + pub fn build(self) -> crate::error::MessageNotInflight { + crate::error::MessageNotInflight {} + } + } +} +impl MessageNotInflight { + /// Creates a new builder-style object to manufacture [`MessageNotInflight`](crate::error::MessageNotInflight) + pub fn builder() -> crate::error::message_not_inflight::Builder { + crate::error::message_not_inflight::Builder::default() + } +} diff --git a/sdk/sqs/src/error_meta.rs b/sdk/sqs/src/error_meta.rs new file mode 100644 index 000000000000..93bbf56a2a60 --- /dev/null +++ b/sdk/sqs/src/error_meta.rs @@ -0,0 +1,346 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum Error { + BatchEntryIdsNotDistinct(crate::error::BatchEntryIdsNotDistinct), + BatchRequestTooLong(crate::error::BatchRequestTooLong), + EmptyBatchRequest(crate::error::EmptyBatchRequest), + InvalidAttributeName(crate::error::InvalidAttributeName), + InvalidBatchEntryId(crate::error::InvalidBatchEntryId), + InvalidIdFormat(crate::error::InvalidIdFormat), + InvalidMessageContents(crate::error::InvalidMessageContents), + MessageNotInflight(crate::error::MessageNotInflight), + OverLimit(crate::error::OverLimit), + PurgeQueueInProgress(crate::error::PurgeQueueInProgress), + QueueDeletedRecently(crate::error::QueueDeletedRecently), + QueueDoesNotExist(crate::error::QueueDoesNotExist), + QueueNameExists(crate::error::QueueNameExists), + ReceiptHandleIsInvalid(crate::error::ReceiptHandleIsInvalid), + TooManyEntriesInBatchRequest(crate::error::TooManyEntriesInBatchRequest), + UnsupportedOperation(crate::error::UnsupportedOperation), + Unhandled(Box), +} +impl std::fmt::Display for Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Error::BatchEntryIdsNotDistinct(inner) => inner.fmt(f), + Error::BatchRequestTooLong(inner) => inner.fmt(f), + Error::EmptyBatchRequest(inner) => inner.fmt(f), + Error::InvalidAttributeName(inner) => inner.fmt(f), + Error::InvalidBatchEntryId(inner) => inner.fmt(f), + Error::InvalidIdFormat(inner) => inner.fmt(f), + Error::InvalidMessageContents(inner) => inner.fmt(f), + Error::MessageNotInflight(inner) => inner.fmt(f), + Error::OverLimit(inner) => inner.fmt(f), + Error::PurgeQueueInProgress(inner) => inner.fmt(f), + Error::QueueDeletedRecently(inner) => inner.fmt(f), + Error::QueueDoesNotExist(inner) => inner.fmt(f), + Error::QueueNameExists(inner) => inner.fmt(f), + Error::ReceiptHandleIsInvalid(inner) => inner.fmt(f), + Error::TooManyEntriesInBatchRequest(inner) => inner.fmt(f), + Error::UnsupportedOperation(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::AddPermissionErrorKind::OverLimit(inner) => Error::OverLimit(inner), + crate::error::AddPermissionErrorKind::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::ChangeMessageVisibilityErrorKind::MessageNotInflight(inner) => { + Error::MessageNotInflight(inner) + } + crate::error::ChangeMessageVisibilityErrorKind::ReceiptHandleIsInvalid(inner) => { + Error::ReceiptHandleIsInvalid(inner) + } + crate::error::ChangeMessageVisibilityErrorKind::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::ChangeMessageVisibilityBatchErrorKind::BatchEntryIdsNotDistinct(inner) => Error::BatchEntryIdsNotDistinct(inner), + crate::error::ChangeMessageVisibilityBatchErrorKind::EmptyBatchRequest(inner) => Error::EmptyBatchRequest(inner), + crate::error::ChangeMessageVisibilityBatchErrorKind::InvalidBatchEntryId(inner) => Error::InvalidBatchEntryId(inner), + crate::error::ChangeMessageVisibilityBatchErrorKind::TooManyEntriesInBatchRequest(inner) => Error::TooManyEntriesInBatchRequest(inner), + crate::error::ChangeMessageVisibilityBatchErrorKind::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::CreateQueueErrorKind::QueueDeletedRecently(inner) => { + Error::QueueDeletedRecently(inner) + } + crate::error::CreateQueueErrorKind::QueueNameExists(inner) => { + Error::QueueNameExists(inner) + } + crate::error::CreateQueueErrorKind::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::DeleteMessageErrorKind::InvalidIdFormat(inner) => { + Error::InvalidIdFormat(inner) + } + crate::error::DeleteMessageErrorKind::ReceiptHandleIsInvalid(inner) => { + Error::ReceiptHandleIsInvalid(inner) + } + crate::error::DeleteMessageErrorKind::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::DeleteMessageBatchErrorKind::BatchEntryIdsNotDistinct(inner) => { + Error::BatchEntryIdsNotDistinct(inner) + } + crate::error::DeleteMessageBatchErrorKind::EmptyBatchRequest(inner) => { + Error::EmptyBatchRequest(inner) + } + crate::error::DeleteMessageBatchErrorKind::InvalidBatchEntryId(inner) => { + Error::InvalidBatchEntryId(inner) + } + crate::error::DeleteMessageBatchErrorKind::TooManyEntriesInBatchRequest(inner) => { + Error::TooManyEntriesInBatchRequest(inner) + } + crate::error::DeleteMessageBatchErrorKind::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::DeleteQueueErrorKind::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::GetQueueAttributesErrorKind::InvalidAttributeName(inner) => { + Error::InvalidAttributeName(inner) + } + crate::error::GetQueueAttributesErrorKind::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::GetQueueUrlErrorKind::QueueDoesNotExist(inner) => { + Error::QueueDoesNotExist(inner) + } + crate::error::GetQueueUrlErrorKind::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::ListDeadLetterSourceQueuesErrorKind::QueueDoesNotExist(inner) => { + Error::QueueDoesNotExist(inner) + } + crate::error::ListDeadLetterSourceQueuesErrorKind::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::ListQueuesErrorKind::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::ListQueueTagsErrorKind::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::PurgeQueueErrorKind::PurgeQueueInProgress(inner) => { + Error::PurgeQueueInProgress(inner) + } + crate::error::PurgeQueueErrorKind::QueueDoesNotExist(inner) => { + Error::QueueDoesNotExist(inner) + } + crate::error::PurgeQueueErrorKind::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::ReceiveMessageErrorKind::OverLimit(inner) => Error::OverLimit(inner), + crate::error::ReceiveMessageErrorKind::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::RemovePermissionErrorKind::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::SendMessageErrorKind::InvalidMessageContents(inner) => { + Error::InvalidMessageContents(inner) + } + crate::error::SendMessageErrorKind::UnsupportedOperation(inner) => { + Error::UnsupportedOperation(inner) + } + crate::error::SendMessageErrorKind::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::SendMessageBatchErrorKind::BatchEntryIdsNotDistinct(inner) => { + Error::BatchEntryIdsNotDistinct(inner) + } + crate::error::SendMessageBatchErrorKind::BatchRequestTooLong(inner) => { + Error::BatchRequestTooLong(inner) + } + crate::error::SendMessageBatchErrorKind::EmptyBatchRequest(inner) => { + Error::EmptyBatchRequest(inner) + } + crate::error::SendMessageBatchErrorKind::InvalidBatchEntryId(inner) => { + Error::InvalidBatchEntryId(inner) + } + crate::error::SendMessageBatchErrorKind::TooManyEntriesInBatchRequest(inner) => { + Error::TooManyEntriesInBatchRequest(inner) + } + crate::error::SendMessageBatchErrorKind::UnsupportedOperation(inner) => { + Error::UnsupportedOperation(inner) + } + crate::error::SendMessageBatchErrorKind::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::SetQueueAttributesErrorKind::InvalidAttributeName(inner) => { + Error::InvalidAttributeName(inner) + } + crate::error::SetQueueAttributesErrorKind::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::TagQueueErrorKind::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::UntagQueueErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl std::error::Error for Error {} diff --git a/sdk/sqs/src/input.rs b/sdk/sqs/src/input.rs new file mode 100644 index 000000000000..a223295d63d8 --- /dev/null +++ b/sdk/sqs/src/input.rs @@ -0,0 +1,4015 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// See [`AddPermissionInput`](crate::input::AddPermissionInput) +pub mod add_permission_input { + /// A builder for [`AddPermissionInput`](crate::input::AddPermissionInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) label: std::option::Option, + pub(crate) aws_account_ids: std::option::Option>, + pub(crate) actions: std::option::Option>, + } + impl Builder { + ///

    The URL of the Amazon SQS queue to which permissions are added.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + ///

    The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

    + pub fn label(mut self, inp: impl Into) -> Self { + self.label = Some(inp.into()); + self + } + pub fn set_label(mut self, inp: std::option::Option) -> Self { + self.label = inp; + self + } + pub fn aws_account_ids(mut self, inp: impl Into) -> Self { + let mut v = self.aws_account_ids.unwrap_or_default(); + v.push(inp.into()); + self.aws_account_ids = Some(v); + self + } + pub fn set_aws_account_ids( + mut self, + inp: std::option::Option>, + ) -> Self { + self.aws_account_ids = inp; + self + } + pub fn actions(mut self, inp: impl Into) -> Self { + let mut v = self.actions.unwrap_or_default(); + v.push(inp.into()); + self.actions = Some(v); + self + } + pub fn set_actions( + mut self, + inp: std::option::Option>, + ) -> Self { + self.actions = inp; + self + } + /// Consumes the builder and constructs a [`AddPermissionInput`](crate::input::AddPermissionInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::AddPermissionInput { + queue_url: self.queue_url, + label: self.label, + aws_account_ids: self.aws_account_ids, + actions: self.actions, + }) + } + } +} +impl AddPermissionInput { + /// Consumes the builder and constructs an Operation<[`AddPermission`](crate::operation::AddPermission)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::AddPermission, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_add_permission(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::AddPermission::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "AddPermission", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`AddPermissionInput`](crate::input::AddPermissionInput) + pub fn builder() -> crate::input::add_permission_input::Builder { + crate::input::add_permission_input::Builder::default() + } +} + +/// See [`ChangeMessageVisibilityInput`](crate::input::ChangeMessageVisibilityInput) +pub mod change_message_visibility_input { + /// A builder for [`ChangeMessageVisibilityInput`](crate::input::ChangeMessageVisibilityInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) receipt_handle: std::option::Option, + pub(crate) visibility_timeout: std::option::Option, + } + impl Builder { + ///

    The URL of the Amazon SQS queue whose message's visibility is changed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + ///

    The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the + /// ReceiveMessage + /// action.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.receipt_handle = Some(inp.into()); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.receipt_handle = inp; + self + } + ///

    The new value for the message's visibility timeout (in seconds). Values range: 0 to 43200. Maximum: 12 hours.

    + pub fn visibility_timeout(mut self, inp: i32) -> Self { + self.visibility_timeout = Some(inp); + self + } + pub fn set_visibility_timeout(mut self, inp: i32) -> Self { + self.visibility_timeout = Some(inp); + self + } + /// Consumes the builder and constructs a [`ChangeMessageVisibilityInput`](crate::input::ChangeMessageVisibilityInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ChangeMessageVisibilityInput { + queue_url: self.queue_url, + receipt_handle: self.receipt_handle, + visibility_timeout: self.visibility_timeout.unwrap_or_default(), + }) + } + } +} +impl ChangeMessageVisibilityInput { + /// Consumes the builder and constructs an Operation<[`ChangeMessageVisibility`](crate::operation::ChangeMessageVisibility)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ChangeMessageVisibility, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_change_message_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ChangeMessageVisibility::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ChangeMessageVisibility", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`ChangeMessageVisibilityInput`](crate::input::ChangeMessageVisibilityInput) + pub fn builder() -> crate::input::change_message_visibility_input::Builder { + crate::input::change_message_visibility_input::Builder::default() + } +} + +/// See [`ChangeMessageVisibilityBatchInput`](crate::input::ChangeMessageVisibilityBatchInput) +pub mod change_message_visibility_batch_input { + /// A builder for [`ChangeMessageVisibilityBatchInput`](crate::input::ChangeMessageVisibilityBatchInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) entries: std::option::Option< + std::vec::Vec, + >, + } + impl Builder { + ///

    The URL of the Amazon SQS queue whose messages' visibility is changed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn entries( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.entries.unwrap_or_default(); + v.push(inp.into()); + self.entries = Some(v); + self + } + pub fn set_entries( + mut self, + inp: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.entries = inp; + self + } + /// Consumes the builder and constructs a [`ChangeMessageVisibilityBatchInput`](crate::input::ChangeMessageVisibilityBatchInput) + pub fn build( + self, + ) -> Result< + crate::input::ChangeMessageVisibilityBatchInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ChangeMessageVisibilityBatchInput { + queue_url: self.queue_url, + entries: self.entries, + }) + } + } +} +impl ChangeMessageVisibilityBatchInput { + /// Consumes the builder and constructs an Operation<[`ChangeMessageVisibilityBatch`](crate::operation::ChangeMessageVisibilityBatch)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ChangeMessageVisibilityBatch, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_change_message_visibility_batch(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ChangeMessageVisibilityBatch::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ChangeMessageVisibilityBatch", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`ChangeMessageVisibilityBatchInput`](crate::input::ChangeMessageVisibilityBatchInput) + pub fn builder() -> crate::input::change_message_visibility_batch_input::Builder { + crate::input::change_message_visibility_batch_input::Builder::default() + } +} + +/// See [`CreateQueueInput`](crate::input::CreateQueueInput) +pub mod create_queue_input { + /// A builder for [`CreateQueueInput`](crate::input::CreateQueueInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_name: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + pub(crate) attributes: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

    The name of the new queue. The following limits apply to this name:

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

      A queue name can have up to 80 characters.

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

      Valid values: alphanumeric characters, hyphens (-), and underscores (_).

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

      A FIFO queue name must end with the .fifo suffix.

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

    Queue URLs and names are case-sensitive.

    + pub fn queue_name(mut self, inp: impl Into) -> Self { + self.queue_name = Some(inp.into()); + self + } + pub fn set_queue_name(mut self, inp: std::option::Option) -> Self { + self.queue_name = inp; + 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, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = inp; + self + } + pub fn attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.attributes = Some(hash_map); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`CreateQueueInput`](crate::input::CreateQueueInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::CreateQueueInput { + queue_name: self.queue_name, + tags: self.tags, + attributes: self.attributes, + }) + } + } +} +impl CreateQueueInput { + /// Consumes the builder and constructs an Operation<[`CreateQueue`](crate::operation::CreateQueue)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::CreateQueue, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_create_queue(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateQueue::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("CreateQueue", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`CreateQueueInput`](crate::input::CreateQueueInput) + pub fn builder() -> crate::input::create_queue_input::Builder { + crate::input::create_queue_input::Builder::default() + } +} + +/// See [`DeleteMessageInput`](crate::input::DeleteMessageInput) +pub mod delete_message_input { + /// A builder for [`DeleteMessageInput`](crate::input::DeleteMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) receipt_handle: std::option::Option, + } + impl Builder { + ///

    The URL of the Amazon SQS queue from which messages are deleted.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + ///

    The receipt handle associated with the message to delete.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.receipt_handle = Some(inp.into()); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.receipt_handle = inp; + self + } + /// Consumes the builder and constructs a [`DeleteMessageInput`](crate::input::DeleteMessageInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::DeleteMessageInput { + queue_url: self.queue_url, + receipt_handle: self.receipt_handle, + }) + } + } +} +impl DeleteMessageInput { + /// Consumes the builder and constructs an Operation<[`DeleteMessage`](crate::operation::DeleteMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_delete_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteMessage", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`DeleteMessageInput`](crate::input::DeleteMessageInput) + pub fn builder() -> crate::input::delete_message_input::Builder { + crate::input::delete_message_input::Builder::default() + } +} + +/// See [`DeleteMessageBatchInput`](crate::input::DeleteMessageBatchInput) +pub mod delete_message_batch_input { + /// A builder for [`DeleteMessageBatchInput`](crate::input::DeleteMessageBatchInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) entries: + std::option::Option>, + } + impl Builder { + ///

    The URL of the Amazon SQS queue from which messages are deleted.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn entries( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.entries.unwrap_or_default(); + v.push(inp.into()); + self.entries = Some(v); + self + } + pub fn set_entries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.entries = inp; + self + } + /// Consumes the builder and constructs a [`DeleteMessageBatchInput`](crate::input::DeleteMessageBatchInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::DeleteMessageBatchInput { + queue_url: self.queue_url, + entries: self.entries, + }) + } + } +} +impl DeleteMessageBatchInput { + /// Consumes the builder and constructs an Operation<[`DeleteMessageBatch`](crate::operation::DeleteMessageBatch)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteMessageBatch, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_delete_message_batch(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteMessageBatch::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteMessageBatch", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`DeleteMessageBatchInput`](crate::input::DeleteMessageBatchInput) + pub fn builder() -> crate::input::delete_message_batch_input::Builder { + crate::input::delete_message_batch_input::Builder::default() + } +} + +/// See [`DeleteQueueInput`](crate::input::DeleteQueueInput) +pub mod delete_queue_input { + /// A builder for [`DeleteQueueInput`](crate::input::DeleteQueueInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + } + impl Builder { + ///

    The URL of the Amazon SQS queue to delete.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + /// Consumes the builder and constructs a [`DeleteQueueInput`](crate::input::DeleteQueueInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::DeleteQueueInput { + queue_url: self.queue_url, + }) + } + } +} +impl DeleteQueueInput { + /// Consumes the builder and constructs an Operation<[`DeleteQueue`](crate::operation::DeleteQueue)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::DeleteQueue, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_delete_queue(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteQueue::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("DeleteQueue", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`DeleteQueueInput`](crate::input::DeleteQueueInput) + pub fn builder() -> crate::input::delete_queue_input::Builder { + crate::input::delete_queue_input::Builder::default() + } +} + +/// See [`GetQueueAttributesInput`](crate::input::GetQueueAttributesInput) +pub mod get_queue_attributes_input { + /// A builder for [`GetQueueAttributesInput`](crate::input::GetQueueAttributesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) attribute_names: + std::option::Option>, + } + impl Builder { + ///

    The URL of the Amazon SQS queue whose attribute information is retrieved.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn attribute_names(mut self, inp: impl Into) -> Self { + let mut v = self.attribute_names.unwrap_or_default(); + v.push(inp.into()); + self.attribute_names = Some(v); + self + } + pub fn set_attribute_names( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attribute_names = inp; + self + } + /// Consumes the builder and constructs a [`GetQueueAttributesInput`](crate::input::GetQueueAttributesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::GetQueueAttributesInput { + queue_url: self.queue_url, + attribute_names: self.attribute_names, + }) + } + } +} +impl GetQueueAttributesInput { + /// Consumes the builder and constructs an Operation<[`GetQueueAttributes`](crate::operation::GetQueueAttributes)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::GetQueueAttributes, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_queue_attributes(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetQueueAttributes::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetQueueAttributes", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`GetQueueAttributesInput`](crate::input::GetQueueAttributesInput) + pub fn builder() -> crate::input::get_queue_attributes_input::Builder { + crate::input::get_queue_attributes_input::Builder::default() + } +} + +/// See [`GetQueueUrlInput`](crate::input::GetQueueUrlInput) +pub mod get_queue_url_input { + /// A builder for [`GetQueueUrlInput`](crate::input::GetQueueUrlInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_name: std::option::Option, + pub(crate) queue_owner_aws_account_id: std::option::Option, + } + impl Builder { + ///

    The name of the queue whose URL must be fetched. Maximum 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_).

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_name(mut self, inp: impl Into) -> Self { + self.queue_name = Some(inp.into()); + self + } + pub fn set_queue_name(mut self, inp: std::option::Option) -> Self { + self.queue_name = inp; + self + } + ///

    The AWS account ID of the account that created the queue.

    + pub fn queue_owner_aws_account_id(mut self, inp: impl Into) -> Self { + self.queue_owner_aws_account_id = Some(inp.into()); + self + } + pub fn set_queue_owner_aws_account_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.queue_owner_aws_account_id = inp; + self + } + /// Consumes the builder and constructs a [`GetQueueUrlInput`](crate::input::GetQueueUrlInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::GetQueueUrlInput { + queue_name: self.queue_name, + queue_owner_aws_account_id: self.queue_owner_aws_account_id, + }) + } + } +} +impl GetQueueUrlInput { + /// Consumes the builder and constructs an Operation<[`GetQueueUrl`](crate::operation::GetQueueUrl)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::GetQueueUrl, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_get_queue_url(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetQueueUrl::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("GetQueueUrl", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`GetQueueUrlInput`](crate::input::GetQueueUrlInput) + pub fn builder() -> crate::input::get_queue_url_input::Builder { + crate::input::get_queue_url_input::Builder::default() + } +} + +/// See [`ListDeadLetterSourceQueuesInput`](crate::input::ListDeadLetterSourceQueuesInput) +pub mod list_dead_letter_source_queues_input { + /// A builder for [`ListDeadLetterSourceQueuesInput`](crate::input::ListDeadLetterSourceQueuesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + } + impl Builder { + ///

    The URL of a dead-letter queue.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + ///

    Pagination token to request the next set of results.

    + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

    Maximum number of results to include in the response. Value range is 1 to 1000. + /// You must set MaxResults to receive a value for NextToken in the response.

    + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + /// Consumes the builder and constructs a [`ListDeadLetterSourceQueuesInput`](crate::input::ListDeadLetterSourceQueuesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::ListDeadLetterSourceQueuesInput { + queue_url: self.queue_url, + next_token: self.next_token, + max_results: self.max_results, + }) + } + } +} +impl ListDeadLetterSourceQueuesInput { + /// Consumes the builder and constructs an Operation<[`ListDeadLetterSourceQueues`](crate::operation::ListDeadLetterSourceQueues)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListDeadLetterSourceQueues, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_dead_letter_source_queues(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListDeadLetterSourceQueues::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListDeadLetterSourceQueues", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`ListDeadLetterSourceQueuesInput`](crate::input::ListDeadLetterSourceQueuesInput) + pub fn builder() -> crate::input::list_dead_letter_source_queues_input::Builder { + crate::input::list_dead_letter_source_queues_input::Builder::default() + } +} + +/// See [`ListQueuesInput`](crate::input::ListQueuesInput) +pub mod list_queues_input { + /// A builder for [`ListQueuesInput`](crate::input::ListQueuesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_name_prefix: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + } + impl Builder { + ///

    A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_name_prefix(mut self, inp: impl Into) -> Self { + self.queue_name_prefix = Some(inp.into()); + self + } + pub fn set_queue_name_prefix( + mut self, + inp: std::option::Option, + ) -> Self { + self.queue_name_prefix = inp; + self + } + ///

    Pagination token to request the next set of results.

    + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + ///

    Maximum number of results to include in the response. Value range is 1 to 1000. + /// You must set MaxResults to receive a value for NextToken in the response.

    + pub fn max_results(mut self, inp: i32) -> Self { + self.max_results = Some(inp); + self + } + pub fn set_max_results(mut self, inp: std::option::Option) -> Self { + self.max_results = inp; + self + } + /// Consumes the builder and constructs a [`ListQueuesInput`](crate::input::ListQueuesInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ListQueuesInput { + queue_name_prefix: self.queue_name_prefix, + next_token: self.next_token, + max_results: self.max_results, + }) + } + } +} +impl ListQueuesInput { + /// Consumes the builder and constructs an Operation<[`ListQueues`](crate::operation::ListQueues)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListQueues, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_queues(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListQueues::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("ListQueues", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`ListQueuesInput`](crate::input::ListQueuesInput) + pub fn builder() -> crate::input::list_queues_input::Builder { + crate::input::list_queues_input::Builder::default() + } +} + +/// See [`ListQueueTagsInput`](crate::input::ListQueueTagsInput) +pub mod list_queue_tags_input { + /// A builder for [`ListQueueTagsInput`](crate::input::ListQueueTagsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + } + impl Builder { + ///

    The URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + /// Consumes the builder and constructs a [`ListQueueTagsInput`](crate::input::ListQueueTagsInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ListQueueTagsInput { + queue_url: self.queue_url, + }) + } + } +} +impl ListQueueTagsInput { + /// Consumes the builder and constructs an Operation<[`ListQueueTags`](crate::operation::ListQueueTags)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ListQueueTags, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_list_queue_tags(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListQueueTags::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListQueueTags", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`ListQueueTagsInput`](crate::input::ListQueueTagsInput) + pub fn builder() -> crate::input::list_queue_tags_input::Builder { + crate::input::list_queue_tags_input::Builder::default() + } +} + +/// See [`PurgeQueueInput`](crate::input::PurgeQueueInput) +pub mod purge_queue_input { + /// A builder for [`PurgeQueueInput`](crate::input::PurgeQueueInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + } + impl Builder { + ///

    The URL of the queue from which the PurgeQueue action deletes messages.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + /// Consumes the builder and constructs a [`PurgeQueueInput`](crate::input::PurgeQueueInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::PurgeQueueInput { + queue_url: self.queue_url, + }) + } + } +} +impl PurgeQueueInput { + /// Consumes the builder and constructs an Operation<[`PurgeQueue`](crate::operation::PurgeQueue)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::PurgeQueue, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_purge_queue(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PurgeQueue::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("PurgeQueue", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`PurgeQueueInput`](crate::input::PurgeQueueInput) + pub fn builder() -> crate::input::purge_queue_input::Builder { + crate::input::purge_queue_input::Builder::default() + } +} + +/// See [`ReceiveMessageInput`](crate::input::ReceiveMessageInput) +pub mod receive_message_input { + /// A builder for [`ReceiveMessageInput`](crate::input::ReceiveMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) attribute_names: + std::option::Option>, + pub(crate) message_attribute_names: std::option::Option>, + pub(crate) max_number_of_messages: std::option::Option, + pub(crate) visibility_timeout: std::option::Option, + pub(crate) wait_time_seconds: std::option::Option, + pub(crate) receive_request_attempt_id: std::option::Option, + } + impl Builder { + ///

    The URL of the Amazon SQS queue from which messages are received.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn attribute_names(mut self, inp: impl Into) -> Self { + let mut v = self.attribute_names.unwrap_or_default(); + v.push(inp.into()); + self.attribute_names = Some(v); + self + } + pub fn set_attribute_names( + mut self, + inp: std::option::Option>, + ) -> Self { + self.attribute_names = inp; + self + } + pub fn message_attribute_names(mut self, inp: impl Into) -> Self { + let mut v = self.message_attribute_names.unwrap_or_default(); + v.push(inp.into()); + self.message_attribute_names = Some(v); + self + } + pub fn set_message_attribute_names( + mut self, + inp: std::option::Option>, + ) -> Self { + self.message_attribute_names = inp; + self + } + ///

    The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.

    + pub fn max_number_of_messages(mut self, inp: i32) -> Self { + self.max_number_of_messages = Some(inp); + self + } + pub fn set_max_number_of_messages(mut self, inp: i32) -> Self { + self.max_number_of_messages = Some(inp); + self + } + ///

    The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.

    + pub fn visibility_timeout(mut self, inp: i32) -> Self { + self.visibility_timeout = Some(inp); + self + } + pub fn set_visibility_timeout(mut self, inp: i32) -> Self { + self.visibility_timeout = Some(inp); + self + } + ///

    The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. + /// If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.

    + /// + ///

    To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage + /// requests is longer than the WaitTimeSeconds parameter. For example, + /// with the Java SDK, you can set HTTP transport settings using the NettyNioAsyncHttpClient for asynchronous clients, or the ApacheHttpClient for synchronous clients.

    + ///
    + pub fn wait_time_seconds(mut self, inp: i32) -> Self { + self.wait_time_seconds = Some(inp); + self + } + pub fn set_wait_time_seconds(mut self, inp: i32) -> Self { + self.wait_time_seconds = Some(inp); + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, + /// it is possible to retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

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

      You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

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

      When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

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

      If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

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

      It is possible to retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

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

      During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, + /// it resets the visibility timeout. For more information, see + /// Visibility Timeout + /// in the Amazon Simple Queue Service Developer Guide.

      + /// + ///

      If a caller of the ReceiveMessage action still processes + /// messages when the visibility timeout expires and messages become visible, + /// another worker consuming from the same queue can receive the same messages + /// and therefore process duplicates. Also, if a consumer whose message + /// processing time is longer than the visibility timeout tries to delete the + /// processed messages, the action fails with an error.

      + ///

      To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

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

      While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive + /// messages with another MessageGroupId as long as it is also visible.

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

      If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but + /// the messages in the queue remain in a strict order.

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

    The maximum length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using ReceiveRequestAttemptId, see + /// Using the ReceiveRequestAttemptId Request Parameter + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn receive_request_attempt_id(mut self, inp: impl Into) -> Self { + self.receive_request_attempt_id = Some(inp.into()); + self + } + pub fn set_receive_request_attempt_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.receive_request_attempt_id = inp; + self + } + /// Consumes the builder and constructs a [`ReceiveMessageInput`](crate::input::ReceiveMessageInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::ReceiveMessageInput { + queue_url: self.queue_url, + attribute_names: self.attribute_names, + message_attribute_names: self.message_attribute_names, + max_number_of_messages: self.max_number_of_messages.unwrap_or_default(), + visibility_timeout: self.visibility_timeout.unwrap_or_default(), + wait_time_seconds: self.wait_time_seconds.unwrap_or_default(), + receive_request_attempt_id: self.receive_request_attempt_id, + }) + } + } +} +impl ReceiveMessageInput { + /// Consumes the builder and constructs an Operation<[`ReceiveMessage`](crate::operation::ReceiveMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::ReceiveMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_receive_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ReceiveMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ReceiveMessage", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`ReceiveMessageInput`](crate::input::ReceiveMessageInput) + pub fn builder() -> crate::input::receive_message_input::Builder { + crate::input::receive_message_input::Builder::default() + } +} + +/// See [`RemovePermissionInput`](crate::input::RemovePermissionInput) +pub mod remove_permission_input { + /// A builder for [`RemovePermissionInput`](crate::input::RemovePermissionInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) label: std::option::Option, + } + impl Builder { + ///

    The URL of the Amazon SQS queue from which permissions are removed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + ///

    The identification of the permission to remove. This is the label added using the + /// AddPermission + /// action.

    + pub fn label(mut self, inp: impl Into) -> Self { + self.label = Some(inp.into()); + self + } + pub fn set_label(mut self, inp: std::option::Option) -> Self { + self.label = inp; + self + } + /// Consumes the builder and constructs a [`RemovePermissionInput`](crate::input::RemovePermissionInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::RemovePermissionInput { + queue_url: self.queue_url, + label: self.label, + }) + } + } +} +impl RemovePermissionInput { + /// Consumes the builder and constructs an Operation<[`RemovePermission`](crate::operation::RemovePermission)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::RemovePermission, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_remove_permission(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::RemovePermission::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "RemovePermission", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`RemovePermissionInput`](crate::input::RemovePermissionInput) + pub fn builder() -> crate::input::remove_permission_input::Builder { + crate::input::remove_permission_input::Builder::default() + } +} + +/// See [`SendMessageInput`](crate::input::SendMessageInput) +pub mod send_message_input { + /// A builder for [`SendMessageInput`](crate::input::SendMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) message_body: std::option::Option, + pub(crate) delay_seconds: std::option::Option, + pub(crate) message_attributes: std::option::Option< + std::collections::HashMap, + >, + pub(crate) message_system_attributes: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + pub(crate) message_deduplication_id: std::option::Option, + pub(crate) message_group_id: std::option::Option, + } + impl Builder { + ///

    The URL of the Amazon SQS queue to which a message is sent.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + ///

    The message to send. The minimum size is one character. The maximum size is 256 KB.

    + /// + ///

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    + ///

    + /// #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF + ///

    + ///

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    + ///
    + pub fn message_body(mut self, inp: impl Into) -> Self { + self.message_body = Some(inp.into()); + self + } + pub fn set_message_body(mut self, inp: std::option::Option) -> Self { + self.message_body = inp; + self + } + ///

    + /// The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + /// If you don't specify a value, the default value for the queue applies. + ///

    + /// + ///

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    + ///
    + pub fn delay_seconds(mut self, inp: i32) -> Self { + self.delay_seconds = Some(inp); + self + } + pub fn set_delay_seconds(mut self, inp: i32) -> Self { + self.delay_seconds = Some(inp); + self + } + pub fn message_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.message_attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.message_attributes = Some(hash_map); + self + } + pub fn set_message_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.message_attributes = inp; + self + } + pub fn message_system_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.message_system_attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.message_system_attributes = Some(hash_map); + self + } + pub fn set_message_system_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + ) -> Self { + self.message_system_attributes = inp; + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId + /// are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see + /// Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

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

      Every message must have a unique MessageDeduplicationId,

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

        You may provide a MessageDeduplicationId explicitly.

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

        If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

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

        If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

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

        If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

        + ///
      • + ///
      + ///
    • + ///
    • + ///

      When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

      + ///
    • + ///
    • + ///

      If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

      + ///
    • + ///
    + /// + ///

    The MessageDeduplicationId is available to the consumer of the + /// message (this can be useful for troubleshooting delivery issues).

    + ///

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same + /// MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    + ///

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    + ///
    + ///

    The maximum length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageDeduplicationId, see + /// Using the MessageDeduplicationId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn message_deduplication_id(mut self, inp: impl Into) -> Self { + self.message_deduplication_id = Some(inp.into()); + self + } + pub fn set_message_deduplication_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.message_deduplication_id = inp; + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The tag that specifies that a message belongs to a specific message group. Messages + /// that belong to the same message group are processed in a FIFO manner (however, + /// messages in different message groups might be processed out of order). To interleave + /// multiple ordered streams within a single queue, use MessageGroupId values + /// (for example, session data for multiple users). In this scenario, multiple consumers can + /// process the queue, but the session data of each user is processed in a FIFO + /// fashion.

    + ///
      + ///
    • + ///

      You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

      + ///
    • + ///
    • + ///

      + /// ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't + /// specify a MessageGroupId.

      + ///
    • + ///
    + ///

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageGroupId, see + /// Using the MessageGroupId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    + /// MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    + ///
    + pub fn message_group_id(mut self, inp: impl Into) -> Self { + self.message_group_id = Some(inp.into()); + self + } + pub fn set_message_group_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.message_group_id = inp; + self + } + /// Consumes the builder and constructs a [`SendMessageInput`](crate::input::SendMessageInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::SendMessageInput { + queue_url: self.queue_url, + message_body: self.message_body, + delay_seconds: self.delay_seconds.unwrap_or_default(), + message_attributes: self.message_attributes, + message_system_attributes: self.message_system_attributes, + message_deduplication_id: self.message_deduplication_id, + message_group_id: self.message_group_id, + }) + } + } +} +impl SendMessageInput { + /// Consumes the builder and constructs an Operation<[`SendMessage`](crate::operation::SendMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::SendMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_send_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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SendMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("SendMessage", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`SendMessageInput`](crate::input::SendMessageInput) + pub fn builder() -> crate::input::send_message_input::Builder { + crate::input::send_message_input::Builder::default() + } +} + +/// See [`SendMessageBatchInput`](crate::input::SendMessageBatchInput) +pub mod send_message_batch_input { + /// A builder for [`SendMessageBatchInput`](crate::input::SendMessageBatchInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) entries: + std::option::Option>, + } + impl Builder { + ///

    The URL of the Amazon SQS queue to which batched messages are sent.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn entries( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.entries.unwrap_or_default(); + v.push(inp.into()); + self.entries = Some(v); + self + } + pub fn set_entries( + mut self, + inp: std::option::Option>, + ) -> Self { + self.entries = inp; + self + } + /// Consumes the builder and constructs a [`SendMessageBatchInput`](crate::input::SendMessageBatchInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::SendMessageBatchInput { + queue_url: self.queue_url, + entries: self.entries, + }) + } + } +} +impl SendMessageBatchInput { + /// Consumes the builder and constructs an Operation<[`SendMessageBatch`](crate::operation::SendMessageBatch)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::SendMessageBatch, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_send_message_batch(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SendMessageBatch::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "SendMessageBatch", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`SendMessageBatchInput`](crate::input::SendMessageBatchInput) + pub fn builder() -> crate::input::send_message_batch_input::Builder { + crate::input::send_message_batch_input::Builder::default() + } +} + +/// See [`SetQueueAttributesInput`](crate::input::SetQueueAttributesInput) +pub mod set_queue_attributes_input { + /// A builder for [`SetQueueAttributesInput`](crate::input::SetQueueAttributesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) attributes: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

    The URL of the Amazon SQS queue whose attributes are set.

    + ///

    Queue URLs and names are case-sensitive.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.attributes = Some(hash_map); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`SetQueueAttributesInput`](crate::input::SetQueueAttributesInput) + pub fn build( + self, + ) -> Result + { + Ok(crate::input::SetQueueAttributesInput { + queue_url: self.queue_url, + attributes: self.attributes, + }) + } + } +} +impl SetQueueAttributesInput { + /// Consumes the builder and constructs an Operation<[`SetQueueAttributes`](crate::operation::SetQueueAttributes)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::SetQueueAttributes, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_set_queue_attributes(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SetQueueAttributes::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "SetQueueAttributes", + "sqs", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`SetQueueAttributesInput`](crate::input::SetQueueAttributesInput) + pub fn builder() -> crate::input::set_queue_attributes_input::Builder { + crate::input::set_queue_attributes_input::Builder::default() + } +} + +/// See [`TagQueueInput`](crate::input::TagQueueInput) +pub mod tag_queue_input { + /// A builder for [`TagQueueInput`](crate::input::TagQueueInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

    The URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + 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, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`TagQueueInput`](crate::input::TagQueueInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::TagQueueInput { + queue_url: self.queue_url, + tags: self.tags, + }) + } + } +} +impl TagQueueInput { + /// Consumes the builder and constructs an Operation<[`TagQueue`](crate::operation::TagQueue)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::TagQueue, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_tag_queue(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = + smithy_http::operation::Operation::new(request, crate::operation::TagQueue::new()) + .with_metadata(smithy_http::operation::Metadata::new("TagQueue", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`TagQueueInput`](crate::input::TagQueueInput) + pub fn builder() -> crate::input::tag_queue_input::Builder { + crate::input::tag_queue_input::Builder::default() + } +} + +/// See [`UntagQueueInput`](crate::input::UntagQueueInput) +pub mod untag_queue_input { + /// A builder for [`UntagQueueInput`](crate::input::UntagQueueInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + pub(crate) tag_keys: std::option::Option>, + } + impl Builder { + ///

    The URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + pub fn tag_keys(mut self, inp: impl Into) -> Self { + let mut v = self.tag_keys.unwrap_or_default(); + v.push(inp.into()); + self.tag_keys = Some(v); + self + } + pub fn set_tag_keys( + mut self, + inp: std::option::Option>, + ) -> Self { + self.tag_keys = inp; + self + } + /// Consumes the builder and constructs a [`UntagQueueInput`](crate::input::UntagQueueInput) + pub fn build( + self, + ) -> Result { + Ok(crate::input::UntagQueueInput { + queue_url: self.queue_url, + tag_keys: self.tag_keys, + }) + } + } +} +impl UntagQueueInput { + /// Consumes the builder and constructs an Operation<[`UntagQueue`](crate::operation::UntagQueue)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> Result< + smithy_http::operation::Operation< + crate::operation::UntagQueue, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_untag_queue(&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 + .config_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.config_mut().insert(signing_config); + request + .config_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.config_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.config_mut().insert(region.clone()); + } + aws_auth::set_provider( + &mut request.config_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UntagQueue::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new("UntagQueue", "sqs")); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> Result { + Ok(http::request::Builder::new() + .method("POST") + .header("Content-Type", "application/x-www-form-urlencoded")) + } + 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 [`UntagQueueInput`](crate::input::UntagQueueInput) + pub fn builder() -> crate::input::untag_queue_input::Builder { + crate::input::untag_queue_input::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UntagQueueInput { + ///

    The URL of the queue.

    + pub queue_url: std::option::Option, + ///

    The list of tags to be removed from the specified queue.

    + pub tag_keys: std::option::Option>, +} +impl std::fmt::Debug for UntagQueueInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UntagQueueInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("tag_keys", &self.tag_keys); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TagQueueInput { + ///

    The URL of the queue.

    + pub queue_url: std::option::Option, + ///

    The list of tags to be added to the specified queue.

    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for TagQueueInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TagQueueInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SetQueueAttributesInput { + ///

    The URL of the Amazon SQS queue whose attributes are set.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    A map of attributes to set.

    + ///

    The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

    + ///
      + ///
    • + ///

      + /// DelaySeconds – The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 (15 minutes). Default: 0. + ///

      + ///
    • + ///
    • + ///

      + /// MaximumMessageSize – The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). + ///

      + ///
    • + ///
    • + ///

      + /// MessageRetentionPeriod – The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer representing seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). + ///

      + ///
    • + ///
    • + ///

      + /// Policy – The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies + /// in the Amazon IAM User Guide. + ///

      + ///
    • + ///
    • + ///

      + /// ReceiveMessageWaitTimeSeconds – The length of time, in seconds, for which a + /// ReceiveMessage + /// action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. + ///

      + ///
    • + ///
    • + ///

      + /// RedrivePolicy – The string that includes the parameters for the dead-letter queue functionality + /// of the source queue as a JSON object. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues + /// in the Amazon Simple Queue Service Developer Guide.

      + ///
        + ///
      • + ///

        + /// deadLetterTargetArn – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

        + ///
      • + ///
      • + ///

        + /// maxReceiveCount – The number of times a message is delivered to the source queue before being moved to the dead-letter queue. + /// When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

        + ///
      • + ///
      + /// + ///

      The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.

      + ///
      + ///
    • + ///
    • + ///

      + /// VisibilityTimeout – The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, + /// see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

      + ///
    • + ///
    + ///

    The following attributes apply only to server-side-encryption:

    + ///
      + ///
    • + ///

      + /// KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. + /// While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias + /// . + /// For more examples, see KeyId in the AWS Key Management Service API Reference. + ///

      + ///
    • + ///
    • + ///

      + /// KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt + /// or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security + /// but results in more calls to KMS which might incur charges after Free Tier. For more information, see + /// How Does the Data Key Reuse Period Work?. + ///

      + ///
    • + ///
    + ///

    The following attribute applies only to FIFO (first-in-first-out) queues:

    + ///
      + ///
    • + ///

      + /// ContentBasedDeduplication – Enables content-based deduplication. For more information, see Exactly-once processing in the + /// Amazon Simple Queue Service Developer Guide. Note the following: + ///

      + ///
        + ///
      • + ///

        Every message must have a unique MessageDeduplicationId.

        + ///
          + ///
        • + ///

          You may provide a MessageDeduplicationId explicitly.

          + ///
        • + ///
        • + ///

          If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

          + ///
        • + ///
        • + ///

          If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

          + ///
        • + ///
        • + ///

          If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

          + ///
        • + ///
        + ///
      • + ///
      • + ///

        When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

        + ///
      • + ///
      • + ///

        If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

        + ///
      • + ///
      + ///
    • + ///
    + ///

    The following attributes apply only to + /// high throughput + /// for FIFO queues:

    + ///
      + ///
    • + ///

      + /// DeduplicationScope – Specifies whether message deduplication occurs at the + /// message group or queue level. Valid values are messageGroup and queue.

      + ///
    • + ///
    • + ///

      + /// FifoThroughputLimit – Specifies whether the FIFO queue throughput + /// quota applies to the entire queue or per message group. Valid values are perQueue and perMessageGroupId. + /// The perMessageGroupId value is allowed only when the value for DeduplicationScope is messageGroup.

      + ///
    • + ///
    + ///

    To enable high throughput for FIFO queues, do the following:

    + ///
      + ///
    • + ///

      Set DeduplicationScope to messageGroup.

      + ///
    • + ///
    • + ///

      Set FifoThroughputLimit to perMessageGroupId.

      + ///
    • + ///
    + ///

    If you set these attributes to anything other than the values shown for enabling high + /// throughput, normal throughput is in effect and deduplication occurs as specified.

    + ///

    For information on throughput quotas, + /// see Quotas related to messages + /// in the Amazon Simple Queue Service Developer Guide.

    + pub attributes: std::option::Option< + std::collections::HashMap, + >, +} +impl std::fmt::Debug for SetQueueAttributesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SetQueueAttributesInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendMessageBatchInput { + ///

    The URL of the Amazon SQS queue to which batched messages are sent.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    A list of + /// SendMessageBatchRequestEntry + /// items.

    + pub entries: std::option::Option>, +} +impl std::fmt::Debug for SendMessageBatchInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendMessageBatchInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("entries", &self.entries); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendMessageInput { + ///

    The URL of the Amazon SQS queue to which a message is sent.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    The message to send. The minimum size is one character. The maximum size is 256 KB.

    + /// + ///

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    + ///

    + /// #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF + ///

    + ///

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    + ///
    + pub message_body: std::option::Option, + ///

    + /// The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + /// If you don't specify a value, the default value for the queue applies. + ///

    + /// + ///

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    + ///
    + pub delay_seconds: i32, + ///

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub message_attributes: std::option::Option< + std::collections::HashMap, + >, + ///

    The message system attribute to send. Each message system attribute consists of a Name, Type, and Value.

    + /// + ///
      + ///
    • + ///

      Currently, the only supported message system attribute is AWSTraceHeader. + /// Its type must be String and its value must be a correctly formatted + /// AWS X-Ray trace header string.

      + ///
    • + ///
    • + ///

      The size of a message system attribute doesn't count towards the total size of a message.

      + ///
    • + ///
    + ///
    + pub message_system_attributes: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId + /// are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see + /// Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

    + ///
      + ///
    • + ///

      Every message must have a unique MessageDeduplicationId,

      + ///
        + ///
      • + ///

        You may provide a MessageDeduplicationId explicitly.

        + ///
      • + ///
      • + ///

        If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

        + ///
      • + ///
      • + ///

        If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

        + ///
      • + ///
      • + ///

        If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

        + ///
      • + ///
      + ///
    • + ///
    • + ///

      When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

      + ///
    • + ///
    • + ///

      If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

      + ///
    • + ///
    + /// + ///

    The MessageDeduplicationId is available to the consumer of the + /// message (this can be useful for troubleshooting delivery issues).

    + ///

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same + /// MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    + ///

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    + ///
    + ///

    The maximum length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageDeduplicationId, see + /// Using the MessageDeduplicationId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + pub message_deduplication_id: std::option::Option, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The tag that specifies that a message belongs to a specific message group. Messages + /// that belong to the same message group are processed in a FIFO manner (however, + /// messages in different message groups might be processed out of order). To interleave + /// multiple ordered streams within a single queue, use MessageGroupId values + /// (for example, session data for multiple users). In this scenario, multiple consumers can + /// process the queue, but the session data of each user is processed in a FIFO + /// fashion.

    + ///
      + ///
    • + ///

      You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

      + ///
    • + ///
    • + ///

      + /// ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't + /// specify a MessageGroupId.

      + ///
    • + ///
    + ///

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageGroupId, see + /// Using the MessageGroupId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    + /// MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    + ///
    + pub message_group_id: std::option::Option, +} +impl std::fmt::Debug for SendMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendMessageInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("message_body", &self.message_body); + formatter.field("delay_seconds", &self.delay_seconds); + formatter.field("message_attributes", &self.message_attributes); + formatter.field("message_system_attributes", &self.message_system_attributes); + formatter.field("message_deduplication_id", &self.message_deduplication_id); + formatter.field("message_group_id", &self.message_group_id); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RemovePermissionInput { + ///

    The URL of the Amazon SQS queue from which permissions are removed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    The identification of the permission to remove. This is the label added using the + /// AddPermission + /// action.

    + pub label: std::option::Option, +} +impl std::fmt::Debug for RemovePermissionInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RemovePermissionInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("label", &self.label); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ReceiveMessageInput { + ///

    The URL of the Amazon SQS queue from which messages are received.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    A list of attributes that need to be returned along with each message. These attributes + /// include:

    + ///
      + ///
    • + ///

      + /// All – Returns all values.

      + ///
    • + ///
    • + ///

      + /// ApproximateFirstReceiveTimestamp – Returns the time the message was first received from the queue (epoch time in milliseconds).

      + ///
    • + ///
    • + ///

      + /// ApproximateReceiveCount – Returns the number of times a message has been received across all queues but not deleted.

      + ///
    • + ///
    • + ///

      + /// AWSTraceHeader – Returns the AWS X-Ray trace header string. + ///

      + ///
    • + ///
    • + ///

      + /// SenderId + ///

      + ///
        + ///
      • + ///

        For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R.

        + ///
      • + ///
      • + ///

        For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456.

        + ///
      • + ///
      + ///
    • + ///
    • + ///

      + /// SentTimestamp – Returns the time the message was sent to the queue (epoch time in milliseconds).

      + ///
    • + ///
    • + ///

      + /// MessageDeduplicationId – Returns the value provided by the + /// producer that calls the + /// SendMessage + /// + /// action.

      + ///
    • + ///
    • + ///

      + /// MessageGroupId – Returns the value provided by the producer that + /// calls the + /// SendMessage + /// action. Messages with the + /// same MessageGroupId are returned in sequence.

      + ///
    • + ///
    • + ///

      + /// SequenceNumber – Returns the value provided by Amazon SQS.

      + ///
    • + ///
    + pub attribute_names: std::option::Option>, + ///

    The name of the message attribute, where N is the index.

    + ///
      + ///
    • + ///

      The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.).

      + ///
    • + ///
    • + ///

      The name is case-sensitive and must be unique among all attribute names for the message.

      + ///
    • + ///
    • + ///

      The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants).

      + ///
    • + ///
    • + ///

      The name must not start or end with a period (.), and it should not have periods in succession (..).

      + ///
    • + ///
    • + ///

      The name can be up to 256 characters long.

      + ///
    • + ///
    + ///

    When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. + /// You can also use all message attributes starting with a prefix, for example bar.*.

    + pub message_attribute_names: std::option::Option>, + ///

    The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.

    + pub max_number_of_messages: i32, + ///

    The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.

    + pub visibility_timeout: i32, + ///

    The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. + /// If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.

    + /// + ///

    To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage + /// requests is longer than the WaitTimeSeconds parameter. For example, + /// with the Java SDK, you can set HTTP transport settings using the NettyNioAsyncHttpClient for asynchronous clients, or the ApacheHttpClient for synchronous clients.

    + ///
    + pub wait_time_seconds: i32, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, + /// it is possible to retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

    + ///
      + ///
    • + ///

      You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

      + ///
    • + ///
    • + ///

      When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

      + ///
    • + ///
    • + ///

      If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

      + ///
    • + ///
    • + ///

      It is possible to retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

      + ///
    • + ///
    • + ///

      During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, + /// it resets the visibility timeout. For more information, see + /// Visibility Timeout + /// in the Amazon Simple Queue Service Developer Guide.

      + /// + ///

      If a caller of the ReceiveMessage action still processes + /// messages when the visibility timeout expires and messages become visible, + /// another worker consuming from the same queue can receive the same messages + /// and therefore process duplicates. Also, if a consumer whose message + /// processing time is longer than the visibility timeout tries to delete the + /// processed messages, the action fails with an error.

      + ///

      To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

      + ///
      + ///
    • + ///
    • + ///

      While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive + /// messages with another MessageGroupId as long as it is also visible.

      + ///
    • + ///
    • + ///

      If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but + /// the messages in the queue remain in a strict order.

      + ///
    • + ///
    + ///

    The maximum length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using ReceiveRequestAttemptId, see + /// Using the ReceiveRequestAttemptId Request Parameter + /// in the Amazon Simple Queue Service Developer Guide.

    + pub receive_request_attempt_id: std::option::Option, +} +impl std::fmt::Debug for ReceiveMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ReceiveMessageInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("attribute_names", &self.attribute_names); + formatter.field("message_attribute_names", &self.message_attribute_names); + formatter.field("max_number_of_messages", &self.max_number_of_messages); + formatter.field("visibility_timeout", &self.visibility_timeout); + formatter.field("wait_time_seconds", &self.wait_time_seconds); + formatter.field( + "receive_request_attempt_id", + &self.receive_request_attempt_id, + ); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PurgeQueueInput { + ///

    The URL of the queue from which the PurgeQueue action deletes messages.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, +} +impl std::fmt::Debug for PurgeQueueInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PurgeQueueInput"); + formatter.field("queue_url", &self.queue_url); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListQueueTagsInput { + ///

    The URL of the queue.

    + pub queue_url: std::option::Option, +} +impl std::fmt::Debug for ListQueueTagsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListQueueTagsInput"); + formatter.field("queue_url", &self.queue_url); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListQueuesInput { + ///

    A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_name_prefix: std::option::Option, + ///

    Pagination token to request the next set of results.

    + pub next_token: std::option::Option, + ///

    Maximum number of results to include in the response. Value range is 1 to 1000. + /// You must set MaxResults to receive a value for NextToken in the response.

    + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListQueuesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListQueuesInput"); + formatter.field("queue_name_prefix", &self.queue_name_prefix); + 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 ListDeadLetterSourceQueuesInput { + ///

    The URL of a dead-letter queue.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    Pagination token to request the next set of results.

    + pub next_token: std::option::Option, + ///

    Maximum number of results to include in the response. Value range is 1 to 1000. + /// You must set MaxResults to receive a value for NextToken in the response.

    + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListDeadLetterSourceQueuesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListDeadLetterSourceQueuesInput"); + formatter.field("queue_url", &self.queue_url); + 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 GetQueueUrlInput { + ///

    The name of the queue whose URL must be fetched. Maximum 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_).

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_name: std::option::Option, + ///

    The AWS account ID of the account that created the queue.

    + pub queue_owner_aws_account_id: std::option::Option, +} +impl std::fmt::Debug for GetQueueUrlInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetQueueUrlInput"); + formatter.field("queue_name", &self.queue_name); + formatter.field( + "queue_owner_aws_account_id", + &self.queue_owner_aws_account_id, + ); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetQueueAttributesInput { + ///

    The URL of the Amazon SQS queue whose attribute information is retrieved.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    A list of attributes for which to retrieve information.

    + /// + ///

    In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    + ///
    + ///

    The following attributes are supported:

    + /// + ///

    The ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, + /// and ApproximateNumberOfMessagesVisible metrics may not achieve consistency + /// until at least 1 minute after the producers stop sending messages. This period is required for + /// the queue metadata to reach eventual consistency.

    + ///
    + ///
      + ///
    • + ///

      + /// All – Returns all values.

      + ///
    • + ///
    • + ///

      + /// ApproximateNumberOfMessages – Returns the approximate number of + /// messages available for retrieval from the queue.

      + ///
    • + ///
    • + ///

      + /// ApproximateNumberOfMessagesDelayed – Returns the approximate number + /// of messages in the queue that are delayed and not available for reading + /// immediately. This can happen when the queue is configured as a delay queue or + /// when a message has been sent with a delay parameter.

      + ///
    • + ///
    • + ///

      + /// ApproximateNumberOfMessagesNotVisible – Returns the approximate + /// number of messages that are in flight. Messages are considered to be + /// in flight if they have been sent to a client but have + /// not yet been deleted or have not yet reached the end of their visibility window.

      + ///
    • + ///
    • + ///

      + /// CreatedTimestamp – Returns the time when the queue was created in + /// seconds (epoch + /// time).

      + ///
    • + ///
    • + ///

      + /// DelaySeconds – Returns the default delay on the queue in + /// seconds.

      + ///
    • + ///
    • + ///

      + /// LastModifiedTimestamp – Returns the time when the queue was last + /// changed in seconds (epoch + /// time).

      + ///
    • + ///
    • + ///

      + /// MaximumMessageSize – Returns the limit of how many bytes a message + /// can contain before Amazon SQS rejects it.

      + ///
    • + ///
    • + ///

      + /// MessageRetentionPeriod – Returns the length of time, in seconds, + /// for which Amazon SQS retains a message.

      + ///
    • + ///
    • + ///

      + /// Policy – Returns the policy of the queue.

      + ///
    • + ///
    • + ///

      + /// QueueArn – Returns the Amazon resource name (ARN) of the + /// queue.

      + ///
    • + ///
    • + ///

      + /// ReceiveMessageWaitTimeSeconds – Returns the length of time, in + /// seconds, for which the ReceiveMessage action waits for a message to + /// arrive.

      + ///
    • + ///
    • + ///

      + /// RedrivePolicy – The string that includes the parameters for the dead-letter queue functionality + /// of the source queue as a JSON object. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues + /// in the Amazon Simple Queue Service Developer Guide.

      + ///
        + ///
      • + ///

        + /// deadLetterTargetArn – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

        + ///
      • + ///
      • + ///

        + /// maxReceiveCount – The number of times a message is delivered to the source queue before being moved to the dead-letter queue. + /// When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

        + ///
      • + ///
      + ///
    • + ///
    • + ///

      + /// VisibilityTimeout – Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. + ///

      + ///
    • + ///
    + ///

    The following attributes apply only to server-side-encryption:

    + ///
      + ///
    • + ///

      + /// KmsMasterKeyId – Returns the ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. + ///

      + ///
    • + ///
    • + ///

      + /// KmsDataKeyReusePeriodSeconds – Returns the length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. + /// For more information, see How Does the Data Key Reuse Period Work?. + ///

      + ///
    • + ///
    + ///

    The following attributes apply only to FIFO (first-in-first-out) queues:

    + ///
      + ///
    • + ///

      + /// FifoQueue – Returns information about whether the queue is FIFO. For more information, see FIFO queue logic in the Amazon Simple Queue Service Developer Guide.

      + /// + ///

      To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

      + ///
      + ///
    • + ///
    • + ///

      + /// ContentBasedDeduplication – Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-once processing in the Amazon Simple Queue Service Developer Guide. + ///

      + ///
    • + ///
    + ///

    The following attributes apply only to + /// high throughput + /// for FIFO queues:

    + ///
      + ///
    • + ///

      + /// DeduplicationScope – Specifies whether message deduplication occurs at the + /// message group or queue level. Valid values are messageGroup and queue.

      + ///
    • + ///
    • + ///

      + /// FifoThroughputLimit – Specifies whether the FIFO queue throughput + /// quota applies to the entire queue or per message group. Valid values are perQueue and perMessageGroupId. + /// The perMessageGroupId value is allowed only when the value for DeduplicationScope is messageGroup.

      + ///
    • + ///
    + ///

    To enable high throughput for FIFO queues, do the following:

    + ///
      + ///
    • + ///

      Set DeduplicationScope to messageGroup.

      + ///
    • + ///
    • + ///

      Set FifoThroughputLimit to perMessageGroupId.

      + ///
    • + ///
    + ///

    If you set these attributes to anything other than the values shown for enabling high + /// throughput, normal throughput is in effect and deduplication occurs as specified.

    + ///

    For information on throughput quotas, + /// see Quotas related to messages + /// in the Amazon Simple Queue Service Developer Guide.

    + pub attribute_names: std::option::Option>, +} +impl std::fmt::Debug for GetQueueAttributesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetQueueAttributesInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("attribute_names", &self.attribute_names); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteQueueInput { + ///

    The URL of the Amazon SQS queue to delete.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, +} +impl std::fmt::Debug for DeleteQueueInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteQueueInput"); + formatter.field("queue_url", &self.queue_url); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteMessageBatchInput { + ///

    The URL of the Amazon SQS queue from which messages are deleted.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    A list of receipt handles for the messages to be deleted.

    + pub entries: std::option::Option>, +} +impl std::fmt::Debug for DeleteMessageBatchInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteMessageBatchInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("entries", &self.entries); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteMessageInput { + ///

    The URL of the Amazon SQS queue from which messages are deleted.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    The receipt handle associated with the message to delete.

    + pub receipt_handle: std::option::Option, +} +impl std::fmt::Debug for DeleteMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteMessageInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("receipt_handle", &self.receipt_handle); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateQueueInput { + ///

    The name of the new queue. The following limits apply to this name:

    + ///
      + ///
    • + ///

      A queue name can have up to 80 characters.

      + ///
    • + ///
    • + ///

      Valid values: alphanumeric characters, hyphens (-), and underscores (_).

      + ///
    • + ///
    • + ///

      A FIFO queue name must end with the .fifo suffix.

      + ///
    • + ///
    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_name: std::option::Option, + ///

    Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    + ///

    When you use queue tags, keep the following guidelines in mind:

    + ///
      + ///
    • + ///

      Adding more than 50 tags to a queue isn't recommended.

      + ///
    • + ///
    • + ///

      Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

      + ///
    • + ///
    • + ///

      Tags are case-sensitive.

      + ///
    • + ///
    • + ///

      A new tag with a key identical to that of an existing tag overwrites the existing tag.

      + ///
    • + ///
    + ///

    For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    To be able to tag a queue on creation, you must have the + /// sqs:CreateQueue and sqs:TagQueue permissions.

    + ///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    + ///
    + pub tags: + std::option::Option>, + ///

    A map of attributes with their corresponding values.

    + ///

    The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

    + ///
      + ///
    • + ///

      + /// DelaySeconds – The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 seconds (15 minutes). Default: 0. + ///

      + ///
    • + ///
    • + ///

      + /// MaximumMessageSize – The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). + ///

      + ///
    • + ///
    • + ///

      + /// MessageRetentionPeriod – The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). + ///

      + ///
    • + ///
    • + ///

      + /// Policy – The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. + ///

      + ///
    • + ///
    • + ///

      + /// ReceiveMessageWaitTimeSeconds – The length of time, in seconds, for which a + /// ReceiveMessage + /// action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. + ///

      + ///
    • + ///
    • + ///

      + /// RedrivePolicy – The string that includes the parameters for the dead-letter queue functionality + /// of the source queue as a JSON object. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues + /// in the Amazon Simple Queue Service Developer Guide.

      + ///
        + ///
      • + ///

        + /// deadLetterTargetArn – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

        + ///
      • + ///
      • + ///

        + /// maxReceiveCount – The number of times a message is delivered to the source queue before being moved to the dead-letter queue. + /// When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

        + ///
      • + ///
      + /// + ///

      The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.

      + ///
      + ///
    • + ///
    • + ///

      + /// VisibilityTimeout – The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, see + /// Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

      + ///
    • + ///
    + ///

    The following attributes apply only to server-side-encryption:

    + ///
      + ///
    • + ///

      + /// KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. + /// While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias + /// . + /// For more examples, see KeyId in the AWS Key Management Service API Reference. + ///

      + ///
    • + ///
    • + ///

      + /// KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt + /// or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security + /// but results in more calls to KMS which might incur charges after Free Tier. For more information, see + /// How Does the Data Key Reuse Period Work?. + ///

      + ///
    • + ///
    + ///

    The following attributes apply only to FIFO (first-in-first-out) queues:

    + ///
      + ///
    • + ///

      + /// FifoQueue – Designates a queue as FIFO. Valid values are true and false. If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue. + /// You can provide this attribute only during queue creation. You can't change it for an existing queue. + /// When you set this attribute, you must also provide the MessageGroupId for your messages explicitly.

      + ///

      For more information, see + /// FIFO queue logic + /// in the Amazon Simple Queue Service Developer Guide.

      + ///
    • + ///
    • + ///

      + /// ContentBasedDeduplication – Enables content-based deduplication. Valid values are true and false. For more information, see Exactly-once processing in the + /// Amazon Simple Queue Service Developer Guide. Note the following: + ///

      + ///
        + ///
      • + ///

        Every message must have a unique MessageDeduplicationId.

        + ///
          + ///
        • + ///

          You may provide a MessageDeduplicationId explicitly.

          + ///
        • + ///
        • + ///

          If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

          + ///
        • + ///
        • + ///

          If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

          + ///
        • + ///
        • + ///

          If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

          + ///
        • + ///
        + ///
      • + ///
      • + ///

        When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

        + ///
      • + ///
      • + ///

        If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

        + ///
      • + ///
      + ///
    • + ///
    + ///

    The following attributes apply only to + /// high throughput + /// for FIFO queues:

    + ///
      + ///
    • + ///

      + /// DeduplicationScope – Specifies whether message deduplication occurs at the + /// message group or queue level. Valid values are messageGroup and queue.

      + ///
    • + ///
    • + ///

      + /// FifoThroughputLimit – Specifies whether the FIFO queue throughput + /// quota applies to the entire queue or per message group. Valid values are perQueue and perMessageGroupId. + /// The perMessageGroupId value is allowed only when the value for DeduplicationScope is messageGroup.

      + ///
    • + ///
    + ///

    To enable high throughput for FIFO queues, do the following:

    + ///
      + ///
    • + ///

      Set DeduplicationScope to messageGroup.

      + ///
    • + ///
    • + ///

      Set FifoThroughputLimit to perMessageGroupId.

      + ///
    • + ///
    + ///

    If you set these attributes to anything other than the values shown for enabling high + /// throughput, normal throughput is in effect and deduplication occurs as specified.

    + ///

    For information on throughput quotas, + /// see Quotas related to messages + /// in the Amazon Simple Queue Service Developer Guide.

    + pub attributes: std::option::Option< + std::collections::HashMap, + >, +} +impl std::fmt::Debug for CreateQueueInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateQueueInput"); + formatter.field("queue_name", &self.queue_name); + formatter.field("tags", &self.tags); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChangeMessageVisibilityBatchInput { + ///

    The URL of the Amazon SQS queue whose messages' visibility is changed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    A list of receipt handles of the messages for which the visibility timeout must be changed.

    + pub entries: + std::option::Option>, +} +impl std::fmt::Debug for ChangeMessageVisibilityBatchInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChangeMessageVisibilityBatchInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("entries", &self.entries); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChangeMessageVisibilityInput { + ///

    The URL of the Amazon SQS queue whose message's visibility is changed.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the + /// ReceiveMessage + /// action.

    + pub receipt_handle: std::option::Option, + ///

    The new value for the message's visibility timeout (in seconds). Values range: 0 to 43200. Maximum: 12 hours.

    + pub visibility_timeout: i32, +} +impl std::fmt::Debug for ChangeMessageVisibilityInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChangeMessageVisibilityInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("receipt_handle", &self.receipt_handle); + formatter.field("visibility_timeout", &self.visibility_timeout); + formatter.finish() + } +} + +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AddPermissionInput { + ///

    The URL of the Amazon SQS queue to which permissions are added.

    + ///

    Queue URLs and names are case-sensitive.

    + pub queue_url: std::option::Option, + ///

    The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

    + pub label: std::option::Option, + ///

    The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS + /// account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide.

    + pub aws_account_ids: std::option::Option>, + ///

    The action the client wants to allow for the specified principal. Valid values: the name of any action or *.

    + ///

    For more information about these actions, see Overview of Managing Access Permissions to Your Amazon Simple Queue Service Resource + /// in the Amazon Simple Queue Service Developer Guide.

    + ///

    Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, + /// DeleteMessageBatch, and ChangeMessageVisibilityBatch.

    + pub actions: std::option::Option>, +} +impl std::fmt::Debug for AddPermissionInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AddPermissionInput"); + formatter.field("queue_url", &self.queue_url); + formatter.field("label", &self.label); + formatter.field("aws_account_ids", &self.aws_account_ids); + formatter.field("actions", &self.actions); + formatter.finish() + } +} diff --git a/sdk/sqs/src/lib.rs b/sdk/sqs/src/lib.rs new file mode 100644 index 000000000000..9618e03eeeed --- /dev/null +++ b/sdk/sqs/src/lib.rs @@ -0,0 +1,104 @@ +#![allow(clippy::module_inception)] +#![allow(clippy::upper_case_acronyms)] +#![allow(clippy::large_enum_variant)] +#![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] +//!

    Welcome to the Amazon Simple Queue Service API Reference.

    +//!

    Amazon Simple Queue Service (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.

    +//!

    For information on the permissions you need to use this API, see +//! Identity and +//! access management in the Amazon Simple Queue Service Developer Guide. +//!

    +//!

    You can use AWS SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:

    +//!
      +//!
    • +//!

      Cryptographically sign your service requests

      +//!
    • +//!
    • +//!

      Retry requests

      +//!
    • +//!
    • +//!

      Handle error responses

      +//!
    • +//!
    +//!

    +//! Additional information +//!

    +//! + +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use error_meta::Error; + +pub use config::Config; + +#[cfg(feature = "client")] +pub mod client; +pub mod config; +pub mod error; +mod error_meta; +pub mod input; +pub mod model; +pub mod operation; +mod operation_deser; +mod operation_ser; +pub mod output; +mod query_ser; +mod rest_xml_wrapped_errors; +mod xml_deser; +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("sqs", 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/sqs/src/model.rs b/sdk/sqs/src/model.rs new file mode 100644 index 000000000000..440ff7a5240e --- /dev/null +++ b/sdk/sqs/src/model.rs @@ -0,0 +1,1530 @@ +// 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 QueueAttributeName { + All, + ApproximateNumberOfMessages, + ApproximateNumberOfMessagesDelayed, + ApproximateNumberOfMessagesNotVisible, + ContentBasedDeduplication, + CreatedTimestamp, + DeduplicationScope, + DelaySeconds, + FifoQueue, + FifoThroughputLimit, + KmsDataKeyReusePeriodSeconds, + KmsMasterKeyId, + LastModifiedTimestamp, + MaximumMessageSize, + MessageRetentionPeriod, + Policy, + QueueArn, + ReceiveMessageWaitTimeSeconds, + RedrivePolicy, + VisibilityTimeout, + Unknown(String), +} +impl std::convert::From<&str> for QueueAttributeName { + fn from(s: &str) -> Self { + match s { + "All" => QueueAttributeName::All, + "ApproximateNumberOfMessages" => QueueAttributeName::ApproximateNumberOfMessages, + "ApproximateNumberOfMessagesDelayed" => { + QueueAttributeName::ApproximateNumberOfMessagesDelayed + } + "ApproximateNumberOfMessagesNotVisible" => { + QueueAttributeName::ApproximateNumberOfMessagesNotVisible + } + "ContentBasedDeduplication" => QueueAttributeName::ContentBasedDeduplication, + "CreatedTimestamp" => QueueAttributeName::CreatedTimestamp, + "DeduplicationScope" => QueueAttributeName::DeduplicationScope, + "DelaySeconds" => QueueAttributeName::DelaySeconds, + "FifoQueue" => QueueAttributeName::FifoQueue, + "FifoThroughputLimit" => QueueAttributeName::FifoThroughputLimit, + "KmsDataKeyReusePeriodSeconds" => QueueAttributeName::KmsDataKeyReusePeriodSeconds, + "KmsMasterKeyId" => QueueAttributeName::KmsMasterKeyId, + "LastModifiedTimestamp" => QueueAttributeName::LastModifiedTimestamp, + "MaximumMessageSize" => QueueAttributeName::MaximumMessageSize, + "MessageRetentionPeriod" => QueueAttributeName::MessageRetentionPeriod, + "Policy" => QueueAttributeName::Policy, + "QueueArn" => QueueAttributeName::QueueArn, + "ReceiveMessageWaitTimeSeconds" => QueueAttributeName::ReceiveMessageWaitTimeSeconds, + "RedrivePolicy" => QueueAttributeName::RedrivePolicy, + "VisibilityTimeout" => QueueAttributeName::VisibilityTimeout, + other => QueueAttributeName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for QueueAttributeName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(QueueAttributeName::from(s)) + } +} +impl QueueAttributeName { + pub fn as_str(&self) -> &str { + match self { + QueueAttributeName::All => "All", + QueueAttributeName::ApproximateNumberOfMessages => "ApproximateNumberOfMessages", + QueueAttributeName::ApproximateNumberOfMessagesDelayed => { + "ApproximateNumberOfMessagesDelayed" + } + QueueAttributeName::ApproximateNumberOfMessagesNotVisible => { + "ApproximateNumberOfMessagesNotVisible" + } + QueueAttributeName::ContentBasedDeduplication => "ContentBasedDeduplication", + QueueAttributeName::CreatedTimestamp => "CreatedTimestamp", + QueueAttributeName::DeduplicationScope => "DeduplicationScope", + QueueAttributeName::DelaySeconds => "DelaySeconds", + QueueAttributeName::FifoQueue => "FifoQueue", + QueueAttributeName::FifoThroughputLimit => "FifoThroughputLimit", + QueueAttributeName::KmsDataKeyReusePeriodSeconds => "KmsDataKeyReusePeriodSeconds", + QueueAttributeName::KmsMasterKeyId => "KmsMasterKeyId", + QueueAttributeName::LastModifiedTimestamp => "LastModifiedTimestamp", + QueueAttributeName::MaximumMessageSize => "MaximumMessageSize", + QueueAttributeName::MessageRetentionPeriod => "MessageRetentionPeriod", + QueueAttributeName::Policy => "Policy", + QueueAttributeName::QueueArn => "QueueArn", + QueueAttributeName::ReceiveMessageWaitTimeSeconds => "ReceiveMessageWaitTimeSeconds", + QueueAttributeName::RedrivePolicy => "RedrivePolicy", + QueueAttributeName::VisibilityTimeout => "VisibilityTimeout", + QueueAttributeName::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for QueueAttributeName { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for QueueAttributeName { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

    Gives a detailed description of the result of an action on each entry in the +/// request.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchResultErrorEntry { + ///

    The Id of an entry in a batch request.

    + pub id: std::option::Option, + ///

    Specifies whether the error happened due to the caller of the batch API action.

    + pub sender_fault: bool, + ///

    An error code representing why the action failed on this entry.

    + pub code: std::option::Option, + ///

    A message explaining why the action failed on this entry.

    + pub message: std::option::Option, +} +impl std::fmt::Debug for BatchResultErrorEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchResultErrorEntry"); + formatter.field("id", &self.id); + formatter.field("sender_fault", &self.sender_fault); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +/// See [`BatchResultErrorEntry`](crate::model::BatchResultErrorEntry) +pub mod batch_result_error_entry { + /// A builder for [`BatchResultErrorEntry`](crate::model::BatchResultErrorEntry) + #[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) sender_fault: std::option::Option, + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + ///

    The Id of an entry in a batch request.

    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

    Specifies whether the error happened due to the caller of the batch API action.

    + pub fn sender_fault(mut self, inp: bool) -> Self { + self.sender_fault = Some(inp); + self + } + pub fn set_sender_fault(mut self, inp: bool) -> Self { + self.sender_fault = Some(inp); + self + } + ///

    An error code representing why the action failed on this entry.

    + pub fn code(mut self, inp: impl Into) -> Self { + self.code = Some(inp.into()); + self + } + pub fn set_code(mut self, inp: std::option::Option) -> Self { + self.code = inp; + self + } + ///

    A message explaining why the action failed on this entry.

    + pub fn message(mut self, inp: impl Into) -> Self { + self.message = Some(inp.into()); + self + } + pub fn set_message(mut self, inp: std::option::Option) -> Self { + self.message = inp; + self + } + /// Consumes the builder and constructs a [`BatchResultErrorEntry`](crate::model::BatchResultErrorEntry) + pub fn build(self) -> crate::model::BatchResultErrorEntry { + crate::model::BatchResultErrorEntry { + id: self.id, + sender_fault: self.sender_fault.unwrap_or_default(), + code: self.code, + message: self.message, + } + } + } +} +impl BatchResultErrorEntry { + /// Creates a new builder-style object to manufacture [`BatchResultErrorEntry`](crate::model::BatchResultErrorEntry) + pub fn builder() -> crate::model::batch_result_error_entry::Builder { + crate::model::batch_result_error_entry::Builder::default() + } +} + +///

    Encloses a MessageId for a successfully-enqueued message in a +/// SendMessageBatch. +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendMessageBatchResultEntry { + ///

    An identifier for the message in this batch.

    + pub id: std::option::Option, + ///

    An identifier for the message.

    + pub message_id: std::option::Option, + ///

    An MD5 digest of the non-URL-encoded message body string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub md5_of_message_body: std::option::Option, + ///

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub md5_of_message_attributes: std::option::Option, + ///

    An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub md5_of_message_system_attributes: std::option::Option, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The large, non-consecutive number that Amazon SQS assigns to each message.

    + ///

    The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

    + pub sequence_number: std::option::Option, +} +impl std::fmt::Debug for SendMessageBatchResultEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendMessageBatchResultEntry"); + formatter.field("id", &self.id); + formatter.field("message_id", &self.message_id); + formatter.field("md5_of_message_body", &self.md5_of_message_body); + formatter.field("md5_of_message_attributes", &self.md5_of_message_attributes); + formatter.field( + "md5_of_message_system_attributes", + &self.md5_of_message_system_attributes, + ); + formatter.field("sequence_number", &self.sequence_number); + formatter.finish() + } +} +/// See [`SendMessageBatchResultEntry`](crate::model::SendMessageBatchResultEntry) +pub mod send_message_batch_result_entry { + /// A builder for [`SendMessageBatchResultEntry`](crate::model::SendMessageBatchResultEntry) + #[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) message_id: std::option::Option, + pub(crate) md5_of_message_body: std::option::Option, + pub(crate) md5_of_message_attributes: std::option::Option, + pub(crate) md5_of_message_system_attributes: std::option::Option, + pub(crate) sequence_number: std::option::Option, + } + impl Builder { + ///

    An identifier for the message in this batch.

    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

    An identifier for the message.

    + pub fn message_id(mut self, inp: impl Into) -> Self { + self.message_id = Some(inp.into()); + self + } + pub fn set_message_id(mut self, inp: std::option::Option) -> Self { + self.message_id = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message body string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub fn md5_of_message_body(mut self, inp: impl Into) -> Self { + self.md5_of_message_body = Some(inp.into()); + self + } + pub fn set_md5_of_message_body( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_body = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub fn md5_of_message_attributes(mut self, inp: impl Into) -> Self { + self.md5_of_message_attributes = Some(inp.into()); + self + } + pub fn set_md5_of_message_attributes( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_attributes = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub fn md5_of_message_system_attributes( + mut self, + inp: impl Into, + ) -> Self { + self.md5_of_message_system_attributes = Some(inp.into()); + self + } + pub fn set_md5_of_message_system_attributes( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_system_attributes = inp; + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The large, non-consecutive number that Amazon SQS assigns to each message.

    + ///

    The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

    + pub fn sequence_number(mut self, inp: impl Into) -> Self { + self.sequence_number = Some(inp.into()); + self + } + pub fn set_sequence_number( + mut self, + inp: std::option::Option, + ) -> Self { + self.sequence_number = inp; + self + } + /// Consumes the builder and constructs a [`SendMessageBatchResultEntry`](crate::model::SendMessageBatchResultEntry) + pub fn build(self) -> crate::model::SendMessageBatchResultEntry { + crate::model::SendMessageBatchResultEntry { + id: self.id, + message_id: self.message_id, + md5_of_message_body: self.md5_of_message_body, + md5_of_message_attributes: self.md5_of_message_attributes, + md5_of_message_system_attributes: self.md5_of_message_system_attributes, + sequence_number: self.sequence_number, + } + } + } +} +impl SendMessageBatchResultEntry { + /// Creates a new builder-style object to manufacture [`SendMessageBatchResultEntry`](crate::model::SendMessageBatchResultEntry) + pub fn builder() -> crate::model::send_message_batch_result_entry::Builder { + crate::model::send_message_batch_result_entry::Builder::default() + } +} + +///

    Contains the details of a single Amazon SQS message along with an Id.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendMessageBatchRequestEntry { + ///

    An identifier for a message in this batch used to communicate the result.

    + /// + ///

    The Ids of a batch request need to be unique within a request.

    + ///

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    + ///
    + pub id: std::option::Option, + ///

    The body of the message.

    + pub message_body: std::option::Option, + ///

    The length of time, in seconds, for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + /// If you don't specify a value, the default value for the queue is applied. + ///

    + /// + ///

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    + ///
    + pub delay_seconds: i32, + ///

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub message_attributes: std::option::Option< + std::collections::HashMap, + >, + ///

    The message system attribute to send Each message system attribute consists of a Name, Type, and Value.

    + /// + ///
      + ///
    • + ///

      Currently, the only supported message system attribute is AWSTraceHeader. + /// Its type must be String and its value must be a correctly formatted + /// AWS X-Ray trace header string.

      + ///
    • + ///
    • + ///

      The size of a message system attribute doesn't count towards the total size of a message.

      + ///
    • + ///
    + ///
    + pub message_system_attributes: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular + /// MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are + /// accepted successfully but aren't delivered. For more information, see + /// Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

    + ///
      + ///
    • + ///

      Every message must have a unique MessageDeduplicationId,

      + ///
        + ///
      • + ///

        You may provide a MessageDeduplicationId explicitly.

        + ///
      • + ///
      • + ///

        If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

        + ///
      • + ///
      • + ///

        If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

        + ///
      • + ///
      • + ///

        If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

        + ///
      • + ///
      + ///
    • + ///
    • + ///

      When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

      + ///
    • + ///
    • + ///

      If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

      + ///
    • + ///
    + /// + ///

    The MessageDeduplicationId is available to the consumer of the + /// message (this can be useful for troubleshooting delivery issues).

    + ///

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same + /// MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    + ///

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    + ///
    + ///

    The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageDeduplicationId, see + /// Using the MessageDeduplicationId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + pub message_deduplication_id: std::option::Option, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The tag that specifies that a message belongs to a specific message group. Messages + /// that belong to the same message group are processed in a FIFO manner (however, + /// messages in different message groups might be processed out of order). To interleave + /// multiple ordered streams within a single queue, use MessageGroupId values + /// (for example, session data for multiple users). In this scenario, multiple consumers can + /// process the queue, but the session data of each user is processed in a FIFO + /// fashion.

    + ///
      + ///
    • + ///

      You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

      + ///
    • + ///
    • + ///

      + /// ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't + /// specify a MessageGroupId.

      + ///
    • + ///
    + ///

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageGroupId, see + /// Using the MessageGroupId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    + /// MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    + ///
    + pub message_group_id: std::option::Option, +} +impl std::fmt::Debug for SendMessageBatchRequestEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendMessageBatchRequestEntry"); + formatter.field("id", &self.id); + formatter.field("message_body", &self.message_body); + formatter.field("delay_seconds", &self.delay_seconds); + formatter.field("message_attributes", &self.message_attributes); + formatter.field("message_system_attributes", &self.message_system_attributes); + formatter.field("message_deduplication_id", &self.message_deduplication_id); + formatter.field("message_group_id", &self.message_group_id); + formatter.finish() + } +} +/// See [`SendMessageBatchRequestEntry`](crate::model::SendMessageBatchRequestEntry) +pub mod send_message_batch_request_entry { + /// A builder for [`SendMessageBatchRequestEntry`](crate::model::SendMessageBatchRequestEntry) + #[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) message_body: std::option::Option, + pub(crate) delay_seconds: std::option::Option, + pub(crate) message_attributes: std::option::Option< + std::collections::HashMap, + >, + pub(crate) message_system_attributes: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + pub(crate) message_deduplication_id: std::option::Option, + pub(crate) message_group_id: std::option::Option, + } + impl Builder { + ///

    An identifier for a message in this batch used to communicate the result.

    + /// + ///

    The Ids of a batch request need to be unique within a request.

    + ///

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    + ///
    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

    The body of the message.

    + pub fn message_body(mut self, inp: impl Into) -> Self { + self.message_body = Some(inp.into()); + self + } + pub fn set_message_body(mut self, inp: std::option::Option) -> Self { + self.message_body = inp; + self + } + ///

    The length of time, in seconds, for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + /// If you don't specify a value, the default value for the queue is applied. + ///

    + /// + ///

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    + ///
    + pub fn delay_seconds(mut self, inp: i32) -> Self { + self.delay_seconds = Some(inp); + self + } + pub fn set_delay_seconds(mut self, inp: i32) -> Self { + self.delay_seconds = Some(inp); + self + } + pub fn message_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.message_attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.message_attributes = Some(hash_map); + self + } + pub fn set_message_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.message_attributes = inp; + self + } + pub fn message_system_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.message_system_attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.message_system_attributes = Some(hash_map); + self + } + pub fn set_message_system_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeNameForSends, + crate::model::MessageSystemAttributeValue, + >, + >, + ) -> Self { + self.message_system_attributes = inp; + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular + /// MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are + /// accepted successfully but aren't delivered. For more information, see + /// Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

    + ///
      + ///
    • + ///

      Every message must have a unique MessageDeduplicationId,

      + ///
        + ///
      • + ///

        You may provide a MessageDeduplicationId explicitly.

        + ///
      • + ///
      • + ///

        If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, + /// Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). + ///

        + ///
      • + ///
      • + ///

        If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, + /// the action fails with an error.

        + ///
      • + ///
      • + ///

        If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

        + ///
      • + ///
      + ///
    • + ///
    • + ///

      When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates + /// and only one copy of the message is delivered.

      + ///
    • + ///
    • + ///

      If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same + /// as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. + ///

      + ///
    • + ///
    + /// + ///

    The MessageDeduplicationId is available to the consumer of the + /// message (this can be useful for troubleshooting delivery issues).

    + ///

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same + /// MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    + ///

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    + ///
    + ///

    The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and + /// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageDeduplicationId, see + /// Using the MessageDeduplicationId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + pub fn message_deduplication_id(mut self, inp: impl Into) -> Self { + self.message_deduplication_id = Some(inp.into()); + self + } + pub fn set_message_deduplication_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.message_deduplication_id = inp; + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The tag that specifies that a message belongs to a specific message group. Messages + /// that belong to the same message group are processed in a FIFO manner (however, + /// messages in different message groups might be processed out of order). To interleave + /// multiple ordered streams within a single queue, use MessageGroupId values + /// (for example, session data for multiple users). In this scenario, multiple consumers can + /// process the queue, but the session data of each user is processed in a FIFO + /// fashion.

    + ///
      + ///
    • + ///

      You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

      + ///
    • + ///
    • + ///

      + /// ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't + /// specify a MessageGroupId.

      + ///
    • + ///
    + ///

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

    + ///

    For best practices of using MessageGroupId, see + /// Using the MessageGroupId Property + /// in the Amazon Simple Queue Service Developer Guide.

    + /// + ///

    + /// MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    + ///
    + pub fn message_group_id(mut self, inp: impl Into) -> Self { + self.message_group_id = Some(inp.into()); + self + } + pub fn set_message_group_id( + mut self, + inp: std::option::Option, + ) -> Self { + self.message_group_id = inp; + self + } + /// Consumes the builder and constructs a [`SendMessageBatchRequestEntry`](crate::model::SendMessageBatchRequestEntry) + pub fn build(self) -> crate::model::SendMessageBatchRequestEntry { + crate::model::SendMessageBatchRequestEntry { + id: self.id, + message_body: self.message_body, + delay_seconds: self.delay_seconds.unwrap_or_default(), + message_attributes: self.message_attributes, + message_system_attributes: self.message_system_attributes, + message_deduplication_id: self.message_deduplication_id, + message_group_id: self.message_group_id, + } + } + } +} +impl SendMessageBatchRequestEntry { + /// Creates a new builder-style object to manufacture [`SendMessageBatchRequestEntry`](crate::model::SendMessageBatchRequestEntry) + pub fn builder() -> crate::model::send_message_batch_request_entry::Builder { + crate::model::send_message_batch_request_entry::Builder::default() + } +} + +///

    The user-specified message system attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see +/// SendMessage. +///

    +///

    +/// Name, type, value and the message body must not be empty or null.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MessageSystemAttributeValue { + ///

    Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

    + pub string_value: std::option::Option, + ///

    Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

    + pub binary_value: std::option::Option, + ///

    Not implemented. Reserved for future use.

    + pub string_list_values: std::option::Option>, + ///

    Not implemented. Reserved for future use.

    + pub binary_list_values: std::option::Option>, + ///

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    + ///

    You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub data_type: std::option::Option, +} +impl std::fmt::Debug for MessageSystemAttributeValue { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MessageSystemAttributeValue"); + formatter.field("string_value", &self.string_value); + formatter.field("binary_value", &self.binary_value); + formatter.field("string_list_values", &self.string_list_values); + formatter.field("binary_list_values", &self.binary_list_values); + formatter.field("data_type", &self.data_type); + formatter.finish() + } +} +/// See [`MessageSystemAttributeValue`](crate::model::MessageSystemAttributeValue) +pub mod message_system_attribute_value { + /// A builder for [`MessageSystemAttributeValue`](crate::model::MessageSystemAttributeValue) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) string_value: std::option::Option, + pub(crate) binary_value: std::option::Option, + pub(crate) string_list_values: std::option::Option>, + pub(crate) binary_list_values: std::option::Option>, + pub(crate) data_type: std::option::Option, + } + impl Builder { + ///

    Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

    + pub fn string_value(mut self, inp: impl Into) -> Self { + self.string_value = Some(inp.into()); + self + } + pub fn set_string_value(mut self, inp: std::option::Option) -> Self { + self.string_value = inp; + self + } + ///

    Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

    + pub fn binary_value(mut self, inp: smithy_types::Blob) -> Self { + self.binary_value = Some(inp); + self + } + pub fn set_binary_value(mut self, inp: std::option::Option) -> Self { + self.binary_value = inp; + self + } + pub fn string_list_values(mut self, inp: impl Into) -> Self { + let mut v = self.string_list_values.unwrap_or_default(); + v.push(inp.into()); + self.string_list_values = Some(v); + self + } + pub fn set_string_list_values( + mut self, + inp: std::option::Option>, + ) -> Self { + self.string_list_values = inp; + self + } + pub fn binary_list_values(mut self, inp: impl Into) -> Self { + let mut v = self.binary_list_values.unwrap_or_default(); + v.push(inp.into()); + self.binary_list_values = Some(v); + self + } + pub fn set_binary_list_values( + mut self, + inp: std::option::Option>, + ) -> Self { + self.binary_list_values = inp; + self + } + ///

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    + ///

    You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub fn data_type(mut self, inp: impl Into) -> Self { + self.data_type = Some(inp.into()); + self + } + pub fn set_data_type(mut self, inp: std::option::Option) -> Self { + self.data_type = inp; + self + } + /// Consumes the builder and constructs a [`MessageSystemAttributeValue`](crate::model::MessageSystemAttributeValue) + pub fn build(self) -> crate::model::MessageSystemAttributeValue { + crate::model::MessageSystemAttributeValue { + string_value: self.string_value, + binary_value: self.binary_value, + string_list_values: self.string_list_values, + binary_list_values: self.binary_list_values, + data_type: self.data_type, + } + } + } +} +impl MessageSystemAttributeValue { + /// Creates a new builder-style object to manufacture [`MessageSystemAttributeValue`](crate::model::MessageSystemAttributeValue) + pub fn builder() -> crate::model::message_system_attribute_value::Builder { + crate::model::message_system_attribute_value::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 MessageSystemAttributeNameForSends { + AwsTraceHeader, + Unknown(String), +} +impl std::convert::From<&str> for MessageSystemAttributeNameForSends { + fn from(s: &str) -> Self { + match s { + "AWSTraceHeader" => MessageSystemAttributeNameForSends::AwsTraceHeader, + other => MessageSystemAttributeNameForSends::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for MessageSystemAttributeNameForSends { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(MessageSystemAttributeNameForSends::from(s)) + } +} +impl MessageSystemAttributeNameForSends { + pub fn as_str(&self) -> &str { + match self { + MessageSystemAttributeNameForSends::AwsTraceHeader => "AWSTraceHeader", + MessageSystemAttributeNameForSends::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for MessageSystemAttributeNameForSends { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for MessageSystemAttributeNameForSends { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

    The user-specified message attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see +/// SendMessage. +///

    +///

    +/// Name, type, value and the message body must not be empty or null. All parts of the message attribute, including Name, Type, and Value, are part of the message size restriction (256 KB or 262,144 bytes).

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MessageAttributeValue { + ///

    Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

    + pub string_value: std::option::Option, + ///

    Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

    + pub binary_value: std::option::Option, + ///

    Not implemented. Reserved for future use.

    + pub string_list_values: std::option::Option>, + ///

    Not implemented. Reserved for future use.

    + pub binary_list_values: std::option::Option>, + ///

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    + ///

    You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub data_type: std::option::Option, +} +impl std::fmt::Debug for MessageAttributeValue { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MessageAttributeValue"); + formatter.field("string_value", &self.string_value); + formatter.field("binary_value", &self.binary_value); + formatter.field("string_list_values", &self.string_list_values); + formatter.field("binary_list_values", &self.binary_list_values); + formatter.field("data_type", &self.data_type); + formatter.finish() + } +} +/// See [`MessageAttributeValue`](crate::model::MessageAttributeValue) +pub mod message_attribute_value { + /// A builder for [`MessageAttributeValue`](crate::model::MessageAttributeValue) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) string_value: std::option::Option, + pub(crate) binary_value: std::option::Option, + pub(crate) string_list_values: std::option::Option>, + pub(crate) binary_list_values: std::option::Option>, + pub(crate) data_type: std::option::Option, + } + impl Builder { + ///

    Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

    + pub fn string_value(mut self, inp: impl Into) -> Self { + self.string_value = Some(inp.into()); + self + } + pub fn set_string_value(mut self, inp: std::option::Option) -> Self { + self.string_value = inp; + self + } + ///

    Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

    + pub fn binary_value(mut self, inp: smithy_types::Blob) -> Self { + self.binary_value = Some(inp); + self + } + pub fn set_binary_value(mut self, inp: std::option::Option) -> Self { + self.binary_value = inp; + self + } + pub fn string_list_values(mut self, inp: impl Into) -> Self { + let mut v = self.string_list_values.unwrap_or_default(); + v.push(inp.into()); + self.string_list_values = Some(v); + self + } + pub fn set_string_list_values( + mut self, + inp: std::option::Option>, + ) -> Self { + self.string_list_values = inp; + self + } + pub fn binary_list_values(mut self, inp: impl Into) -> Self { + let mut v = self.binary_list_values.unwrap_or_default(); + v.push(inp.into()); + self.binary_list_values = Some(v); + self + } + pub fn set_binary_list_values( + mut self, + inp: std::option::Option>, + ) -> Self { + self.binary_list_values = inp; + self + } + ///

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    + ///

    You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub fn data_type(mut self, inp: impl Into) -> Self { + self.data_type = Some(inp.into()); + self + } + pub fn set_data_type(mut self, inp: std::option::Option) -> Self { + self.data_type = inp; + self + } + /// Consumes the builder and constructs a [`MessageAttributeValue`](crate::model::MessageAttributeValue) + pub fn build(self) -> crate::model::MessageAttributeValue { + crate::model::MessageAttributeValue { + string_value: self.string_value, + binary_value: self.binary_value, + string_list_values: self.string_list_values, + binary_list_values: self.binary_list_values, + data_type: self.data_type, + } + } + } +} +impl MessageAttributeValue { + /// Creates a new builder-style object to manufacture [`MessageAttributeValue`](crate::model::MessageAttributeValue) + pub fn builder() -> crate::model::message_attribute_value::Builder { + crate::model::message_attribute_value::Builder::default() + } +} + +///

    An Amazon SQS message.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Message { + ///

    A unique identifier for the message. A MessageIdis considered unique across all AWS accounts for an extended period of time.

    + pub message_id: std::option::Option, + ///

    An identifier associated with the act of receiving the message. A new receipt handle is returned every time you receive a message. When deleting a message, you provide the last received receipt handle to delete the message.

    + pub receipt_handle: std::option::Option, + ///

    An MD5 digest of the non-URL-encoded message body string.

    + pub md5_of_body: std::option::Option, + ///

    The message's contents (not URL-encoded).

    + pub body: std::option::Option, + ///

    A map of the attributes requested in + /// ReceiveMessage + /// to their respective values. + /// Supported attributes:

    + ///
      + ///
    • + ///

      + /// ApproximateReceiveCount + ///

      + ///
    • + ///
    • + ///

      + /// ApproximateFirstReceiveTimestamp + ///

      + ///
    • + ///
    • + ///

      + /// MessageDeduplicationId + ///

      + ///
    • + ///
    • + ///

      + /// MessageGroupId + ///

      + ///
    • + ///
    • + ///

      + /// SenderId + ///

      + ///
    • + ///
    • + ///

      + /// SentTimestamp + ///

      + ///
    • + ///
    • + ///

      + /// SequenceNumber + ///

      + ///
    • + ///
    + ///

    + /// ApproximateFirstReceiveTimestamp and SentTimestamp are each returned as an integer representing the + /// epoch time in milliseconds.

    + pub attributes: std::option::Option< + std::collections::HashMap, + >, + ///

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub md5_of_message_attributes: std::option::Option, + ///

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    + pub message_attributes: std::option::Option< + std::collections::HashMap, + >, +} +impl std::fmt::Debug for Message { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Message"); + formatter.field("message_id", &self.message_id); + formatter.field("receipt_handle", &self.receipt_handle); + formatter.field("md5_of_body", &self.md5_of_body); + formatter.field("body", &self.body); + formatter.field("attributes", &self.attributes); + formatter.field("md5_of_message_attributes", &self.md5_of_message_attributes); + formatter.field("message_attributes", &self.message_attributes); + formatter.finish() + } +} +/// See [`Message`](crate::model::Message) +pub mod message { + /// A builder for [`Message`](crate::model::Message) + #[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) receipt_handle: std::option::Option, + pub(crate) md5_of_body: std::option::Option, + pub(crate) body: std::option::Option, + pub(crate) attributes: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeName, + std::string::String, + >, + >, + pub(crate) md5_of_message_attributes: std::option::Option, + pub(crate) message_attributes: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

    A unique identifier for the message. A MessageIdis considered unique across all AWS accounts for an extended period of time.

    + pub fn message_id(mut self, inp: impl Into) -> Self { + self.message_id = Some(inp.into()); + self + } + pub fn set_message_id(mut self, inp: std::option::Option) -> Self { + self.message_id = inp; + self + } + ///

    An identifier associated with the act of receiving the message. A new receipt handle is returned every time you receive a message. When deleting a message, you provide the last received receipt handle to delete the message.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.receipt_handle = Some(inp.into()); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.receipt_handle = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message body string.

    + pub fn md5_of_body(mut self, inp: impl Into) -> Self { + self.md5_of_body = Some(inp.into()); + self + } + pub fn set_md5_of_body(mut self, inp: std::option::Option) -> Self { + self.md5_of_body = inp; + self + } + ///

    The message's contents (not URL-encoded).

    + pub fn body(mut self, inp: impl Into) -> Self { + self.body = Some(inp.into()); + self + } + pub fn set_body(mut self, inp: std::option::Option) -> Self { + self.body = inp; + self + } + pub fn attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.attributes = Some(hash_map); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap< + crate::model::MessageSystemAttributeName, + std::string::String, + >, + >, + ) -> Self { + self.attributes = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub fn md5_of_message_attributes(mut self, inp: impl Into) -> Self { + self.md5_of_message_attributes = Some(inp.into()); + self + } + pub fn set_md5_of_message_attributes( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_attributes = inp; + self + } + pub fn message_attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.message_attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.message_attributes = Some(hash_map); + self + } + pub fn set_message_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.message_attributes = inp; + self + } + /// Consumes the builder and constructs a [`Message`](crate::model::Message) + pub fn build(self) -> crate::model::Message { + crate::model::Message { + message_id: self.message_id, + receipt_handle: self.receipt_handle, + md5_of_body: self.md5_of_body, + body: self.body, + attributes: self.attributes, + md5_of_message_attributes: self.md5_of_message_attributes, + message_attributes: self.message_attributes, + } + } + } +} +impl Message { + /// Creates a new builder-style object to manufacture [`Message`](crate::model::Message) + pub fn builder() -> crate::model::message::Builder { + crate::model::message::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 MessageSystemAttributeName { + AwsTraceHeader, + ApproximateFirstReceiveTimestamp, + ApproximateReceiveCount, + MessageDeduplicationId, + MessageGroupId, + SenderId, + SentTimestamp, + SequenceNumber, + Unknown(String), +} +impl std::convert::From<&str> for MessageSystemAttributeName { + fn from(s: &str) -> Self { + match s { + "AWSTraceHeader" => MessageSystemAttributeName::AwsTraceHeader, + "ApproximateFirstReceiveTimestamp" => { + MessageSystemAttributeName::ApproximateFirstReceiveTimestamp + } + "ApproximateReceiveCount" => MessageSystemAttributeName::ApproximateReceiveCount, + "MessageDeduplicationId" => MessageSystemAttributeName::MessageDeduplicationId, + "MessageGroupId" => MessageSystemAttributeName::MessageGroupId, + "SenderId" => MessageSystemAttributeName::SenderId, + "SentTimestamp" => MessageSystemAttributeName::SentTimestamp, + "SequenceNumber" => MessageSystemAttributeName::SequenceNumber, + other => MessageSystemAttributeName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for MessageSystemAttributeName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> Result { + Ok(MessageSystemAttributeName::from(s)) + } +} +impl MessageSystemAttributeName { + pub fn as_str(&self) -> &str { + match self { + MessageSystemAttributeName::AwsTraceHeader => "AWSTraceHeader", + MessageSystemAttributeName::ApproximateFirstReceiveTimestamp => { + "ApproximateFirstReceiveTimestamp" + } + MessageSystemAttributeName::ApproximateReceiveCount => "ApproximateReceiveCount", + MessageSystemAttributeName::MessageDeduplicationId => "MessageDeduplicationId", + MessageSystemAttributeName::MessageGroupId => "MessageGroupId", + MessageSystemAttributeName::SenderId => "SenderId", + MessageSystemAttributeName::SentTimestamp => "SentTimestamp", + MessageSystemAttributeName::SequenceNumber => "SequenceNumber", + MessageSystemAttributeName::Unknown(s) => s.as_ref(), + } + } +} +impl AsRef for MessageSystemAttributeName { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl<'de> serde::Deserialize<'de> for MessageSystemAttributeName { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let data = <&str>::deserialize(deserializer)?; + Ok(Self::from(data)) + } +} + +///

    Encloses the Id of an entry in +/// DeleteMessageBatch. +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteMessageBatchResultEntry { + ///

    Represents a successfully deleted message.

    + pub id: std::option::Option, +} +impl std::fmt::Debug for DeleteMessageBatchResultEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteMessageBatchResultEntry"); + formatter.field("id", &self.id); + formatter.finish() + } +} +/// See [`DeleteMessageBatchResultEntry`](crate::model::DeleteMessageBatchResultEntry) +pub mod delete_message_batch_result_entry { + /// A builder for [`DeleteMessageBatchResultEntry`](crate::model::DeleteMessageBatchResultEntry) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) id: std::option::Option, + } + impl Builder { + ///

    Represents a successfully deleted message.

    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + /// Consumes the builder and constructs a [`DeleteMessageBatchResultEntry`](crate::model::DeleteMessageBatchResultEntry) + pub fn build(self) -> crate::model::DeleteMessageBatchResultEntry { + crate::model::DeleteMessageBatchResultEntry { id: self.id } + } + } +} +impl DeleteMessageBatchResultEntry { + /// Creates a new builder-style object to manufacture [`DeleteMessageBatchResultEntry`](crate::model::DeleteMessageBatchResultEntry) + pub fn builder() -> crate::model::delete_message_batch_result_entry::Builder { + crate::model::delete_message_batch_result_entry::Builder::default() + } +} + +///

    Encloses a receipt handle and an identifier for it.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteMessageBatchRequestEntry { + ///

    An identifier for this particular receipt handle. This is used to communicate the result.

    + /// + ///

    The Ids of a batch request need to be unique within a request.

    + ///

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    + ///
    + pub id: std::option::Option, + ///

    A receipt handle.

    + pub receipt_handle: std::option::Option, +} +impl std::fmt::Debug for DeleteMessageBatchRequestEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteMessageBatchRequestEntry"); + formatter.field("id", &self.id); + formatter.field("receipt_handle", &self.receipt_handle); + formatter.finish() + } +} +/// See [`DeleteMessageBatchRequestEntry`](crate::model::DeleteMessageBatchRequestEntry) +pub mod delete_message_batch_request_entry { + /// A builder for [`DeleteMessageBatchRequestEntry`](crate::model::DeleteMessageBatchRequestEntry) + #[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) receipt_handle: std::option::Option, + } + impl Builder { + ///

    An identifier for this particular receipt handle. This is used to communicate the result.

    + /// + ///

    The Ids of a batch request need to be unique within a request.

    + ///

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    + ///
    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

    A receipt handle.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.receipt_handle = Some(inp.into()); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.receipt_handle = inp; + self + } + /// Consumes the builder and constructs a [`DeleteMessageBatchRequestEntry`](crate::model::DeleteMessageBatchRequestEntry) + pub fn build(self) -> crate::model::DeleteMessageBatchRequestEntry { + crate::model::DeleteMessageBatchRequestEntry { + id: self.id, + receipt_handle: self.receipt_handle, + } + } + } +} +impl DeleteMessageBatchRequestEntry { + /// Creates a new builder-style object to manufacture [`DeleteMessageBatchRequestEntry`](crate::model::DeleteMessageBatchRequestEntry) + pub fn builder() -> crate::model::delete_message_batch_request_entry::Builder { + crate::model::delete_message_batch_request_entry::Builder::default() + } +} + +///

    Encloses the Id of an entry in +/// ChangeMessageVisibilityBatch. +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChangeMessageVisibilityBatchResultEntry { + ///

    Represents a message whose visibility timeout has been changed successfully.

    + pub id: std::option::Option, +} +impl std::fmt::Debug for ChangeMessageVisibilityBatchResultEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChangeMessageVisibilityBatchResultEntry"); + formatter.field("id", &self.id); + formatter.finish() + } +} +/// See [`ChangeMessageVisibilityBatchResultEntry`](crate::model::ChangeMessageVisibilityBatchResultEntry) +pub mod change_message_visibility_batch_result_entry { + /// A builder for [`ChangeMessageVisibilityBatchResultEntry`](crate::model::ChangeMessageVisibilityBatchResultEntry) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) id: std::option::Option, + } + impl Builder { + ///

    Represents a message whose visibility timeout has been changed successfully.

    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + /// Consumes the builder and constructs a [`ChangeMessageVisibilityBatchResultEntry`](crate::model::ChangeMessageVisibilityBatchResultEntry) + pub fn build(self) -> crate::model::ChangeMessageVisibilityBatchResultEntry { + crate::model::ChangeMessageVisibilityBatchResultEntry { id: self.id } + } + } +} +impl ChangeMessageVisibilityBatchResultEntry { + /// Creates a new builder-style object to manufacture [`ChangeMessageVisibilityBatchResultEntry`](crate::model::ChangeMessageVisibilityBatchResultEntry) + pub fn builder() -> crate::model::change_message_visibility_batch_result_entry::Builder { + crate::model::change_message_visibility_batch_result_entry::Builder::default() + } +} + +///

    Encloses a receipt handle and an entry id for each message in +/// ChangeMessageVisibilityBatch. +///

    +/// +///

    All of the following list parameters must be prefixed with ChangeMessageVisibilityBatchRequestEntry.n, where n is an integer value starting with 1. For example, a parameter list for this action might look like this:

    +///
    +///

    +/// &ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2 +///

    +///

    +/// &ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=your_receipt_handle +///

    +///

    +/// &ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45 +///

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChangeMessageVisibilityBatchRequestEntry { + ///

    An identifier for this particular receipt handle used to communicate the result.

    + /// + ///

    The Ids of a batch request need to be unique within a request.

    + ///

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    + ///
    + pub id: std::option::Option, + ///

    A receipt handle.

    + pub receipt_handle: std::option::Option, + ///

    The new value (in seconds) for the message's visibility timeout.

    + pub visibility_timeout: i32, +} +impl std::fmt::Debug for ChangeMessageVisibilityBatchRequestEntry { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChangeMessageVisibilityBatchRequestEntry"); + formatter.field("id", &self.id); + formatter.field("receipt_handle", &self.receipt_handle); + formatter.field("visibility_timeout", &self.visibility_timeout); + formatter.finish() + } +} +/// See [`ChangeMessageVisibilityBatchRequestEntry`](crate::model::ChangeMessageVisibilityBatchRequestEntry) +pub mod change_message_visibility_batch_request_entry { + /// A builder for [`ChangeMessageVisibilityBatchRequestEntry`](crate::model::ChangeMessageVisibilityBatchRequestEntry) + #[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) receipt_handle: std::option::Option, + pub(crate) visibility_timeout: std::option::Option, + } + impl Builder { + ///

    An identifier for this particular receipt handle used to communicate the result.

    + /// + ///

    The Ids of a batch request need to be unique within a request.

    + ///

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    + ///
    + pub fn id(mut self, inp: impl Into) -> Self { + self.id = Some(inp.into()); + self + } + pub fn set_id(mut self, inp: std::option::Option) -> Self { + self.id = inp; + self + } + ///

    A receipt handle.

    + pub fn receipt_handle(mut self, inp: impl Into) -> Self { + self.receipt_handle = Some(inp.into()); + self + } + pub fn set_receipt_handle(mut self, inp: std::option::Option) -> Self { + self.receipt_handle = inp; + self + } + ///

    The new value (in seconds) for the message's visibility timeout.

    + pub fn visibility_timeout(mut self, inp: i32) -> Self { + self.visibility_timeout = Some(inp); + self + } + pub fn set_visibility_timeout(mut self, inp: i32) -> Self { + self.visibility_timeout = Some(inp); + self + } + /// Consumes the builder and constructs a [`ChangeMessageVisibilityBatchRequestEntry`](crate::model::ChangeMessageVisibilityBatchRequestEntry) + pub fn build(self) -> crate::model::ChangeMessageVisibilityBatchRequestEntry { + crate::model::ChangeMessageVisibilityBatchRequestEntry { + id: self.id, + receipt_handle: self.receipt_handle, + visibility_timeout: self.visibility_timeout.unwrap_or_default(), + } + } + } +} +impl ChangeMessageVisibilityBatchRequestEntry { + /// Creates a new builder-style object to manufacture [`ChangeMessageVisibilityBatchRequestEntry`](crate::model::ChangeMessageVisibilityBatchRequestEntry) + pub fn builder() -> crate::model::change_message_visibility_batch_request_entry::Builder { + crate::model::change_message_visibility_batch_request_entry::Builder::default() + } +} diff --git a/sdk/sqs/src/operation.rs b/sdk/sqs/src/operation.rs new file mode 100644 index 000000000000..93d72883a58e --- /dev/null +++ b/sdk/sqs/src/operation.rs @@ -0,0 +1,839 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

    Adds a permission to a queue for a specific +/// principal. +/// This allows sharing access to the queue.

    +///

    When you create a queue, you have full control access rights for the queue. +/// Only you, the owner of the queue, can grant or deny permissions to the queue. +/// For more information about these permissions, see +/// Allow +/// Developers to Write Messages to a Shared Queue in the Amazon Simple Queue Service Developer Guide.

    +/// +///
      +///
    • +///

      +/// AddPermission generates a policy for you. You can use +/// +/// SetQueueAttributes +/// to +/// upload your policy. For more information, see +/// Using Custom Policies with the Amazon SQS Access Policy Language in +/// the Amazon Simple Queue Service Developer Guide.

      +///
    • +///
    • +///

      An Amazon SQS policy can have a maximum of 7 actions.

      +///
    • +///
    • +///

      To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy.

      +///
    • +///
    +///
    +///

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    +///

    +/// &AttributeName.1=first +///

    +///

    +/// &AttributeName.2=second +///

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct AddPermission { + _private: (), +} +impl AddPermission { + /// Creates a new builder-style object to manufacture [`AddPermissionInput`](crate::input::AddPermissionInput) + pub fn builder() -> crate::input::add_permission_input::Builder { + crate::input::add_permission_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for AddPermission { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_add_permission_error(response) + } else { + crate::operation_deser::parse_add_permission_response(response) + } + } +} + +///

    Changes the visibility timeout of a specified message in a queue to a new value. The +/// default visibility timeout for a message is 30 seconds. The minimum is 0 seconds. The +/// maximum is 12 hours. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    +///

    For example, you have a message with a visibility timeout of 5 minutes. After 3 +/// minutes, you call ChangeMessageVisibility with a timeout of 10 minutes. You +/// can continue to call ChangeMessageVisibility to extend the visibility +/// timeout to the maximum allowed time. If you try to extend the visibility timeout beyond +/// the maximum, your request is rejected.

    +///

    An Amazon SQS message has three basic states:

    +///
      +///
    1. +///

      Sent to a queue by a producer.

      +///
    2. +///
    3. +///

      Received from the queue by a consumer.

      +///
    4. +///
    5. +///

      Deleted from the queue.

      +///
    6. +///
    +///

    A message is considered to be stored after it is sent to a queue by a producer, but not yet received from the queue by a consumer (that is, between states 1 and 2). There is no limit to the number of stored messages. +/// A message is considered to be in flight after it is received from a queue by a consumer, but not yet deleted from the queue (that is, between states 2 and 3). There is a limit to the number of inflight messages.

    +///

    Limits that apply to inflight messages are unrelated to the unlimited number of stored messages.

    +///

    For most standard queues (depending on queue traffic and message backlog), there can be a maximum of approximately 120,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). +/// If you reach this limit, Amazon SQS returns the OverLimit error message. +/// To avoid reaching the limit, you should delete messages from the queue after they're processed. You can also increase the number of queues you use to process your messages. +/// To request a limit increase, file a support request.

    +///

    For FIFO queues, there can be a maximum of 20,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). If you reach this limit, Amazon SQS returns no error messages.

    +/// +///

    If you attempt to set the VisibilityTimeout to a value greater than the maximum time left, Amazon SQS returns an error. Amazon SQS doesn't automatically recalculate and increase the timeout to the maximum remaining time.

    +///

    Unlike with a queue, when you change the visibility timeout for a specific message the timeout value is applied immediately but isn't saved in memory for that message. If you don't delete a message after it is received, the visibility timeout +/// for the message reverts to the original timeout value (not to the value you set using the ChangeMessageVisibility action) the next time the message is received.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ChangeMessageVisibility { + _private: (), +} +impl ChangeMessageVisibility { + /// Creates a new builder-style object to manufacture [`ChangeMessageVisibilityInput`](crate::input::ChangeMessageVisibilityInput) + pub fn builder() -> crate::input::change_message_visibility_input::Builder { + crate::input::change_message_visibility_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ChangeMessageVisibility { + type Output = Result< + crate::output::ChangeMessageVisibilityOutput, + crate::error::ChangeMessageVisibilityError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_change_message_visibility_error(response) + } else { + crate::operation_deser::parse_change_message_visibility_response(response) + } + } +} + +///

    Changes the visibility timeout of multiple messages. This is a batch version of +/// ChangeMessageVisibility. The result of the action on each message is reported individually in the response. +/// You can send up to 10 +/// ChangeMessageVisibility +/// requests with each ChangeMessageVisibilityBatch action.

    +/// +///

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    +///
    +///

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    +///

    +/// &AttributeName.1=first +///

    +///

    +/// &AttributeName.2=second +///

    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ChangeMessageVisibilityBatch { + _private: (), +} +impl ChangeMessageVisibilityBatch { + /// Creates a new builder-style object to manufacture [`ChangeMessageVisibilityBatchInput`](crate::input::ChangeMessageVisibilityBatchInput) + pub fn builder() -> crate::input::change_message_visibility_batch_input::Builder { + crate::input::change_message_visibility_batch_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ChangeMessageVisibilityBatch { + type Output = Result< + crate::output::ChangeMessageVisibilityBatchOutput, + crate::error::ChangeMessageVisibilityBatchError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_change_message_visibility_batch_error(response) + } else { + crate::operation_deser::parse_change_message_visibility_batch_response(response) + } + } +} + +///

    Creates a new standard or FIFO queue. You can pass one or more attributes in +/// the request. Keep the following in mind:

    +///
      +///
    • +///

      If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

      +/// +///

      You can't change the queue type after you create it and you can't convert +/// an existing standard queue into a FIFO queue. You must either create a new +/// FIFO queue for your application or delete your existing standard queue and +/// recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the +/// Amazon Simple Queue Service Developer Guide.

      +///
      +///
    • +///
    • +///

      If you don't provide a value for an attribute, the queue is created with the default value for the attribute.

      +///
    • +///
    • +///

      If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

      +///
    • +///
    +///

    To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

    +/// +///

    After you create a queue, you must wait at least one second after the queue is +/// created to be able to use the queue.

    +///
    +///

    To get the queue URL, use the +/// GetQueueUrl +/// action. +/// GetQueueUrl +/// requires only the QueueName parameter. +/// be aware of existing queue names:

    +///
      +///
    • +///

      If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue.

      +///
    • +///
    • +///

      If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error.

      +///
    • +///
    +///

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    +///

    +/// &AttributeName.1=first +///

    +///

    +/// &AttributeName.2=second +///

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateQueue { + _private: (), +} +impl CreateQueue { + /// Creates a new builder-style object to manufacture [`CreateQueueInput`](crate::input::CreateQueueInput) + pub fn builder() -> crate::input::create_queue_input::Builder { + crate::input::create_queue_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateQueue { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_create_queue_error(response) + } else { + crate::operation_deser::parse_create_queue_response(response) + } + } +} + +///

    Deletes the specified message from the specified queue. To select the message to +/// delete, use the ReceiptHandle of the message (not the +/// MessageId which you receive when you send the message). Amazon SQS can +/// delete a message from a queue even if a visibility timeout setting causes the message to +/// be locked by another consumer. Amazon SQS automatically deletes messages left in a queue +/// longer than the retention period configured for the queue.

    +/// +///

    The ReceiptHandle is associated with a specific +/// instance of receiving a message. If you receive a message more than +/// once, the ReceiptHandle is different each time you receive a message. +/// When you use the DeleteMessage action, you must provide the most +/// recently received ReceiptHandle for the message (otherwise, the request +/// succeeds, but the message might not be deleted).

    +///

    For standard queues, it is possible to receive a message even after you +/// delete it. This might happen on rare occasions if one of the servers which stores a +/// copy of the message is unavailable when you send the request to delete the message. +/// The copy remains on the server and might be returned to you during a subsequent +/// receive request. You should ensure that your application is idempotent, so that +/// receiving a message more than once does not cause issues.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteMessage { + _private: (), +} +impl DeleteMessage { + /// Creates a new builder-style object to manufacture [`DeleteMessageInput`](crate::input::DeleteMessageInput) + pub fn builder() -> crate::input::delete_message_input::Builder { + crate::input::delete_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteMessage { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_delete_message_error(response) + } else { + crate::operation_deser::parse_delete_message_response(response) + } + } +} + +///

    Deletes up to ten messages from the specified queue. This is a batch version of +/// DeleteMessage. The result of the action on each message is reported individually in the response.

    +/// +///

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    +///
    +///

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    +///

    +/// &AttributeName.1=first +///

    +///

    +/// &AttributeName.2=second +///

    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteMessageBatch { + _private: (), +} +impl DeleteMessageBatch { + /// Creates a new builder-style object to manufacture [`DeleteMessageBatchInput`](crate::input::DeleteMessageBatchInput) + pub fn builder() -> crate::input::delete_message_batch_input::Builder { + crate::input::delete_message_batch_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteMessageBatch { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_delete_message_batch_error(response) + } else { + crate::operation_deser::parse_delete_message_batch_response(response) + } + } +} + +///

    Deletes the queue specified by the QueueUrl, regardless of the queue's contents.

    +/// +///

    Be careful with the DeleteQueue action: When you delete a queue, any messages in the queue are no longer available. +///

    +///
    +///

    When you delete a queue, the deletion process takes up to 60 seconds. Requests you send involving that queue during the 60 seconds might succeed. For example, a +/// +/// SendMessage +/// request might succeed, but after 60 seconds the queue and the message you sent no longer exist.

    +///

    When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteQueue { + _private: (), +} +impl DeleteQueue { + /// Creates a new builder-style object to manufacture [`DeleteQueueInput`](crate::input::DeleteQueueInput) + pub fn builder() -> crate::input::delete_queue_input::Builder { + crate::input::delete_queue_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteQueue { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_delete_queue_error(response) + } else { + crate::operation_deser::parse_delete_queue_response(response) + } + } +} + +///

    Gets attributes for the specified queue.

    +/// +///

    To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetQueueAttributes { + _private: (), +} +impl GetQueueAttributes { + /// Creates a new builder-style object to manufacture [`GetQueueAttributesInput`](crate::input::GetQueueAttributesInput) + pub fn builder() -> crate::input::get_queue_attributes_input::Builder { + crate::input::get_queue_attributes_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetQueueAttributes { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_queue_attributes_error(response) + } else { + crate::operation_deser::parse_get_queue_attributes_response(response) + } + } +} + +///

    Returns the URL of an existing Amazon SQS queue.

    +///

    To access a queue that belongs to another AWS account, use the QueueOwnerAWSAccountId parameter to specify the account ID of the queue's owner. The queue's owner must grant you permission to access the queue. +/// For more information about shared queue access, see +/// AddPermission +/// or see Allow Developers to Write Messages to a Shared Queue in the Amazon Simple Queue Service Developer Guide. +///

    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetQueueUrl { + _private: (), +} +impl GetQueueUrl { + /// Creates a new builder-style object to manufacture [`GetQueueUrlInput`](crate::input::GetQueueUrlInput) + pub fn builder() -> crate::input::get_queue_url_input::Builder { + crate::input::get_queue_url_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetQueueUrl { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_queue_url_error(response) + } else { + crate::operation_deser::parse_get_queue_url_response(response) + } + } +} + +///

    Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead-letter queue.

    +///

    The ListDeadLetterSourceQueues methods supports +/// pagination. Set parameter MaxResults in the request to specify the maximum number of +/// results to be returned in the response. If you do not set MaxResults, +/// the response includes a maximum of 1,000 results. If you set MaxResults and there are additional results to +/// display, the response includes a value for NextToken. Use +/// NextToken as a parameter in your next request to +/// ListDeadLetterSourceQueues to receive the next page of results.

    +///

    For more information about using dead-letter queues, see Using Amazon SQS Dead-Letter Queues +/// in the Amazon Simple Queue Service Developer Guide.

    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListDeadLetterSourceQueues { + _private: (), +} +impl ListDeadLetterSourceQueues { + /// Creates a new builder-style object to manufacture [`ListDeadLetterSourceQueuesInput`](crate::input::ListDeadLetterSourceQueuesInput) + pub fn builder() -> crate::input::list_dead_letter_source_queues_input::Builder { + crate::input::list_dead_letter_source_queues_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListDeadLetterSourceQueues { + type Output = Result< + crate::output::ListDeadLetterSourceQueuesOutput, + crate::error::ListDeadLetterSourceQueuesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_dead_letter_source_queues_error(response) + } else { + crate::operation_deser::parse_list_dead_letter_source_queues_response(response) + } + } +} + +///

    Returns a list of your queues in the current region. The response includes a maximum of 1,000 results. If you specify a value for the optional +/// QueueNamePrefix parameter, only queues with a name that begins with the specified value are returned.

    +///

    The listQueues methods supports +/// pagination. Set parameter MaxResults in the request to specify the maximum number of +/// results to be returned in the response. If you do not set MaxResults, +/// the response includes a maximum of 1,000 results. If you set MaxResults and there are additional results to +/// display, the response includes a value for NextToken. Use +/// NextToken as a parameter in your next request to +/// listQueues to receive the next page of results.

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListQueues { + _private: (), +} +impl ListQueues { + /// Creates a new builder-style object to manufacture [`ListQueuesInput`](crate::input::ListQueuesInput) + pub fn builder() -> crate::input::list_queues_input::Builder { + crate::input::list_queues_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListQueues { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_queues_error(response) + } else { + crate::operation_deser::parse_list_queues_response(response) + } + } +} + +///

    List all cost allocation tags added to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListQueueTags { + _private: (), +} +impl ListQueueTags { + /// Creates a new builder-style object to manufacture [`ListQueueTagsInput`](crate::input::ListQueueTagsInput) + pub fn builder() -> crate::input::list_queue_tags_input::Builder { + crate::input::list_queue_tags_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListQueueTags { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_queue_tags_error(response) + } else { + crate::operation_deser::parse_list_queue_tags_response(response) + } + } +} + +///

    Deletes the messages in a queue specified by the QueueURL +/// parameter.

    +/// +///

    When you use the PurgeQueue action, you can't retrieve any messages +/// deleted from a queue.

    +///

    The message deletion process takes up to 60 seconds. We recommend waiting for +/// 60 seconds regardless of your queue's size.

    +///
    +///

    Messages sent to the queue before you call +/// PurgeQueue might be received but are deleted within the next +/// minute.

    +///

    Messages sent to the queue after you call +/// PurgeQueue might be deleted while the queue is being purged.

    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PurgeQueue { + _private: (), +} +impl PurgeQueue { + /// Creates a new builder-style object to manufacture [`PurgeQueueInput`](crate::input::PurgeQueueInput) + pub fn builder() -> crate::input::purge_queue_input::Builder { + crate::input::purge_queue_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PurgeQueue { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_purge_queue_error(response) + } else { + crate::operation_deser::parse_purge_queue_response(response) + } + } +} + +///

    Retrieves one or more messages (up to 10), from the specified queue. Using the WaitTimeSeconds parameter enables long-poll support. +/// For more information, see Amazon SQS Long Polling in the Amazon Simple Queue Service Developer Guide. +///

    +///

    Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. Thus, only the messages on the sampled machines are returned. +/// If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, +/// you might not receive any messages in a particular ReceiveMessage response. If this happens, repeat the request. +///

    +///

    For each message returned, the response includes the following:

    +///
      +///
    • +///

      The message body.

      +///
    • +///
    • +///

      An MD5 digest of the message body. For information about MD5, see RFC1321.

      +///
    • +///
    • +///

      The MessageId you received when you sent the message to the queue.

      +///
    • +///
    • +///

      The receipt handle.

      +///
    • +///
    • +///

      The message attributes.

      +///
    • +///
    • +///

      An MD5 digest of the message attributes.

      +///
    • +///
    +///

    The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue +/// and Message Identifiers in the Amazon Simple Queue Service Developer Guide.

    +///

    You can provide the VisibilityTimeout parameter in your request. The parameter is applied to the messages that Amazon SQS returns in the response. If you don't include the parameter, the overall visibility timeout for the queue +/// is used for the returned messages. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    +///

    A message that isn't deleted or a message whose visibility isn't extended before the visibility timeout expires counts as a failed receive. Depending on the configuration of the queue, the message might be sent to the dead-letter queue.

    +/// +///

    In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ReceiveMessage { + _private: (), +} +impl ReceiveMessage { + /// Creates a new builder-style object to manufacture [`ReceiveMessageInput`](crate::input::ReceiveMessageInput) + pub fn builder() -> crate::input::receive_message_input::Builder { + crate::input::receive_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ReceiveMessage { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_receive_message_error(response) + } else { + crate::operation_deser::parse_receive_message_response(response) + } + } +} + +///

    Revokes any permissions in the queue policy that matches the specified Label parameter.

    +/// +///
      +///
    • +///

      Only the owner of a queue can remove permissions from it.

      +///
    • +///
    • +///

      Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

      +///
    • +///
    • +///

      To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy.

      +///
    • +///
    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct RemovePermission { + _private: (), +} +impl RemovePermission { + /// Creates a new builder-style object to manufacture [`RemovePermissionInput`](crate::input::RemovePermissionInput) + pub fn builder() -> crate::input::remove_permission_input::Builder { + crate::input::remove_permission_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for RemovePermission { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_remove_permission_error(response) + } else { + crate::operation_deser::parse_remove_permission_response(response) + } + } +} + +///

    Delivers a message to the specified queue.

    +/// +///

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    +///

    +/// #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF +///

    +///

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SendMessage { + _private: (), +} +impl SendMessage { + /// Creates a new builder-style object to manufacture [`SendMessageInput`](crate::input::SendMessageInput) + pub fn builder() -> crate::input::send_message_input::Builder { + crate::input::send_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SendMessage { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_send_message_error(response) + } else { + crate::operation_deser::parse_send_message_response(response) + } + } +} + +///

    Delivers up to ten messages to the specified queue. This is a batch version of +/// SendMessage. For a FIFO queue, multiple messages within a single batch are enqueued in the order they are sent.

    +///

    The result of sending each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    +///

    The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes).

    +/// +///

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    +///

    +/// #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF +///

    +///

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    +///
    +///

    If you don't specify the DelaySeconds parameter for an entry, Amazon SQS uses the default value for the queue.

    +///

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    +///

    +/// &AttributeName.1=first +///

    +///

    +/// &AttributeName.2=second +///

    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SendMessageBatch { + _private: (), +} +impl SendMessageBatch { + /// Creates a new builder-style object to manufacture [`SendMessageBatchInput`](crate::input::SendMessageBatchInput) + pub fn builder() -> crate::input::send_message_batch_input::Builder { + crate::input::send_message_batch_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SendMessageBatch { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_send_message_batch_error(response) + } else { + crate::operation_deser::parse_send_message_batch_response(response) + } + } +} + +///

    Sets the value of one or more queue attributes. When you change a queue's attributes, the change can take up to 60 seconds for most of the attributes to propagate throughout the Amazon SQS system. +/// Changes made to the MessageRetentionPeriod attribute can take up to 15 minutes.

    +/// +///
      +///
    • +///

      In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

      +///
    • +///
    • +///

      Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

      +///
    • +///
    • +///

      To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy.

      +///
    • +///
    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SetQueueAttributes { + _private: (), +} +impl SetQueueAttributes { + /// Creates a new builder-style object to manufacture [`SetQueueAttributesInput`](crate::input::SetQueueAttributesInput) + pub fn builder() -> crate::input::set_queue_attributes_input::Builder { + crate::input::set_queue_attributes_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SetQueueAttributes { + type Output = + Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_set_queue_attributes_error(response) + } else { + crate::operation_deser::parse_set_queue_attributes_response(response) + } + } +} + +///

    Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    +///

    When you use queue tags, keep the following guidelines in mind:

    +///
      +///
    • +///

      Adding more than 50 tags to a queue isn't recommended.

      +///
    • +///
    • +///

      Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

      +///
    • +///
    • +///

      Tags are case-sensitive.

      +///
    • +///
    • +///

      A new tag with a key identical to that of an existing tag overwrites the existing tag.

      +///
    • +///
    +///

    For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct TagQueue { + _private: (), +} +impl TagQueue { + /// Creates a new builder-style object to manufacture [`TagQueueInput`](crate::input::TagQueueInput) + pub fn builder() -> crate::input::tag_queue_input::Builder { + crate::input::tag_queue_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for TagQueue { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_tag_queue_error(response) + } else { + crate::operation_deser::parse_tag_queue_response(response) + } + } +} + +///

    Remove cost allocation tags from the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    +/// +///

    Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a user name in the Amazon Simple Queue Service Developer Guide.

    +///
    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UntagQueue { + _private: (), +} +impl UntagQueue { + /// Creates a new builder-style object to manufacture [`UntagQueueInput`](crate::input::UntagQueueInput) + pub fn builder() -> crate::input::untag_queue_input::Builder { + crate::input::untag_queue_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UntagQueue { + type Output = Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_untag_queue_error(response) + } else { + crate::operation_deser::parse_untag_queue_response(response) + } + } +} diff --git a/sdk/sqs/src/operation_deser.rs b/sdk/sqs/src/operation_deser.rs new file mode 100644 index 000000000000..4882fbdf4ab9 --- /dev/null +++ b/sdk/sqs/src/operation_deser.rs @@ -0,0 +1,924 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn parse_add_permission_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::AddPermissionError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::AddPermissionError::unhandled(generic)), + }; + Err(match error_code { + "OverLimit" => crate::error::AddPermissionError { + meta: generic, + kind: crate::error::AddPermissionErrorKind::OverLimit({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::over_limit::Builder::default(); + output = crate::xml_deser::over_limit(response.body().as_ref(), output) + .map_err(crate::error::AddPermissionError::unhandled)?; + output.build() + }), + }, + _ => crate::error::AddPermissionError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_add_permission_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::add_permission_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_change_message_visibility_error( + response: &http::Response, +) -> Result +{ + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::ChangeMessageVisibilityError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ChangeMessageVisibilityError::unhandled( + generic, + )) + } + }; + Err(match error_code { + "MessageNotInflight" => crate::error::ChangeMessageVisibilityError { + meta: generic, + kind: crate::error::ChangeMessageVisibilityErrorKind::MessageNotInflight({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::message_not_inflight::Builder::default(); + output = crate::xml_deser::message_not_inflight(response.body().as_ref(), output) + .map_err(crate::error::ChangeMessageVisibilityError::unhandled)?; + output.build() + }), + }, + "ReceiptHandleIsInvalid" => crate::error::ChangeMessageVisibilityError { + meta: generic, + kind: crate::error::ChangeMessageVisibilityErrorKind::ReceiptHandleIsInvalid({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::receipt_handle_is_invalid::Builder::default(); + output = + crate::xml_deser::receipt_handle_is_invalid(response.body().as_ref(), output) + .map_err(crate::error::ChangeMessageVisibilityError::unhandled)?; + output.build() + }), + }, + _ => crate::error::ChangeMessageVisibilityError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_change_message_visibility_response( + response: &http::Response, +) -> Result +{ + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::change_message_visibility_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_change_message_visibility_batch_error( + response: &http::Response, +) -> Result< + crate::output::ChangeMessageVisibilityBatchOutput, + crate::error::ChangeMessageVisibilityBatchError, +> { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::ChangeMessageVisibilityBatchError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ChangeMessageVisibilityBatchError::unhandled( + generic, + )) + } + }; + Err(match error_code { + "BatchEntryIdsNotDistinct" => crate::error::ChangeMessageVisibilityBatchError { + meta: generic, + kind: crate::error::ChangeMessageVisibilityBatchErrorKind::BatchEntryIdsNotDistinct({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::batch_entry_ids_not_distinct::Builder::default(); + output = crate::xml_deser::batch_entry_ids_not_distinct( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ChangeMessageVisibilityBatchError::unhandled)?; + output.build() + }), + }, + "EmptyBatchRequest" => crate::error::ChangeMessageVisibilityBatchError { + meta: generic, + kind: crate::error::ChangeMessageVisibilityBatchErrorKind::EmptyBatchRequest({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::empty_batch_request::Builder::default(); + output = crate::xml_deser::empty_batch_request(response.body().as_ref(), output) + .map_err(crate::error::ChangeMessageVisibilityBatchError::unhandled)?; + output.build() + }), + }, + "InvalidBatchEntryId" => crate::error::ChangeMessageVisibilityBatchError { + meta: generic, + kind: crate::error::ChangeMessageVisibilityBatchErrorKind::InvalidBatchEntryId({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_batch_entry_id::Builder::default(); + output = crate::xml_deser::invalid_batch_entry_id(response.body().as_ref(), output) + .map_err(crate::error::ChangeMessageVisibilityBatchError::unhandled)?; + output.build() + }), + }, + "TooManyEntriesInBatchRequest" => crate::error::ChangeMessageVisibilityBatchError { + meta: generic, + kind: crate::error::ChangeMessageVisibilityBatchErrorKind::TooManyEntriesInBatchRequest( + { + let _ = response; + #[allow(unused_mut)] + let mut output = + crate::error::too_many_entries_in_batch_request::Builder::default(); + output = crate::xml_deser::too_many_entries_in_batch_request( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ChangeMessageVisibilityBatchError::unhandled)?; + output.build() + }, + ), + }, + _ => crate::error::ChangeMessageVisibilityBatchError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_change_message_visibility_batch_response( + response: &http::Response, +) -> Result< + crate::output::ChangeMessageVisibilityBatchOutput, + crate::error::ChangeMessageVisibilityBatchError, +> { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::change_message_visibility_batch_output::Builder::default(); + output = crate::xml_deser::deser_operation_change_message_visibility_batch( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ChangeMessageVisibilityBatchError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_queue_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::CreateQueueError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateQueueError::unhandled(generic)), + }; + Err(match error_code { + "QueueDeletedRecently" => crate::error::CreateQueueError { + meta: generic, + kind: crate::error::CreateQueueErrorKind::QueueDeletedRecently({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::queue_deleted_recently::Builder::default(); + output = crate::xml_deser::queue_deleted_recently(response.body().as_ref(), output) + .map_err(crate::error::CreateQueueError::unhandled)?; + output.build() + }), + }, + "QueueNameExists" => crate::error::CreateQueueError { + meta: generic, + kind: crate::error::CreateQueueErrorKind::QueueNameExists({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::queue_name_exists::Builder::default(); + output = crate::xml_deser::queue_name_exists(response.body().as_ref(), output) + .map_err(crate::error::CreateQueueError::unhandled)?; + output.build() + }), + }, + _ => crate::error::CreateQueueError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_queue_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::create_queue_output::Builder::default(); + output = crate::xml_deser::deser_operation_create_queue(response.body().as_ref(), output) + .map_err(crate::error::CreateQueueError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_message_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteMessageError::unhandled(generic)), + }; + Err(match error_code { + "InvalidIdFormat" => crate::error::DeleteMessageError { + meta: generic, + kind: crate::error::DeleteMessageErrorKind::InvalidIdFormat({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_id_format::Builder::default(); + output = crate::xml_deser::invalid_id_format(response.body().as_ref(), output) + .map_err(crate::error::DeleteMessageError::unhandled)?; + output.build() + }), + }, + "ReceiptHandleIsInvalid" => crate::error::DeleteMessageError { + meta: generic, + kind: crate::error::DeleteMessageErrorKind::ReceiptHandleIsInvalid({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::receipt_handle_is_invalid::Builder::default(); + output = + crate::xml_deser::receipt_handle_is_invalid(response.body().as_ref(), output) + .map_err(crate::error::DeleteMessageError::unhandled)?; + output.build() + }), + }, + _ => crate::error::DeleteMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_message_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::delete_message_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_message_batch_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteMessageBatchError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteMessageBatchError::unhandled(generic)), + }; + Err(match error_code { + "BatchEntryIdsNotDistinct" => crate::error::DeleteMessageBatchError { + meta: generic, + kind: crate::error::DeleteMessageBatchErrorKind::BatchEntryIdsNotDistinct({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::batch_entry_ids_not_distinct::Builder::default(); + output = crate::xml_deser::batch_entry_ids_not_distinct( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMessageBatchError::unhandled)?; + output.build() + }), + }, + "EmptyBatchRequest" => crate::error::DeleteMessageBatchError { + meta: generic, + kind: crate::error::DeleteMessageBatchErrorKind::EmptyBatchRequest({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::empty_batch_request::Builder::default(); + output = crate::xml_deser::empty_batch_request(response.body().as_ref(), output) + .map_err(crate::error::DeleteMessageBatchError::unhandled)?; + output.build() + }), + }, + "InvalidBatchEntryId" => crate::error::DeleteMessageBatchError { + meta: generic, + kind: crate::error::DeleteMessageBatchErrorKind::InvalidBatchEntryId({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_batch_entry_id::Builder::default(); + output = crate::xml_deser::invalid_batch_entry_id(response.body().as_ref(), output) + .map_err(crate::error::DeleteMessageBatchError::unhandled)?; + output.build() + }), + }, + "TooManyEntriesInBatchRequest" => crate::error::DeleteMessageBatchError { + meta: generic, + kind: crate::error::DeleteMessageBatchErrorKind::TooManyEntriesInBatchRequest({ + let _ = response; + #[allow(unused_mut)] + let mut output = + crate::error::too_many_entries_in_batch_request::Builder::default(); + output = crate::xml_deser::too_many_entries_in_batch_request( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMessageBatchError::unhandled)?; + output.build() + }), + }, + _ => crate::error::DeleteMessageBatchError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_message_batch_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::delete_message_batch_output::Builder::default(); + output = crate::xml_deser::deser_operation_delete_message_batch( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMessageBatchError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_queue_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteQueueError::unhandled)?; + Err(crate::error::DeleteQueueError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_queue_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::delete_queue_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_queue_attributes_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::GetQueueAttributesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::GetQueueAttributesError::unhandled(generic)), + }; + Err(match error_code { + "InvalidAttributeName" => crate::error::GetQueueAttributesError { + meta: generic, + kind: crate::error::GetQueueAttributesErrorKind::InvalidAttributeName({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_attribute_name::Builder::default(); + output = crate::xml_deser::invalid_attribute_name(response.body().as_ref(), output) + .map_err(crate::error::GetQueueAttributesError::unhandled)?; + output.build() + }), + }, + _ => crate::error::GetQueueAttributesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_queue_attributes_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::get_queue_attributes_output::Builder::default(); + output = crate::xml_deser::deser_operation_get_queue_attributes( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetQueueAttributesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_queue_url_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::GetQueueUrlError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::GetQueueUrlError::unhandled(generic)), + }; + Err(match error_code { + "QueueDoesNotExist" => crate::error::GetQueueUrlError { + meta: generic, + kind: crate::error::GetQueueUrlErrorKind::QueueDoesNotExist({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::queue_does_not_exist::Builder::default(); + output = crate::xml_deser::queue_does_not_exist(response.body().as_ref(), output) + .map_err(crate::error::GetQueueUrlError::unhandled)?; + output.build() + }), + }, + _ => crate::error::GetQueueUrlError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_queue_url_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::get_queue_url_output::Builder::default(); + output = crate::xml_deser::deser_operation_get_queue_url(response.body().as_ref(), output) + .map_err(crate::error::GetQueueUrlError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_dead_letter_source_queues_error( + response: &http::Response, +) -> Result< + crate::output::ListDeadLetterSourceQueuesOutput, + crate::error::ListDeadLetterSourceQueuesError, +> { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::ListDeadLetterSourceQueuesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ListDeadLetterSourceQueuesError::unhandled( + generic, + )) + } + }; + Err(match error_code { + "QueueDoesNotExist" => crate::error::ListDeadLetterSourceQueuesError { + meta: generic, + kind: crate::error::ListDeadLetterSourceQueuesErrorKind::QueueDoesNotExist({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::queue_does_not_exist::Builder::default(); + output = crate::xml_deser::queue_does_not_exist(response.body().as_ref(), output) + .map_err(crate::error::ListDeadLetterSourceQueuesError::unhandled)?; + output.build() + }), + }, + _ => crate::error::ListDeadLetterSourceQueuesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_dead_letter_source_queues_response( + response: &http::Response, +) -> Result< + crate::output::ListDeadLetterSourceQueuesOutput, + crate::error::ListDeadLetterSourceQueuesError, +> { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::list_dead_letter_source_queues_output::Builder::default(); + output = crate::xml_deser::deser_operation_list_dead_letter_source_queues( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDeadLetterSourceQueuesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_queues_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::ListQueuesError::unhandled)?; + Err(crate::error::ListQueuesError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_queues_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::list_queues_output::Builder::default(); + output = crate::xml_deser::deser_operation_list_queues(response.body().as_ref(), output) + .map_err(crate::error::ListQueuesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_queue_tags_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::ListQueueTagsError::unhandled)?; + Err(crate::error::ListQueueTagsError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_queue_tags_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::list_queue_tags_output::Builder::default(); + output = + crate::xml_deser::deser_operation_list_queue_tags(response.body().as_ref(), output) + .map_err(crate::error::ListQueueTagsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_purge_queue_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::PurgeQueueError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::PurgeQueueError::unhandled(generic)), + }; + Err(match error_code { + "PurgeQueueInProgress" => crate::error::PurgeQueueError { + meta: generic, + kind: crate::error::PurgeQueueErrorKind::PurgeQueueInProgress({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::purge_queue_in_progress::Builder::default(); + output = + crate::xml_deser::purge_queue_in_progress(response.body().as_ref(), output) + .map_err(crate::error::PurgeQueueError::unhandled)?; + output.build() + }), + }, + "QueueDoesNotExist" => crate::error::PurgeQueueError { + meta: generic, + kind: crate::error::PurgeQueueErrorKind::QueueDoesNotExist({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::queue_does_not_exist::Builder::default(); + output = crate::xml_deser::queue_does_not_exist(response.body().as_ref(), output) + .map_err(crate::error::PurgeQueueError::unhandled)?; + output.build() + }), + }, + _ => crate::error::PurgeQueueError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_purge_queue_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::purge_queue_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_receive_message_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::ReceiveMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ReceiveMessageError::unhandled(generic)), + }; + Err(match error_code { + "OverLimit" => crate::error::ReceiveMessageError { + meta: generic, + kind: crate::error::ReceiveMessageErrorKind::OverLimit({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::over_limit::Builder::default(); + output = crate::xml_deser::over_limit(response.body().as_ref(), output) + .map_err(crate::error::ReceiveMessageError::unhandled)?; + output.build() + }), + }, + _ => crate::error::ReceiveMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_receive_message_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::receive_message_output::Builder::default(); + output = + crate::xml_deser::deser_operation_receive_message(response.body().as_ref(), output) + .map_err(crate::error::ReceiveMessageError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_remove_permission_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::RemovePermissionError::unhandled)?; + Err(crate::error::RemovePermissionError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_remove_permission_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::remove_permission_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_send_message_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::SendMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::SendMessageError::unhandled(generic)), + }; + Err(match error_code { + "InvalidMessageContents" => crate::error::SendMessageError { + meta: generic, + kind: crate::error::SendMessageErrorKind::InvalidMessageContents({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_message_contents::Builder::default(); + output = + crate::xml_deser::invalid_message_contents(response.body().as_ref(), output) + .map_err(crate::error::SendMessageError::unhandled)?; + output.build() + }), + }, + "UnsupportedOperation" => crate::error::SendMessageError { + meta: generic, + kind: crate::error::SendMessageErrorKind::UnsupportedOperation({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::unsupported_operation::Builder::default(); + output = crate::xml_deser::unsupported_operation(response.body().as_ref(), output) + .map_err(crate::error::SendMessageError::unhandled)?; + output.build() + }), + }, + _ => crate::error::SendMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_send_message_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::send_message_output::Builder::default(); + output = crate::xml_deser::deser_operation_send_message(response.body().as_ref(), output) + .map_err(crate::error::SendMessageError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_send_message_batch_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::SendMessageBatchError::unhandled(generic)), + }; + Err(match error_code { + "BatchEntryIdsNotDistinct" => crate::error::SendMessageBatchError { + meta: generic, + kind: crate::error::SendMessageBatchErrorKind::BatchEntryIdsNotDistinct({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::batch_entry_ids_not_distinct::Builder::default(); + output = crate::xml_deser::batch_entry_ids_not_distinct( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }), + }, + "BatchRequestTooLong" => crate::error::SendMessageBatchError { + meta: generic, + kind: crate::error::SendMessageBatchErrorKind::BatchRequestTooLong({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::batch_request_too_long::Builder::default(); + output = crate::xml_deser::batch_request_too_long(response.body().as_ref(), output) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }), + }, + "EmptyBatchRequest" => crate::error::SendMessageBatchError { + meta: generic, + kind: crate::error::SendMessageBatchErrorKind::EmptyBatchRequest({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::empty_batch_request::Builder::default(); + output = crate::xml_deser::empty_batch_request(response.body().as_ref(), output) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }), + }, + "InvalidBatchEntryId" => crate::error::SendMessageBatchError { + meta: generic, + kind: crate::error::SendMessageBatchErrorKind::InvalidBatchEntryId({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_batch_entry_id::Builder::default(); + output = crate::xml_deser::invalid_batch_entry_id(response.body().as_ref(), output) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }), + }, + "TooManyEntriesInBatchRequest" => crate::error::SendMessageBatchError { + meta: generic, + kind: crate::error::SendMessageBatchErrorKind::TooManyEntriesInBatchRequest({ + let _ = response; + #[allow(unused_mut)] + let mut output = + crate::error::too_many_entries_in_batch_request::Builder::default(); + output = crate::xml_deser::too_many_entries_in_batch_request( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }), + }, + "UnsupportedOperation" => crate::error::SendMessageBatchError { + meta: generic, + kind: crate::error::SendMessageBatchErrorKind::UnsupportedOperation({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::unsupported_operation::Builder::default(); + output = crate::xml_deser::unsupported_operation(response.body().as_ref(), output) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }), + }, + _ => crate::error::SendMessageBatchError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_send_message_batch_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::send_message_batch_output::Builder::default(); + output = + crate::xml_deser::deser_operation_send_message_batch(response.body().as_ref(), output) + .map_err(crate::error::SendMessageBatchError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_set_queue_attributes_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::SetQueueAttributesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::SetQueueAttributesError::unhandled(generic)), + }; + Err(match error_code { + "InvalidAttributeName" => crate::error::SetQueueAttributesError { + meta: generic, + kind: crate::error::SetQueueAttributesErrorKind::InvalidAttributeName({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::error::invalid_attribute_name::Builder::default(); + output = crate::xml_deser::invalid_attribute_name(response.body().as_ref(), output) + .map_err(crate::error::SetQueueAttributesError::unhandled)?; + output.build() + }), + }, + _ => crate::error::SetQueueAttributesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_set_queue_attributes_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::set_queue_attributes_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_tag_queue_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::TagQueueError::unhandled)?; + Err(crate::error::TagQueueError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_tag_queue_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::tag_queue_output::Builder::default(); + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_untag_queue_error( + response: &http::Response, +) -> Result { + let generic = crate::xml_deser::parse_generic_error(&response) + .map_err(crate::error::UntagQueueError::unhandled)?; + Err(crate::error::UntagQueueError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_untag_queue_response( + response: &http::Response, +) -> Result { + Ok({ + let _ = response; + #[allow(unused_mut)] + let mut output = crate::output::untag_queue_output::Builder::default(); + output.build() + }) +} diff --git a/sdk/sqs/src/operation_ser.rs b/sdk/sqs/src/operation_ser.rs new file mode 100644 index 000000000000..54df7b678a78 --- /dev/null +++ b/sdk/sqs/src/operation_ser.rs @@ -0,0 +1,577 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_operation_add_permission( + input: &crate::input::AddPermissionInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "AddPermission", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_1 = writer.prefix("QueueUrl"); + if let Some(var_2) = &input.queue_url { + scope_1.string(var_2); + } + #[allow(unused_mut)] + let mut scope_3 = writer.prefix("Label"); + if let Some(var_4) = &input.label { + scope_3.string(var_4); + } + #[allow(unused_mut)] + let mut scope_5 = writer.prefix("AWSAccountId"); + if let Some(var_6) = &input.aws_account_ids { + let mut list_8 = scope_5.start_list(true, None); + for item_7 in var_6 { + #[allow(unused_mut)] + let mut entry_9 = list_8.entry(); + entry_9.string(item_7); + } + list_8.finish(); + } + #[allow(unused_mut)] + let mut scope_10 = writer.prefix("ActionName"); + if let Some(var_11) = &input.actions { + let mut list_13 = scope_10.start_list(true, None); + for item_12 in var_11 { + #[allow(unused_mut)] + let mut entry_14 = list_13.entry(); + entry_14.string(item_12); + } + list_13.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_change_message_visibility( + input: &crate::input::ChangeMessageVisibilityInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = + smithy_query::QueryWriter::new(&mut out, "ChangeMessageVisibility", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_15 = writer.prefix("QueueUrl"); + if let Some(var_16) = &input.queue_url { + scope_15.string(var_16); + } + #[allow(unused_mut)] + let mut scope_17 = writer.prefix("ReceiptHandle"); + if let Some(var_18) = &input.receipt_handle { + scope_17.string(var_18); + } + #[allow(unused_mut)] + let mut scope_19 = writer.prefix("VisibilityTimeout"); + scope_19.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.visibility_timeout).into()), + ); + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_change_message_visibility_batch( + input: &crate::input::ChangeMessageVisibilityBatchInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = + smithy_query::QueryWriter::new(&mut out, "ChangeMessageVisibilityBatch", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_20 = writer.prefix("QueueUrl"); + if let Some(var_21) = &input.queue_url { + scope_20.string(var_21); + } + #[allow(unused_mut)] + let mut scope_22 = writer.prefix("ChangeMessageVisibilityBatchRequestEntry"); + if let Some(var_23) = &input.entries { + let mut list_25 = scope_22.start_list(true, None); + for item_24 in var_23 { + #[allow(unused_mut)] + let mut entry_26 = list_25.entry(); + crate::query_ser::serialize_structure_change_message_visibility_batch_request_entry( + entry_26, item_24, + ); + } + list_25.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_queue( + input: &crate::input::CreateQueueInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateQueue", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_27 = writer.prefix("QueueName"); + if let Some(var_28) = &input.queue_name { + scope_27.string(var_28); + } + #[allow(unused_mut)] + let mut scope_29 = writer.prefix("Tag"); + if let Some(var_30) = &input.tags { + let mut map_31 = scope_29.start_map(true, "Key", "Value"); + for (key_32, value_33) in var_30 { + #[allow(unused_mut)] + let mut entry_34 = map_31.entry(key_32); + entry_34.string(value_33); + } + map_31.finish(); + } + #[allow(unused_mut)] + let mut scope_35 = writer.prefix("Attribute"); + if let Some(var_36) = &input.attributes { + let mut map_37 = scope_35.start_map(true, "Name", "Value"); + for (key_38, value_39) in var_36 { + #[allow(unused_mut)] + let mut entry_40 = map_37.entry(key_38.as_str()); + entry_40.string(value_39); + } + map_37.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_message( + input: &crate::input::DeleteMessageInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteMessage", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_41 = writer.prefix("QueueUrl"); + if let Some(var_42) = &input.queue_url { + scope_41.string(var_42); + } + #[allow(unused_mut)] + let mut scope_43 = writer.prefix("ReceiptHandle"); + if let Some(var_44) = &input.receipt_handle { + scope_43.string(var_44); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_message_batch( + input: &crate::input::DeleteMessageBatchInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteMessageBatch", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_45 = writer.prefix("QueueUrl"); + if let Some(var_46) = &input.queue_url { + scope_45.string(var_46); + } + #[allow(unused_mut)] + let mut scope_47 = writer.prefix("DeleteMessageBatchRequestEntry"); + if let Some(var_48) = &input.entries { + let mut list_50 = scope_47.start_list(true, None); + for item_49 in var_48 { + #[allow(unused_mut)] + let mut entry_51 = list_50.entry(); + crate::query_ser::serialize_structure_delete_message_batch_request_entry( + entry_51, item_49, + ); + } + list_50.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_queue( + input: &crate::input::DeleteQueueInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteQueue", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_52 = writer.prefix("QueueUrl"); + if let Some(var_53) = &input.queue_url { + scope_52.string(var_53); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_get_queue_attributes( + input: &crate::input::GetQueueAttributesInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "GetQueueAttributes", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_54 = writer.prefix("QueueUrl"); + if let Some(var_55) = &input.queue_url { + scope_54.string(var_55); + } + #[allow(unused_mut)] + let mut scope_56 = writer.prefix("AttributeName"); + if let Some(var_57) = &input.attribute_names { + let mut list_59 = scope_56.start_list(true, None); + for item_58 in var_57 { + #[allow(unused_mut)] + let mut entry_60 = list_59.entry(); + entry_60.string(item_58.as_str()); + } + list_59.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_get_queue_url( + input: &crate::input::GetQueueUrlInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "GetQueueUrl", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_61 = writer.prefix("QueueName"); + if let Some(var_62) = &input.queue_name { + scope_61.string(var_62); + } + #[allow(unused_mut)] + let mut scope_63 = writer.prefix("QueueOwnerAWSAccountId"); + if let Some(var_64) = &input.queue_owner_aws_account_id { + scope_63.string(var_64); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_dead_letter_source_queues( + input: &crate::input::ListDeadLetterSourceQueuesInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = + smithy_query::QueryWriter::new(&mut out, "ListDeadLetterSourceQueues", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_65 = writer.prefix("QueueUrl"); + if let Some(var_66) = &input.queue_url { + scope_65.string(var_66); + } + #[allow(unused_mut)] + let mut scope_67 = writer.prefix("NextToken"); + if let Some(var_68) = &input.next_token { + scope_67.string(var_68); + } + #[allow(unused_mut)] + let mut scope_69 = writer.prefix("MaxResults"); + if let Some(var_70) = &input.max_results { + scope_69.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_70).into()), + ); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_queues( + input: &crate::input::ListQueuesInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "ListQueues", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_71 = writer.prefix("QueueNamePrefix"); + if let Some(var_72) = &input.queue_name_prefix { + scope_71.string(var_72); + } + #[allow(unused_mut)] + let mut scope_73 = writer.prefix("NextToken"); + if let Some(var_74) = &input.next_token { + scope_73.string(var_74); + } + #[allow(unused_mut)] + let mut scope_75 = writer.prefix("MaxResults"); + if let Some(var_76) = &input.max_results { + scope_75.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_76).into()), + ); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_queue_tags( + input: &crate::input::ListQueueTagsInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "ListQueueTags", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_77 = writer.prefix("QueueUrl"); + if let Some(var_78) = &input.queue_url { + scope_77.string(var_78); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_purge_queue( + input: &crate::input::PurgeQueueInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "PurgeQueue", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_79 = writer.prefix("QueueUrl"); + if let Some(var_80) = &input.queue_url { + scope_79.string(var_80); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_receive_message( + input: &crate::input::ReceiveMessageInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "ReceiveMessage", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_81 = writer.prefix("QueueUrl"); + if let Some(var_82) = &input.queue_url { + scope_81.string(var_82); + } + #[allow(unused_mut)] + let mut scope_83 = writer.prefix("AttributeName"); + if let Some(var_84) = &input.attribute_names { + let mut list_86 = scope_83.start_list(true, None); + for item_85 in var_84 { + #[allow(unused_mut)] + let mut entry_87 = list_86.entry(); + entry_87.string(item_85.as_str()); + } + list_86.finish(); + } + #[allow(unused_mut)] + let mut scope_88 = writer.prefix("MessageAttributeName"); + if let Some(var_89) = &input.message_attribute_names { + let mut list_91 = scope_88.start_list(true, None); + for item_90 in var_89 { + #[allow(unused_mut)] + let mut entry_92 = list_91.entry(); + entry_92.string(item_90); + } + list_91.finish(); + } + #[allow(unused_mut)] + let mut scope_93 = writer.prefix("MaxNumberOfMessages"); + scope_93.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.max_number_of_messages).into()), + ); + #[allow(unused_mut)] + let mut scope_94 = writer.prefix("VisibilityTimeout"); + scope_94.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.visibility_timeout).into()), + ); + #[allow(unused_mut)] + let mut scope_95 = writer.prefix("WaitTimeSeconds"); + scope_95.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.wait_time_seconds).into()), + ); + #[allow(unused_mut)] + let mut scope_96 = writer.prefix("ReceiveRequestAttemptId"); + if let Some(var_97) = &input.receive_request_attempt_id { + scope_96.string(var_97); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_remove_permission( + input: &crate::input::RemovePermissionInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "RemovePermission", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_98 = writer.prefix("QueueUrl"); + if let Some(var_99) = &input.queue_url { + scope_98.string(var_99); + } + #[allow(unused_mut)] + let mut scope_100 = writer.prefix("Label"); + if let Some(var_101) = &input.label { + scope_100.string(var_101); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_send_message( + input: &crate::input::SendMessageInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "SendMessage", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_102 = writer.prefix("QueueUrl"); + if let Some(var_103) = &input.queue_url { + scope_102.string(var_103); + } + #[allow(unused_mut)] + let mut scope_104 = writer.prefix("MessageBody"); + if let Some(var_105) = &input.message_body { + scope_104.string(var_105); + } + #[allow(unused_mut)] + let mut scope_106 = writer.prefix("DelaySeconds"); + scope_106.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.delay_seconds).into()), + ); + #[allow(unused_mut)] + let mut scope_107 = writer.prefix("MessageAttribute"); + if let Some(var_108) = &input.message_attributes { + let mut map_109 = scope_107.start_map(true, "Name", "Value"); + for (key_110, value_111) in var_108 { + #[allow(unused_mut)] + let mut entry_112 = map_109.entry(key_110); + crate::query_ser::serialize_structure_message_attribute_value(entry_112, value_111); + } + map_109.finish(); + } + #[allow(unused_mut)] + let mut scope_113 = writer.prefix("MessageSystemAttribute"); + if let Some(var_114) = &input.message_system_attributes { + let mut map_115 = scope_113.start_map(true, "Name", "Value"); + for (key_116, value_117) in var_114 { + #[allow(unused_mut)] + let mut entry_118 = map_115.entry(key_116.as_str()); + crate::query_ser::serialize_structure_message_system_attribute_value( + entry_118, value_117, + ); + } + map_115.finish(); + } + #[allow(unused_mut)] + let mut scope_119 = writer.prefix("MessageDeduplicationId"); + if let Some(var_120) = &input.message_deduplication_id { + scope_119.string(var_120); + } + #[allow(unused_mut)] + let mut scope_121 = writer.prefix("MessageGroupId"); + if let Some(var_122) = &input.message_group_id { + scope_121.string(var_122); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_send_message_batch( + input: &crate::input::SendMessageBatchInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "SendMessageBatch", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_123 = writer.prefix("QueueUrl"); + if let Some(var_124) = &input.queue_url { + scope_123.string(var_124); + } + #[allow(unused_mut)] + let mut scope_125 = writer.prefix("SendMessageBatchRequestEntry"); + if let Some(var_126) = &input.entries { + let mut list_128 = scope_125.start_list(true, None); + for item_127 in var_126 { + #[allow(unused_mut)] + let mut entry_129 = list_128.entry(); + crate::query_ser::serialize_structure_send_message_batch_request_entry( + entry_129, item_127, + ); + } + list_128.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_set_queue_attributes( + input: &crate::input::SetQueueAttributesInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "SetQueueAttributes", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_130 = writer.prefix("QueueUrl"); + if let Some(var_131) = &input.queue_url { + scope_130.string(var_131); + } + #[allow(unused_mut)] + let mut scope_132 = writer.prefix("Attribute"); + if let Some(var_133) = &input.attributes { + let mut map_134 = scope_132.start_map(true, "Name", "Value"); + for (key_135, value_136) in var_133 { + #[allow(unused_mut)] + let mut entry_137 = map_134.entry(key_135.as_str()); + entry_137.string(value_136); + } + map_134.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_tag_queue( + input: &crate::input::TagQueueInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "TagQueue", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_138 = writer.prefix("QueueUrl"); + if let Some(var_139) = &input.queue_url { + scope_138.string(var_139); + } + #[allow(unused_mut)] + let mut scope_140 = writer.prefix("Tag"); + if let Some(var_141) = &input.tags { + let mut map_142 = scope_140.start_map(true, "Key", "Value"); + for (key_143, value_144) in var_141 { + #[allow(unused_mut)] + let mut entry_145 = map_142.entry(key_143); + entry_145.string(value_144); + } + map_142.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_untag_queue( + input: &crate::input::UntagQueueInput, +) -> Result { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = smithy_query::QueryWriter::new(&mut out, "UntagQueue", "2012-11-05"); + #[allow(unused_mut)] + let mut scope_146 = writer.prefix("QueueUrl"); + if let Some(var_147) = &input.queue_url { + scope_146.string(var_147); + } + #[allow(unused_mut)] + let mut scope_148 = writer.prefix("TagKey"); + if let Some(var_149) = &input.tag_keys { + let mut list_151 = scope_148.start_list(true, None); + for item_150 in var_149 { + #[allow(unused_mut)] + let mut entry_152 = list_151.entry(); + entry_152.string(item_150); + } + list_151.finish(); + } + writer.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} diff --git a/sdk/sqs/src/output.rs b/sdk/sqs/src/output.rs new file mode 100644 index 000000000000..ae2b09c281ec --- /dev/null +++ b/sdk/sqs/src/output.rs @@ -0,0 +1,1034 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UntagQueueOutput {} +impl std::fmt::Debug for UntagQueueOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UntagQueueOutput"); + formatter.finish() + } +} +/// See [`UntagQueueOutput`](crate::output::UntagQueueOutput) +pub mod untag_queue_output { + /// A builder for [`UntagQueueOutput`](crate::output::UntagQueueOutput) + #[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 [`UntagQueueOutput`](crate::output::UntagQueueOutput) + pub fn build(self) -> crate::output::UntagQueueOutput { + crate::output::UntagQueueOutput {} + } + } +} +impl UntagQueueOutput { + /// Creates a new builder-style object to manufacture [`UntagQueueOutput`](crate::output::UntagQueueOutput) + pub fn builder() -> crate::output::untag_queue_output::Builder { + crate::output::untag_queue_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TagQueueOutput {} +impl std::fmt::Debug for TagQueueOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TagQueueOutput"); + formatter.finish() + } +} +/// See [`TagQueueOutput`](crate::output::TagQueueOutput) +pub mod tag_queue_output { + /// A builder for [`TagQueueOutput`](crate::output::TagQueueOutput) + #[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 [`TagQueueOutput`](crate::output::TagQueueOutput) + pub fn build(self) -> crate::output::TagQueueOutput { + crate::output::TagQueueOutput {} + } + } +} +impl TagQueueOutput { + /// Creates a new builder-style object to manufacture [`TagQueueOutput`](crate::output::TagQueueOutput) + pub fn builder() -> crate::output::tag_queue_output::Builder { + crate::output::tag_queue_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SetQueueAttributesOutput {} +impl std::fmt::Debug for SetQueueAttributesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SetQueueAttributesOutput"); + formatter.finish() + } +} +/// See [`SetQueueAttributesOutput`](crate::output::SetQueueAttributesOutput) +pub mod set_queue_attributes_output { + /// A builder for [`SetQueueAttributesOutput`](crate::output::SetQueueAttributesOutput) + #[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 [`SetQueueAttributesOutput`](crate::output::SetQueueAttributesOutput) + pub fn build(self) -> crate::output::SetQueueAttributesOutput { + crate::output::SetQueueAttributesOutput {} + } + } +} +impl SetQueueAttributesOutput { + /// Creates a new builder-style object to manufacture [`SetQueueAttributesOutput`](crate::output::SetQueueAttributesOutput) + pub fn builder() -> crate::output::set_queue_attributes_output::Builder { + crate::output::set_queue_attributes_output::Builder::default() + } +} + +///

    For each message in the batch, the response contains a +/// SendMessageBatchResultEntry +/// tag if the message succeeds or a +/// BatchResultErrorEntry +/// tag if the message fails.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendMessageBatchOutput { + ///

    A list of + /// SendMessageBatchResultEntry + /// items.

    + pub successful: std::option::Option>, + ///

    A list of + /// BatchResultErrorEntry + /// items with error details about each message that can't be enqueued.

    + pub failed: std::option::Option>, +} +impl std::fmt::Debug for SendMessageBatchOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendMessageBatchOutput"); + formatter.field("successful", &self.successful); + formatter.field("failed", &self.failed); + formatter.finish() + } +} +/// See [`SendMessageBatchOutput`](crate::output::SendMessageBatchOutput) +pub mod send_message_batch_output { + /// A builder for [`SendMessageBatchOutput`](crate::output::SendMessageBatchOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) successful: + std::option::Option>, + pub(crate) failed: std::option::Option>, + } + impl Builder { + pub fn successful( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.successful.unwrap_or_default(); + v.push(inp.into()); + self.successful = Some(v); + self + } + pub fn set_successful( + mut self, + inp: std::option::Option>, + ) -> Self { + self.successful = inp; + self + } + pub fn failed(mut self, inp: impl Into) -> Self { + let mut v = self.failed.unwrap_or_default(); + v.push(inp.into()); + self.failed = Some(v); + self + } + pub fn set_failed( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failed = inp; + self + } + /// Consumes the builder and constructs a [`SendMessageBatchOutput`](crate::output::SendMessageBatchOutput) + pub fn build(self) -> crate::output::SendMessageBatchOutput { + crate::output::SendMessageBatchOutput { + successful: self.successful, + failed: self.failed, + } + } + } +} +impl SendMessageBatchOutput { + /// Creates a new builder-style object to manufacture [`SendMessageBatchOutput`](crate::output::SendMessageBatchOutput) + pub fn builder() -> crate::output::send_message_batch_output::Builder { + crate::output::send_message_batch_output::Builder::default() + } +} + +///

    The MD5OfMessageBody and MessageId elements.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendMessageOutput { + ///

    An MD5 digest of the non-URL-encoded message body string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub md5_of_message_body: std::option::Option, + ///

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub md5_of_message_attributes: std::option::Option, + ///

    An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest.

    + pub md5_of_message_system_attributes: std::option::Option, + ///

    An attribute containing the MessageId of the message sent to the queue. For more information, see Queue and Message Identifiers + /// in the Amazon Simple Queue Service Developer Guide. + ///

    + pub message_id: std::option::Option, + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The large, non-consecutive number that Amazon SQS assigns to each message.

    + ///

    The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

    + pub sequence_number: std::option::Option, +} +impl std::fmt::Debug for SendMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendMessageOutput"); + formatter.field("md5_of_message_body", &self.md5_of_message_body); + formatter.field("md5_of_message_attributes", &self.md5_of_message_attributes); + formatter.field( + "md5_of_message_system_attributes", + &self.md5_of_message_system_attributes, + ); + formatter.field("message_id", &self.message_id); + formatter.field("sequence_number", &self.sequence_number); + formatter.finish() + } +} +/// See [`SendMessageOutput`](crate::output::SendMessageOutput) +pub mod send_message_output { + /// A builder for [`SendMessageOutput`](crate::output::SendMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) md5_of_message_body: std::option::Option, + pub(crate) md5_of_message_attributes: std::option::Option, + pub(crate) md5_of_message_system_attributes: std::option::Option, + pub(crate) message_id: std::option::Option, + pub(crate) sequence_number: std::option::Option, + } + impl Builder { + ///

    An MD5 digest of the non-URL-encoded message body string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub fn md5_of_message_body(mut self, inp: impl Into) -> Self { + self.md5_of_message_body = Some(inp.into()); + self + } + pub fn set_md5_of_message_body( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_body = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    + pub fn md5_of_message_attributes(mut self, inp: impl Into) -> Self { + self.md5_of_message_attributes = Some(inp.into()); + self + } + pub fn set_md5_of_message_attributes( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_attributes = inp; + self + } + ///

    An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest.

    + pub fn md5_of_message_system_attributes( + mut self, + inp: impl Into, + ) -> Self { + self.md5_of_message_system_attributes = Some(inp.into()); + self + } + pub fn set_md5_of_message_system_attributes( + mut self, + inp: std::option::Option, + ) -> Self { + self.md5_of_message_system_attributes = inp; + self + } + ///

    An attribute containing the MessageId of the message sent to the queue. For more information, see Queue and Message Identifiers + /// in the Amazon Simple Queue Service Developer Guide. + ///

    + pub fn message_id(mut self, inp: impl Into) -> Self { + self.message_id = Some(inp.into()); + self + } + pub fn set_message_id(mut self, inp: std::option::Option) -> Self { + self.message_id = inp; + self + } + ///

    This parameter applies only to FIFO (first-in-first-out) queues.

    + ///

    The large, non-consecutive number that Amazon SQS assigns to each message.

    + ///

    The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

    + pub fn sequence_number(mut self, inp: impl Into) -> Self { + self.sequence_number = Some(inp.into()); + self + } + pub fn set_sequence_number( + mut self, + inp: std::option::Option, + ) -> Self { + self.sequence_number = inp; + self + } + /// Consumes the builder and constructs a [`SendMessageOutput`](crate::output::SendMessageOutput) + pub fn build(self) -> crate::output::SendMessageOutput { + crate::output::SendMessageOutput { + md5_of_message_body: self.md5_of_message_body, + md5_of_message_attributes: self.md5_of_message_attributes, + md5_of_message_system_attributes: self.md5_of_message_system_attributes, + message_id: self.message_id, + sequence_number: self.sequence_number, + } + } + } +} +impl SendMessageOutput { + /// Creates a new builder-style object to manufacture [`SendMessageOutput`](crate::output::SendMessageOutput) + pub fn builder() -> crate::output::send_message_output::Builder { + crate::output::send_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RemovePermissionOutput {} +impl std::fmt::Debug for RemovePermissionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RemovePermissionOutput"); + formatter.finish() + } +} +/// See [`RemovePermissionOutput`](crate::output::RemovePermissionOutput) +pub mod remove_permission_output { + /// A builder for [`RemovePermissionOutput`](crate::output::RemovePermissionOutput) + #[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 [`RemovePermissionOutput`](crate::output::RemovePermissionOutput) + pub fn build(self) -> crate::output::RemovePermissionOutput { + crate::output::RemovePermissionOutput {} + } + } +} +impl RemovePermissionOutput { + /// Creates a new builder-style object to manufacture [`RemovePermissionOutput`](crate::output::RemovePermissionOutput) + pub fn builder() -> crate::output::remove_permission_output::Builder { + crate::output::remove_permission_output::Builder::default() + } +} + +///

    A list of received messages.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ReceiveMessageOutput { + ///

    A list of messages.

    + pub messages: std::option::Option>, +} +impl std::fmt::Debug for ReceiveMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ReceiveMessageOutput"); + formatter.field("messages", &self.messages); + formatter.finish() + } +} +/// See [`ReceiveMessageOutput`](crate::output::ReceiveMessageOutput) +pub mod receive_message_output { + /// A builder for [`ReceiveMessageOutput`](crate::output::ReceiveMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) messages: std::option::Option>, + } + impl Builder { + pub fn messages(mut self, inp: impl Into) -> Self { + let mut v = self.messages.unwrap_or_default(); + v.push(inp.into()); + self.messages = Some(v); + self + } + pub fn set_messages( + mut self, + inp: std::option::Option>, + ) -> Self { + self.messages = inp; + self + } + /// Consumes the builder and constructs a [`ReceiveMessageOutput`](crate::output::ReceiveMessageOutput) + pub fn build(self) -> crate::output::ReceiveMessageOutput { + crate::output::ReceiveMessageOutput { + messages: self.messages, + } + } + } +} +impl ReceiveMessageOutput { + /// Creates a new builder-style object to manufacture [`ReceiveMessageOutput`](crate::output::ReceiveMessageOutput) + pub fn builder() -> crate::output::receive_message_output::Builder { + crate::output::receive_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PurgeQueueOutput {} +impl std::fmt::Debug for PurgeQueueOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PurgeQueueOutput"); + formatter.finish() + } +} +/// See [`PurgeQueueOutput`](crate::output::PurgeQueueOutput) +pub mod purge_queue_output { + /// A builder for [`PurgeQueueOutput`](crate::output::PurgeQueueOutput) + #[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 [`PurgeQueueOutput`](crate::output::PurgeQueueOutput) + pub fn build(self) -> crate::output::PurgeQueueOutput { + crate::output::PurgeQueueOutput {} + } + } +} +impl PurgeQueueOutput { + /// Creates a new builder-style object to manufacture [`PurgeQueueOutput`](crate::output::PurgeQueueOutput) + pub fn builder() -> crate::output::purge_queue_output::Builder { + crate::output::purge_queue_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListQueueTagsOutput { + ///

    The list of all tags added to the specified queue.

    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for ListQueueTagsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListQueueTagsOutput"); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`ListQueueTagsOutput`](crate::output::ListQueueTagsOutput) +pub mod list_queue_tags_output { + /// A builder for [`ListQueueTagsOutput`](crate::output::ListQueueTagsOutput) + #[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, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = inp; + self + } + /// Consumes the builder and constructs a [`ListQueueTagsOutput`](crate::output::ListQueueTagsOutput) + pub fn build(self) -> crate::output::ListQueueTagsOutput { + crate::output::ListQueueTagsOutput { tags: self.tags } + } + } +} +impl ListQueueTagsOutput { + /// Creates a new builder-style object to manufacture [`ListQueueTagsOutput`](crate::output::ListQueueTagsOutput) + pub fn builder() -> crate::output::list_queue_tags_output::Builder { + crate::output::list_queue_tags_output::Builder::default() + } +} + +///

    A list of your queues.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListQueuesOutput { + ///

    Pagination token to include in the next request. Token value is null if there are no additional + /// results to request, or if you did not set MaxResults in the request.

    + pub next_token: std::option::Option, + ///

    A list of queue URLs, up to 1,000 entries, or the value of MaxResults that you sent in the request.

    + pub queue_urls: std::option::Option>, +} +impl std::fmt::Debug for ListQueuesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListQueuesOutput"); + formatter.field("next_token", &self.next_token); + formatter.field("queue_urls", &self.queue_urls); + formatter.finish() + } +} +/// See [`ListQueuesOutput`](crate::output::ListQueuesOutput) +pub mod list_queues_output { + /// A builder for [`ListQueuesOutput`](crate::output::ListQueuesOutput) + #[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) queue_urls: std::option::Option>, + } + impl Builder { + ///

    Pagination token to include in the next request. Token value is null if there are no additional + /// results to request, or if you did not set MaxResults in the request.

    + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + pub fn queue_urls(mut self, inp: impl Into) -> Self { + let mut v = self.queue_urls.unwrap_or_default(); + v.push(inp.into()); + self.queue_urls = Some(v); + self + } + pub fn set_queue_urls( + mut self, + inp: std::option::Option>, + ) -> Self { + self.queue_urls = inp; + self + } + /// Consumes the builder and constructs a [`ListQueuesOutput`](crate::output::ListQueuesOutput) + pub fn build(self) -> crate::output::ListQueuesOutput { + crate::output::ListQueuesOutput { + next_token: self.next_token, + queue_urls: self.queue_urls, + } + } + } +} +impl ListQueuesOutput { + /// Creates a new builder-style object to manufacture [`ListQueuesOutput`](crate::output::ListQueuesOutput) + pub fn builder() -> crate::output::list_queues_output::Builder { + crate::output::list_queues_output::Builder::default() + } +} + +///

    A list of your dead letter source queues.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListDeadLetterSourceQueuesOutput { + ///

    A list of source queue URLs that have the RedrivePolicy queue attribute configured with a dead-letter queue.

    + pub queue_urls: std::option::Option>, + ///

    Pagination token to include in the next request. Token value is null if there are no additional + /// results to request, or if you did not set MaxResults in the request.

    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListDeadLetterSourceQueuesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListDeadLetterSourceQueuesOutput"); + formatter.field("queue_urls", &self.queue_urls); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListDeadLetterSourceQueuesOutput`](crate::output::ListDeadLetterSourceQueuesOutput) +pub mod list_dead_letter_source_queues_output { + /// A builder for [`ListDeadLetterSourceQueuesOutput`](crate::output::ListDeadLetterSourceQueuesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_urls: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn queue_urls(mut self, inp: impl Into) -> Self { + let mut v = self.queue_urls.unwrap_or_default(); + v.push(inp.into()); + self.queue_urls = Some(v); + self + } + pub fn set_queue_urls( + mut self, + inp: std::option::Option>, + ) -> Self { + self.queue_urls = inp; + self + } + ///

    Pagination token to include in the next request. Token value is null if there are no additional + /// results to request, or if you did not set MaxResults in the request.

    + pub fn next_token(mut self, inp: impl Into) -> Self { + self.next_token = Some(inp.into()); + self + } + pub fn set_next_token(mut self, inp: std::option::Option) -> Self { + self.next_token = inp; + self + } + /// Consumes the builder and constructs a [`ListDeadLetterSourceQueuesOutput`](crate::output::ListDeadLetterSourceQueuesOutput) + pub fn build(self) -> crate::output::ListDeadLetterSourceQueuesOutput { + crate::output::ListDeadLetterSourceQueuesOutput { + queue_urls: self.queue_urls, + next_token: self.next_token, + } + } + } +} +impl ListDeadLetterSourceQueuesOutput { + /// Creates a new builder-style object to manufacture [`ListDeadLetterSourceQueuesOutput`](crate::output::ListDeadLetterSourceQueuesOutput) + pub fn builder() -> crate::output::list_dead_letter_source_queues_output::Builder { + crate::output::list_dead_letter_source_queues_output::Builder::default() + } +} + +///

    For more information, see Interpreting Responses in the Amazon Simple Queue Service Developer Guide.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetQueueUrlOutput { + ///

    The URL of the queue.

    + pub queue_url: std::option::Option, +} +impl std::fmt::Debug for GetQueueUrlOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetQueueUrlOutput"); + formatter.field("queue_url", &self.queue_url); + formatter.finish() + } +} +/// See [`GetQueueUrlOutput`](crate::output::GetQueueUrlOutput) +pub mod get_queue_url_output { + /// A builder for [`GetQueueUrlOutput`](crate::output::GetQueueUrlOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + } + impl Builder { + ///

    The URL of the queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + /// Consumes the builder and constructs a [`GetQueueUrlOutput`](crate::output::GetQueueUrlOutput) + pub fn build(self) -> crate::output::GetQueueUrlOutput { + crate::output::GetQueueUrlOutput { + queue_url: self.queue_url, + } + } + } +} +impl GetQueueUrlOutput { + /// Creates a new builder-style object to manufacture [`GetQueueUrlOutput`](crate::output::GetQueueUrlOutput) + pub fn builder() -> crate::output::get_queue_url_output::Builder { + crate::output::get_queue_url_output::Builder::default() + } +} + +///

    A list of returned queue attributes.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetQueueAttributesOutput { + ///

    A map of attributes to their respective values.

    + pub attributes: std::option::Option< + std::collections::HashMap, + >, +} +impl std::fmt::Debug for GetQueueAttributesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetQueueAttributesOutput"); + formatter.field("attributes", &self.attributes); + formatter.finish() + } +} +/// See [`GetQueueAttributesOutput`](crate::output::GetQueueAttributesOutput) +pub mod get_queue_attributes_output { + /// A builder for [`GetQueueAttributesOutput`](crate::output::GetQueueAttributesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attributes: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + pub fn attributes( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.attributes.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.attributes = Some(hash_map); + self + } + pub fn set_attributes( + mut self, + inp: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.attributes = inp; + self + } + /// Consumes the builder and constructs a [`GetQueueAttributesOutput`](crate::output::GetQueueAttributesOutput) + pub fn build(self) -> crate::output::GetQueueAttributesOutput { + crate::output::GetQueueAttributesOutput { + attributes: self.attributes, + } + } + } +} +impl GetQueueAttributesOutput { + /// Creates a new builder-style object to manufacture [`GetQueueAttributesOutput`](crate::output::GetQueueAttributesOutput) + pub fn builder() -> crate::output::get_queue_attributes_output::Builder { + crate::output::get_queue_attributes_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteQueueOutput {} +impl std::fmt::Debug for DeleteQueueOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteQueueOutput"); + formatter.finish() + } +} +/// See [`DeleteQueueOutput`](crate::output::DeleteQueueOutput) +pub mod delete_queue_output { + /// A builder for [`DeleteQueueOutput`](crate::output::DeleteQueueOutput) + #[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 [`DeleteQueueOutput`](crate::output::DeleteQueueOutput) + pub fn build(self) -> crate::output::DeleteQueueOutput { + crate::output::DeleteQueueOutput {} + } + } +} +impl DeleteQueueOutput { + /// Creates a new builder-style object to manufacture [`DeleteQueueOutput`](crate::output::DeleteQueueOutput) + pub fn builder() -> crate::output::delete_queue_output::Builder { + crate::output::delete_queue_output::Builder::default() + } +} + +///

    For each message in the batch, the response contains a +/// DeleteMessageBatchResultEntry +/// tag if the message is deleted or a +/// BatchResultErrorEntry +/// tag if the message can't be deleted.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteMessageBatchOutput { + ///

    A list of + /// DeleteMessageBatchResultEntry + /// items.

    + pub successful: std::option::Option>, + ///

    A list of + /// BatchResultErrorEntry + /// items.

    + pub failed: std::option::Option>, +} +impl std::fmt::Debug for DeleteMessageBatchOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteMessageBatchOutput"); + formatter.field("successful", &self.successful); + formatter.field("failed", &self.failed); + formatter.finish() + } +} +/// See [`DeleteMessageBatchOutput`](crate::output::DeleteMessageBatchOutput) +pub mod delete_message_batch_output { + /// A builder for [`DeleteMessageBatchOutput`](crate::output::DeleteMessageBatchOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) successful: + std::option::Option>, + pub(crate) failed: std::option::Option>, + } + impl Builder { + pub fn successful( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.successful.unwrap_or_default(); + v.push(inp.into()); + self.successful = Some(v); + self + } + pub fn set_successful( + mut self, + inp: std::option::Option>, + ) -> Self { + self.successful = inp; + self + } + pub fn failed(mut self, inp: impl Into) -> Self { + let mut v = self.failed.unwrap_or_default(); + v.push(inp.into()); + self.failed = Some(v); + self + } + pub fn set_failed( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failed = inp; + self + } + /// Consumes the builder and constructs a [`DeleteMessageBatchOutput`](crate::output::DeleteMessageBatchOutput) + pub fn build(self) -> crate::output::DeleteMessageBatchOutput { + crate::output::DeleteMessageBatchOutput { + successful: self.successful, + failed: self.failed, + } + } + } +} +impl DeleteMessageBatchOutput { + /// Creates a new builder-style object to manufacture [`DeleteMessageBatchOutput`](crate::output::DeleteMessageBatchOutput) + pub fn builder() -> crate::output::delete_message_batch_output::Builder { + crate::output::delete_message_batch_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteMessageOutput {} +impl std::fmt::Debug for DeleteMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteMessageOutput"); + formatter.finish() + } +} +/// See [`DeleteMessageOutput`](crate::output::DeleteMessageOutput) +pub mod delete_message_output { + /// A builder for [`DeleteMessageOutput`](crate::output::DeleteMessageOutput) + #[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 [`DeleteMessageOutput`](crate::output::DeleteMessageOutput) + pub fn build(self) -> crate::output::DeleteMessageOutput { + crate::output::DeleteMessageOutput {} + } + } +} +impl DeleteMessageOutput { + /// Creates a new builder-style object to manufacture [`DeleteMessageOutput`](crate::output::DeleteMessageOutput) + pub fn builder() -> crate::output::delete_message_output::Builder { + crate::output::delete_message_output::Builder::default() + } +} + +///

    Returns the QueueUrl attribute of the created queue.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateQueueOutput { + ///

    The URL of the created Amazon SQS queue.

    + pub queue_url: std::option::Option, +} +impl std::fmt::Debug for CreateQueueOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateQueueOutput"); + formatter.field("queue_url", &self.queue_url); + formatter.finish() + } +} +/// See [`CreateQueueOutput`](crate::output::CreateQueueOutput) +pub mod create_queue_output { + /// A builder for [`CreateQueueOutput`](crate::output::CreateQueueOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) queue_url: std::option::Option, + } + impl Builder { + ///

    The URL of the created Amazon SQS queue.

    + pub fn queue_url(mut self, inp: impl Into) -> Self { + self.queue_url = Some(inp.into()); + self + } + pub fn set_queue_url(mut self, inp: std::option::Option) -> Self { + self.queue_url = inp; + self + } + /// Consumes the builder and constructs a [`CreateQueueOutput`](crate::output::CreateQueueOutput) + pub fn build(self) -> crate::output::CreateQueueOutput { + crate::output::CreateQueueOutput { + queue_url: self.queue_url, + } + } + } +} +impl CreateQueueOutput { + /// Creates a new builder-style object to manufacture [`CreateQueueOutput`](crate::output::CreateQueueOutput) + pub fn builder() -> crate::output::create_queue_output::Builder { + crate::output::create_queue_output::Builder::default() + } +} + +///

    For each message in the batch, the response contains a +/// ChangeMessageVisibilityBatchResultEntry +/// tag if the message succeeds or a +/// BatchResultErrorEntry +/// tag if the message fails.

    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChangeMessageVisibilityBatchOutput { + ///

    A list of + /// ChangeMessageVisibilityBatchResultEntry + /// items.

    + pub successful: + std::option::Option>, + ///

    A list of + /// BatchResultErrorEntry + /// items.

    + pub failed: std::option::Option>, +} +impl std::fmt::Debug for ChangeMessageVisibilityBatchOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChangeMessageVisibilityBatchOutput"); + formatter.field("successful", &self.successful); + formatter.field("failed", &self.failed); + formatter.finish() + } +} +/// See [`ChangeMessageVisibilityBatchOutput`](crate::output::ChangeMessageVisibilityBatchOutput) +pub mod change_message_visibility_batch_output { + /// A builder for [`ChangeMessageVisibilityBatchOutput`](crate::output::ChangeMessageVisibilityBatchOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) successful: std::option::Option< + std::vec::Vec, + >, + pub(crate) failed: std::option::Option>, + } + impl Builder { + pub fn successful( + mut self, + inp: impl Into, + ) -> Self { + let mut v = self.successful.unwrap_or_default(); + v.push(inp.into()); + self.successful = Some(v); + self + } + pub fn set_successful( + mut self, + inp: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.successful = inp; + self + } + pub fn failed(mut self, inp: impl Into) -> Self { + let mut v = self.failed.unwrap_or_default(); + v.push(inp.into()); + self.failed = Some(v); + self + } + pub fn set_failed( + mut self, + inp: std::option::Option>, + ) -> Self { + self.failed = inp; + self + } + /// Consumes the builder and constructs a [`ChangeMessageVisibilityBatchOutput`](crate::output::ChangeMessageVisibilityBatchOutput) + pub fn build(self) -> crate::output::ChangeMessageVisibilityBatchOutput { + crate::output::ChangeMessageVisibilityBatchOutput { + successful: self.successful, + failed: self.failed, + } + } + } +} +impl ChangeMessageVisibilityBatchOutput { + /// Creates a new builder-style object to manufacture [`ChangeMessageVisibilityBatchOutput`](crate::output::ChangeMessageVisibilityBatchOutput) + pub fn builder() -> crate::output::change_message_visibility_batch_output::Builder { + crate::output::change_message_visibility_batch_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChangeMessageVisibilityOutput {} +impl std::fmt::Debug for ChangeMessageVisibilityOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChangeMessageVisibilityOutput"); + formatter.finish() + } +} +/// See [`ChangeMessageVisibilityOutput`](crate::output::ChangeMessageVisibilityOutput) +pub mod change_message_visibility_output { + /// A builder for [`ChangeMessageVisibilityOutput`](crate::output::ChangeMessageVisibilityOutput) + #[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 [`ChangeMessageVisibilityOutput`](crate::output::ChangeMessageVisibilityOutput) + pub fn build(self) -> crate::output::ChangeMessageVisibilityOutput { + crate::output::ChangeMessageVisibilityOutput {} + } + } +} +impl ChangeMessageVisibilityOutput { + /// Creates a new builder-style object to manufacture [`ChangeMessageVisibilityOutput`](crate::output::ChangeMessageVisibilityOutput) + pub fn builder() -> crate::output::change_message_visibility_output::Builder { + crate::output::change_message_visibility_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AddPermissionOutput {} +impl std::fmt::Debug for AddPermissionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AddPermissionOutput"); + formatter.finish() + } +} +/// See [`AddPermissionOutput`](crate::output::AddPermissionOutput) +pub mod add_permission_output { + /// A builder for [`AddPermissionOutput`](crate::output::AddPermissionOutput) + #[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 [`AddPermissionOutput`](crate::output::AddPermissionOutput) + pub fn build(self) -> crate::output::AddPermissionOutput { + crate::output::AddPermissionOutput {} + } + } +} +impl AddPermissionOutput { + /// Creates a new builder-style object to manufacture [`AddPermissionOutput`](crate::output::AddPermissionOutput) + pub fn builder() -> crate::output::add_permission_output::Builder { + crate::output::add_permission_output::Builder::default() + } +} diff --git a/sdk/sqs/src/query_ser.rs b/sdk/sqs/src/query_ser.rs new file mode 100644 index 000000000000..36ea70fa42bb --- /dev/null +++ b/sdk/sqs/src/query_ser.rs @@ -0,0 +1,185 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(unused_mut)] +pub fn serialize_structure_change_message_visibility_batch_request_entry( + mut writer: smithy_query::QueryValueWriter, + input: &crate::model::ChangeMessageVisibilityBatchRequestEntry, +) { + #[allow(unused_mut)] + let mut scope_1 = writer.prefix("Id"); + if let Some(var_2) = &input.id { + scope_1.string(var_2); + } + #[allow(unused_mut)] + let mut scope_3 = writer.prefix("ReceiptHandle"); + if let Some(var_4) = &input.receipt_handle { + scope_3.string(var_4); + } + #[allow(unused_mut)] + let mut scope_5 = writer.prefix("VisibilityTimeout"); + scope_5.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.visibility_timeout).into()), + ); +} + +#[allow(unused_mut)] +pub fn serialize_structure_delete_message_batch_request_entry( + mut writer: smithy_query::QueryValueWriter, + input: &crate::model::DeleteMessageBatchRequestEntry, +) { + #[allow(unused_mut)] + let mut scope_6 = writer.prefix("Id"); + if let Some(var_7) = &input.id { + scope_6.string(var_7); + } + #[allow(unused_mut)] + let mut scope_8 = writer.prefix("ReceiptHandle"); + if let Some(var_9) = &input.receipt_handle { + scope_8.string(var_9); + } +} + +#[allow(unused_mut)] +pub fn serialize_structure_message_attribute_value( + mut writer: smithy_query::QueryValueWriter, + input: &crate::model::MessageAttributeValue, +) { + #[allow(unused_mut)] + let mut scope_10 = writer.prefix("StringValue"); + if let Some(var_11) = &input.string_value { + scope_10.string(var_11); + } + #[allow(unused_mut)] + let mut scope_12 = writer.prefix("BinaryValue"); + if let Some(var_13) = &input.binary_value { + scope_12.string(&smithy_http::base64::encode(var_13)); + } + #[allow(unused_mut)] + let mut scope_14 = writer.prefix("StringListValue"); + if let Some(var_15) = &input.string_list_values { + let mut list_17 = scope_14.start_list(true, Some("StringListValue")); + for item_16 in var_15 { + #[allow(unused_mut)] + let mut entry_18 = list_17.entry(); + entry_18.string(item_16); + } + list_17.finish(); + } + #[allow(unused_mut)] + let mut scope_19 = writer.prefix("BinaryListValue"); + if let Some(var_20) = &input.binary_list_values { + let mut list_22 = scope_19.start_list(true, Some("BinaryListValue")); + for item_21 in var_20 { + #[allow(unused_mut)] + let mut entry_23 = list_22.entry(); + entry_23.string(&smithy_http::base64::encode(item_21)); + } + list_22.finish(); + } + #[allow(unused_mut)] + let mut scope_24 = writer.prefix("DataType"); + if let Some(var_25) = &input.data_type { + scope_24.string(var_25); + } +} + +#[allow(unused_mut)] +pub fn serialize_structure_message_system_attribute_value( + mut writer: smithy_query::QueryValueWriter, + input: &crate::model::MessageSystemAttributeValue, +) { + #[allow(unused_mut)] + let mut scope_26 = writer.prefix("StringValue"); + if let Some(var_27) = &input.string_value { + scope_26.string(var_27); + } + #[allow(unused_mut)] + let mut scope_28 = writer.prefix("BinaryValue"); + if let Some(var_29) = &input.binary_value { + scope_28.string(&smithy_http::base64::encode(var_29)); + } + #[allow(unused_mut)] + let mut scope_30 = writer.prefix("StringListValue"); + if let Some(var_31) = &input.string_list_values { + let mut list_33 = scope_30.start_list(true, Some("StringListValue")); + for item_32 in var_31 { + #[allow(unused_mut)] + let mut entry_34 = list_33.entry(); + entry_34.string(item_32); + } + list_33.finish(); + } + #[allow(unused_mut)] + let mut scope_35 = writer.prefix("BinaryListValue"); + if let Some(var_36) = &input.binary_list_values { + let mut list_38 = scope_35.start_list(true, Some("BinaryListValue")); + for item_37 in var_36 { + #[allow(unused_mut)] + let mut entry_39 = list_38.entry(); + entry_39.string(&smithy_http::base64::encode(item_37)); + } + list_38.finish(); + } + #[allow(unused_mut)] + let mut scope_40 = writer.prefix("DataType"); + if let Some(var_41) = &input.data_type { + scope_40.string(var_41); + } +} + +#[allow(unused_mut)] +pub fn serialize_structure_send_message_batch_request_entry( + mut writer: smithy_query::QueryValueWriter, + input: &crate::model::SendMessageBatchRequestEntry, +) { + #[allow(unused_mut)] + let mut scope_42 = writer.prefix("Id"); + if let Some(var_43) = &input.id { + scope_42.string(var_43); + } + #[allow(unused_mut)] + let mut scope_44 = writer.prefix("MessageBody"); + if let Some(var_45) = &input.message_body { + scope_44.string(var_45); + } + #[allow(unused_mut)] + let mut scope_46 = writer.prefix("DelaySeconds"); + scope_46.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.delay_seconds).into()), + ); + #[allow(unused_mut)] + let mut scope_47 = writer.prefix("MessageAttribute"); + if let Some(var_48) = &input.message_attributes { + let mut map_49 = scope_47.start_map(true, "Name", "Value"); + for (key_50, value_51) in var_48 { + #[allow(unused_mut)] + let mut entry_52 = map_49.entry(key_50); + crate::query_ser::serialize_structure_message_attribute_value(entry_52, value_51); + } + map_49.finish(); + } + #[allow(unused_mut)] + let mut scope_53 = writer.prefix("MessageSystemAttribute"); + if let Some(var_54) = &input.message_system_attributes { + let mut map_55 = scope_53.start_map(true, "Name", "Value"); + for (key_56, value_57) in var_54 { + #[allow(unused_mut)] + let mut entry_58 = map_55.entry(key_56.as_str()); + crate::query_ser::serialize_structure_message_system_attribute_value( + entry_58, value_57, + ); + } + map_55.finish(); + } + #[allow(unused_mut)] + let mut scope_59 = writer.prefix("MessageDeduplicationId"); + if let Some(var_60) = &input.message_deduplication_id { + scope_59.string(var_60); + } + #[allow(unused_mut)] + let mut scope_61 = writer.prefix("MessageGroupId"); + if let Some(var_62) = &input.message_group_id { + scope_61.string(var_62); + } +} diff --git a/sdk/sqs/src/rest_xml_wrapped_errors.rs b/sdk/sqs/src/rest_xml_wrapped_errors.rs new file mode 100644 index 000000000000..cc8e3f403324 --- /dev/null +++ b/sdk/sqs/src/rest_xml_wrapped_errors.rs @@ -0,0 +1,116 @@ +// 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 smithy_xml::decode::{try_data, Document, ScopedDecoder, XmlError}; +use std::convert::TryFrom; + +#[allow(unused)] +pub fn body_is_error(body: &[u8]) -> Result { + let mut doc = Document::try_from(body)?; + let scoped = doc.root_element()?; + Ok(scoped.start_el().matches("ErrorResponse")) +} + +pub fn parse_generic_error(body: &[u8]) -> Result { + let mut doc = Document::try_from(body)?; + let mut root = doc.root_element()?; + let mut err_builder = smithy_types::Error::builder(); + while let Some(mut tag) = root.next_tag() { + match tag.start_el().local() { + "Error" => { + while let Some(mut error_field) = tag.next_tag() { + match error_field.start_el().local() { + "Code" => { + err_builder.code(try_data(&mut error_field)?); + } + "Message" => { + err_builder.message(try_data(&mut error_field)?); + } + _ => {} + } + } + } + "RequestId" => { + err_builder.request_id(try_data(&mut tag)?); + } + _ => {} + } + } + Ok(err_builder.build()) +} + +#[allow(unused)] +pub fn error_scope<'a, 'b>(doc: &'a mut Document<'b>) -> Result, XmlError> { + let root = doc + .next_start_element() + .ok_or_else(|| XmlError::custom("no root found searching for an Error"))?; + if !root.matches("ErrorResponse") { + return Err(XmlError::custom("expected ErrorResponse as root")); + } + + while let Some(el) = doc.next_start_element() { + if el.matches("Error") && el.depth() == 1 { + return Ok(doc.scoped_to(el)); + } + // otherwise, ignore it + } + Err(XmlError::custom("No Error found inside of ErrorResponse")) +} + +#[cfg(test)] +mod test { + use super::{body_is_error, parse_generic_error}; + use crate::rest_xml_wrapped_errors::error_scope; + use smithy_xml::decode::Document; + use std::convert::TryFrom; + + #[test] + fn parse_wrapped_error() { + let xml = br#" + + Sender + InvalidGreeting + Hi + setting + + + foo-id +"#; + assert!(body_is_error(xml).unwrap()); + let parsed = parse_generic_error(xml).expect("valid xml"); + assert_eq!(parsed.request_id(), Some("foo-id")); + assert_eq!(parsed.message(), Some("Hi")); + assert_eq!(parsed.code(), Some("InvalidGreeting")); + } + + #[test] + fn test_error_scope() { + let xml: &[u8] = br#" + foo-id + foo-id + These are not the errors you are looking for + + Sender + InvalidGreeting + Hi + setting + + + foo-id +"#; + let mut doc = Document::try_from(xml).expect("valid"); + let mut error = error_scope(&mut doc).expect("contains error"); + let mut keys = vec![]; + while let Some(tag) = error.next_tag() { + keys.push(tag.start_el().local().to_owned()); + // read this the full contents of this element + } + assert_eq!( + keys, + vec!["Type", "Code", "Message", "AnotherSetting", "Ignore",] + ) + } +} diff --git a/sdk/sqs/src/xml_deser.rs b/sdk/sqs/src/xml_deser.rs new file mode 100644 index 000000000000..c50978bb5872 --- /dev/null +++ b/sdk/sqs/src/xml_deser.rs @@ -0,0 +1,1436 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn parse_generic_error( + response: &http::Response, +) -> Result { + crate::rest_xml_wrapped_errors::parse_generic_error(response.body().as_ref()) +} + +#[allow(unused_mut)] +pub fn over_limit( + inp: &[u8], + mut builder: crate::error::over_limit::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn message_not_inflight( + inp: &[u8], + mut builder: crate::error::message_not_inflight::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn receipt_handle_is_invalid( + inp: &[u8], + mut builder: crate::error::receipt_handle_is_invalid::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn batch_entry_ids_not_distinct( + inp: &[u8], + mut builder: crate::error::batch_entry_ids_not_distinct::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn empty_batch_request( + inp: &[u8], + mut builder: crate::error::empty_batch_request::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn invalid_batch_entry_id( + inp: &[u8], + mut builder: crate::error::invalid_batch_entry_id::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn too_many_entries_in_batch_request( + inp: &[u8], + mut builder: crate::error::too_many_entries_in_batch_request::Builder, +) -> Result +{ + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_change_message_visibility_batch( + inp: &[u8], + mut builder: crate::output::change_message_visibility_batch_output::Builder, +) -> Result< + crate::output::change_message_visibility_batch_output::Builder, + smithy_xml::decode::XmlError, +> { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("ChangeMessageVisibilityBatchResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected ChangeMessageVisibilityBatchResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("ChangeMessageVisibilityBatchResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected ChangeMessageVisibilityBatchResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("ChangeMessageVisibilityBatchResultEntry") /* Successful com.amazonaws.sqs#ChangeMessageVisibilityBatchOutput$Successful */ => { + let var_1 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_2 = builder.successful.take().unwrap_or_default(); + list_2.push( + crate::xml_deser::change_message_visibility_batch_result_entry_inner(&mut tag) + ? + ); + list_2 + }) + ? + ) + ; + builder = builder.set_successful(var_1); + } + , + s if s.matches("BatchResultErrorEntry") /* Failed com.amazonaws.sqs#ChangeMessageVisibilityBatchOutput$Failed */ => { + let var_3 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_4 = builder.failed.take().unwrap_or_default(); + list_4.push( + crate::xml_deser::batch_result_error_entry_inner(&mut tag) + ? + ); + list_4 + }) + ? + ) + ; + builder = builder.set_failed(var_3); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected ChangeMessageVisibilityBatchResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn queue_deleted_recently( + inp: &[u8], + mut builder: crate::error::queue_deleted_recently::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn queue_name_exists( + inp: &[u8], + mut builder: crate::error::queue_name_exists::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_create_queue( + inp: &[u8], + mut builder: crate::output::create_queue_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("CreateQueueResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected CreateQueueResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("CreateQueueResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected CreateQueueResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("QueueUrl") /* QueueUrl com.amazonaws.sqs#CreateQueueOutput$QueueUrl */ => { + let var_5 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_queue_url(var_5); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected CreateQueueResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn invalid_id_format( + inp: &[u8], + mut builder: crate::error::invalid_id_format::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_delete_message_batch( + inp: &[u8], + mut builder: crate::output::delete_message_batch_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("DeleteMessageBatchResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected DeleteMessageBatchResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("DeleteMessageBatchResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected DeleteMessageBatchResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("DeleteMessageBatchResultEntry") /* Successful com.amazonaws.sqs#DeleteMessageBatchOutput$Successful */ => { + let var_6 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_7 = builder.successful.take().unwrap_or_default(); + list_7.push( + crate::xml_deser::delete_message_batch_result_entry_inner(&mut tag) + ? + ); + list_7 + }) + ? + ) + ; + builder = builder.set_successful(var_6); + } + , + s if s.matches("BatchResultErrorEntry") /* Failed com.amazonaws.sqs#DeleteMessageBatchOutput$Failed */ => { + let var_8 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_9 = builder.failed.take().unwrap_or_default(); + list_9.push( + crate::xml_deser::batch_result_error_entry_inner(&mut tag) + ? + ); + list_9 + }) + ? + ) + ; + builder = builder.set_failed(var_8); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected DeleteMessageBatchResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn invalid_attribute_name( + inp: &[u8], + mut builder: crate::error::invalid_attribute_name::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_get_queue_attributes( + inp: &[u8], + mut builder: crate::output::get_queue_attributes_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("GetQueueAttributesResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected GetQueueAttributesResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("GetQueueAttributesResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected GetQueueAttributesResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("Attribute") /* Attributes com.amazonaws.sqs#GetQueueAttributesOutput$Attributes */ => { + let var_10 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut map_11 = builder.attributes.take().unwrap_or_default(); + crate::xml_deser::queue_attribute_map_entry(&mut tag, &mut map_11)?; + map_11 + }) + ? + ) + ; + builder = builder.set_attributes(var_10); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected GetQueueAttributesResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn queue_does_not_exist( + inp: &[u8], + mut builder: crate::error::queue_does_not_exist::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_get_queue_url( + inp: &[u8], + mut builder: crate::output::get_queue_url_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("GetQueueUrlResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected GetQueueUrlResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("GetQueueUrlResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected GetQueueUrlResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("QueueUrl") /* QueueUrl com.amazonaws.sqs#GetQueueUrlOutput$QueueUrl */ => { + let var_12 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_queue_url(var_12); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected GetQueueUrlResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_list_dead_letter_source_queues( + inp: &[u8], + mut builder: crate::output::list_dead_letter_source_queues_output::Builder, +) -> Result< + crate::output::list_dead_letter_source_queues_output::Builder, + smithy_xml::decode::XmlError, +> { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("ListDeadLetterSourceQueuesResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected ListDeadLetterSourceQueuesResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("ListDeadLetterSourceQueuesResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected ListDeadLetterSourceQueuesResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("QueueUrl") /* queueUrls com.amazonaws.sqs#ListDeadLetterSourceQueuesOutput$queueUrls */ => { + let var_13 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_14 = builder.queue_urls.take().unwrap_or_default(); + list_14.push( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ); + list_14 + }) + ? + ) + ; + builder = builder.set_queue_urls(var_13); + } + , + s if s.matches("NextToken") /* NextToken com.amazonaws.sqs#ListDeadLetterSourceQueuesOutput$NextToken */ => { + let var_15 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_next_token(var_15); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected ListDeadLetterSourceQueuesResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_list_queues( + inp: &[u8], + mut builder: crate::output::list_queues_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("ListQueuesResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected ListQueuesResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("ListQueuesResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected ListQueuesResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("NextToken") /* NextToken com.amazonaws.sqs#ListQueuesOutput$NextToken */ => { + let var_16 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_next_token(var_16); + } + , + s if s.matches("QueueUrl") /* QueueUrls com.amazonaws.sqs#ListQueuesOutput$QueueUrls */ => { + let var_17 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_18 = builder.queue_urls.take().unwrap_or_default(); + list_18.push( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ); + list_18 + }) + ? + ) + ; + builder = builder.set_queue_urls(var_17); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected ListQueuesResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_list_queue_tags( + inp: &[u8], + mut builder: crate::output::list_queue_tags_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("ListQueueTagsResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected ListQueueTagsResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("ListQueueTagsResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected ListQueueTagsResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("Tag") /* Tags com.amazonaws.sqs#ListQueueTagsOutput$Tags */ => { + let var_19 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut map_20 = builder.tags.take().unwrap_or_default(); + crate::xml_deser::tag_map_entry(&mut tag, &mut map_20)?; + map_20 + }) + ? + ) + ; + builder = builder.set_tags(var_19); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected ListQueueTagsResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn purge_queue_in_progress( + inp: &[u8], + mut builder: crate::error::purge_queue_in_progress::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_receive_message( + inp: &[u8], + mut builder: crate::output::receive_message_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("ReceiveMessageResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected ReceiveMessageResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("ReceiveMessageResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected ReceiveMessageResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("Message") /* Messages com.amazonaws.sqs#ReceiveMessageOutput$Messages */ => { + let var_21 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_22 = builder.messages.take().unwrap_or_default(); + list_22.push( + crate::xml_deser::message_inner(&mut tag) + ? + ); + list_22 + }) + ? + ) + ; + builder = builder.set_messages(var_21); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected ReceiveMessageResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn invalid_message_contents( + inp: &[u8], + mut builder: crate::error::invalid_message_contents::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn unsupported_operation( + inp: &[u8], + mut builder: crate::error::unsupported_operation::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_send_message( + inp: &[u8], + mut builder: crate::output::send_message_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("SendMessageResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected SendMessageResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("SendMessageResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected SendMessageResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("MD5OfMessageBody") /* MD5OfMessageBody com.amazonaws.sqs#SendMessageOutput$MD5OfMessageBody */ => { + let var_23 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_body(var_23); + } + , + s if s.matches("MD5OfMessageAttributes") /* MD5OfMessageAttributes com.amazonaws.sqs#SendMessageOutput$MD5OfMessageAttributes */ => { + let var_24 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_attributes(var_24); + } + , + s if s.matches("MD5OfMessageSystemAttributes") /* MD5OfMessageSystemAttributes com.amazonaws.sqs#SendMessageOutput$MD5OfMessageSystemAttributes */ => { + let var_25 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_system_attributes(var_25); + } + , + s if s.matches("MessageId") /* MessageId com.amazonaws.sqs#SendMessageOutput$MessageId */ => { + let var_26 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_message_id(var_26); + } + , + s if s.matches("SequenceNumber") /* SequenceNumber com.amazonaws.sqs#SendMessageOutput$SequenceNumber */ => { + let var_27 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_sequence_number(var_27); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected SendMessageResult tag", + )); + }; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn batch_request_too_long( + inp: &[u8], + mut builder: crate::error::batch_request_too_long::Builder, +) -> Result { + let _ = inp; + Ok(builder) +} + +#[allow(unused_mut)] +pub fn deser_operation_send_message_batch( + inp: &[u8], + mut builder: crate::output::send_message_batch_output::Builder, +) -> Result { + use std::convert::TryFrom; + let mut doc = smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + let start_el = decoder.start_el(); + if !(start_el.matches("SendMessageBatchResponse")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid root, expected SendMessageBatchResponse got {:?}", + start_el + ))); + } + if let Some(mut result_tag) = decoder.next_tag() { + let start_el = result_tag.start_el(); + if !(start_el.matches("SendMessageBatchResult")) { + return Err(smithy_xml::decode::XmlError::custom(format!( + "invalid result, expected SendMessageBatchResult got {:?}", + start_el + ))); + } + while let Some(mut tag) = result_tag.next_tag() { + match tag.start_el() { + s if s.matches("SendMessageBatchResultEntry") /* Successful com.amazonaws.sqs#SendMessageBatchOutput$Successful */ => { + let var_28 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_29 = builder.successful.take().unwrap_or_default(); + list_29.push( + crate::xml_deser::send_message_batch_result_entry_inner(&mut tag) + ? + ); + list_29 + }) + ? + ) + ; + builder = builder.set_successful(var_28); + } + , + s if s.matches("BatchResultErrorEntry") /* Failed com.amazonaws.sqs#SendMessageBatchOutput$Failed */ => { + let var_30 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_31 = builder.failed.take().unwrap_or_default(); + list_31.push( + crate::xml_deser::batch_result_error_entry_inner(&mut tag) + ? + ); + list_31 + }) + ? + ) + ; + builder = builder.set_failed(var_30); + } + , + _ => {} + } + } + } else { + return Err(smithy_xml::decode::XmlError::custom( + "expected SendMessageBatchResult tag", + )); + }; + Ok(builder) +} + +pub fn change_message_visibility_batch_result_entry_inner( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::ChangeMessageVisibilityBatchResultEntry::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Id") /* Id com.amazonaws.sqs#ChangeMessageVisibilityBatchResultEntry$Id */ => { + let var_32 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_id(var_32); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn batch_result_error_entry_inner( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::BatchResultErrorEntry::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Id") /* Id com.amazonaws.sqs#BatchResultErrorEntry$Id */ => { + let var_33 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_id(var_33); + } + , + s if s.matches("SenderFault") /* SenderFault com.amazonaws.sqs#BatchResultErrorEntry$SenderFault */ => { + let var_34 = + { + use std::str::FromStr; + bool::from_str( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (boolean: `com.amazonaws.sqs#Boolean`)")) + } + ? + ; + builder = builder.set_sender_fault(var_34); + } + , + s if s.matches("Code") /* Code com.amazonaws.sqs#BatchResultErrorEntry$Code */ => { + let var_35 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_code(var_35); + } + , + s if s.matches("Message") /* Message com.amazonaws.sqs#BatchResultErrorEntry$Message */ => { + let var_36 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_message(var_36); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn delete_message_batch_result_entry_inner( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::DeleteMessageBatchResultEntry::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Id") /* Id com.amazonaws.sqs#DeleteMessageBatchResultEntry$Id */ => { + let var_37 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_id(var_37); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn queue_attribute_map_entry( + decoder: &mut smithy_xml::decode::ScopedDecoder, + out: &mut std::collections::HashMap, +) -> Result<(), smithy_xml::decode::XmlError> { + let mut k: Option = None; + let mut v: Option = None; + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Name") /* key com.amazonaws.sqs#QueueAttributeMap$key */ => { + k = Some( + Result::::Ok( + crate::model::QueueAttributeName::from( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + ) + ? + ) + } + , + s if s.matches("Value") /* value com.amazonaws.sqs#QueueAttributeMap$value */ => { + v = Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + } + , + _ => {} + } + } + let k = k.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing key map entry"))?; + let v = v.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing value map entry"))?; + out.insert(k, v); + Ok(()) +} + +pub fn tag_map_entry( + decoder: &mut smithy_xml::decode::ScopedDecoder, + out: &mut std::collections::HashMap, +) -> Result<(), smithy_xml::decode::XmlError> { + let mut k: Option = None; + let mut v: Option = None; + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Key") /* key com.amazonaws.sqs#TagMap$key */ => { + k = Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + } + , + s if s.matches("Value") /* value com.amazonaws.sqs#TagMap$value */ => { + v = Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + } + , + _ => {} + } + } + let k = k.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing key map entry"))?; + let v = v.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing value map entry"))?; + out.insert(k, v); + Ok(()) +} + +pub fn message_inner( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::Message::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("MessageId") /* MessageId com.amazonaws.sqs#Message$MessageId */ => { + let var_38 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_message_id(var_38); + } + , + s if s.matches("ReceiptHandle") /* ReceiptHandle com.amazonaws.sqs#Message$ReceiptHandle */ => { + let var_39 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_receipt_handle(var_39); + } + , + s if s.matches("MD5OfBody") /* MD5OfBody com.amazonaws.sqs#Message$MD5OfBody */ => { + let var_40 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_body(var_40); + } + , + s if s.matches("Body") /* Body com.amazonaws.sqs#Message$Body */ => { + let var_41 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_body(var_41); + } + , + s if s.matches("Attribute") /* Attributes com.amazonaws.sqs#Message$Attributes */ => { + let var_42 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut map_43 = builder.attributes.take().unwrap_or_default(); + crate::xml_deser::message_system_attribute_map_entry(&mut tag, &mut map_43)?; + map_43 + }) + ? + ) + ; + builder = builder.set_attributes(var_42); + } + , + s if s.matches("MD5OfMessageAttributes") /* MD5OfMessageAttributes com.amazonaws.sqs#Message$MD5OfMessageAttributes */ => { + let var_44 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_attributes(var_44); + } + , + s if s.matches("MessageAttribute") /* MessageAttributes com.amazonaws.sqs#Message$MessageAttributes */ => { + let var_45 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut map_46 = builder.message_attributes.take().unwrap_or_default(); + crate::xml_deser::message_body_attribute_map_entry(&mut tag, &mut map_46)?; + map_46 + }) + ? + ) + ; + builder = builder.set_message_attributes(var_45); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn send_message_batch_result_entry_inner( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::SendMessageBatchResultEntry::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Id") /* Id com.amazonaws.sqs#SendMessageBatchResultEntry$Id */ => { + let var_47 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_id(var_47); + } + , + s if s.matches("MessageId") /* MessageId com.amazonaws.sqs#SendMessageBatchResultEntry$MessageId */ => { + let var_48 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_message_id(var_48); + } + , + s if s.matches("MD5OfMessageBody") /* MD5OfMessageBody com.amazonaws.sqs#SendMessageBatchResultEntry$MD5OfMessageBody */ => { + let var_49 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_body(var_49); + } + , + s if s.matches("MD5OfMessageAttributes") /* MD5OfMessageAttributes com.amazonaws.sqs#SendMessageBatchResultEntry$MD5OfMessageAttributes */ => { + let var_50 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_attributes(var_50); + } + , + s if s.matches("MD5OfMessageSystemAttributes") /* MD5OfMessageSystemAttributes com.amazonaws.sqs#SendMessageBatchResultEntry$MD5OfMessageSystemAttributes */ => { + let var_51 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_md5_of_message_system_attributes(var_51); + } + , + s if s.matches("SequenceNumber") /* SequenceNumber com.amazonaws.sqs#SendMessageBatchResultEntry$SequenceNumber */ => { + let var_52 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_sequence_number(var_52); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn message_system_attribute_map_entry( + decoder: &mut smithy_xml::decode::ScopedDecoder, + out: &mut std::collections::HashMap< + crate::model::MessageSystemAttributeName, + std::string::String, + >, +) -> Result<(), smithy_xml::decode::XmlError> { + let mut k: Option = None; + let mut v: Option = None; + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Name") /* key com.amazonaws.sqs#MessageSystemAttributeMap$key */ => { + k = Some( + Result::::Ok( + crate::model::MessageSystemAttributeName::from( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + ) + ? + ) + } + , + s if s.matches("Value") /* value com.amazonaws.sqs#MessageSystemAttributeMap$value */ => { + v = Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + } + , + _ => {} + } + } + let k = k.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing key map entry"))?; + let v = v.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing value map entry"))?; + out.insert(k, v); + Ok(()) +} + +pub fn message_body_attribute_map_entry( + decoder: &mut smithy_xml::decode::ScopedDecoder, + out: &mut std::collections::HashMap, +) -> Result<(), smithy_xml::decode::XmlError> { + let mut k: Option = None; + let mut v: Option = None; + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("Name") /* key com.amazonaws.sqs#MessageBodyAttributeMap$key */ => { + k = Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + } + , + s if s.matches("Value") /* value com.amazonaws.sqs#MessageBodyAttributeMap$value */ => { + v = Some( + crate::xml_deser::message_attribute_value_inner(&mut tag) + ? + ) + } + , + _ => {} + } + } + let k = k.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing key map entry"))?; + let v = v.ok_or_else(|| smithy_xml::decode::XmlError::custom("missing value map entry"))?; + out.insert(k, v); + Ok(()) +} + +pub fn message_attribute_value_inner( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::MessageAttributeValue::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("StringValue") /* StringValue com.amazonaws.sqs#MessageAttributeValue$StringValue */ => { + let var_53 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_string_value(var_53); + } + , + s if s.matches("BinaryValue") /* BinaryValue com.amazonaws.sqs#MessageAttributeValue$BinaryValue */ => { + let var_54 = + Some( + smithy_http::base64::decode( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|err|smithy_xml::decode::XmlError::custom(format!("invalid base64: {:?}", err))).map(smithy_types::Blob::new) + ? + ) + ; + builder = builder.set_binary_value(var_54); + } + , + s if s.matches("StringListValue") /* StringListValues com.amazonaws.sqs#MessageAttributeValue$StringListValues */ => { + let var_55 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_56 = builder.string_list_values.take().unwrap_or_default(); + list_56.push( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ); + list_56 + }) + ? + ) + ; + builder = builder.set_string_list_values(var_55); + } + , + s if s.matches("BinaryListValue") /* BinaryListValues com.amazonaws.sqs#MessageAttributeValue$BinaryListValues */ => { + let var_57 = + Some( + Result::, smithy_xml::decode::XmlError>::Ok({ + let mut list_58 = builder.binary_list_values.take().unwrap_or_default(); + list_58.push( + smithy_http::base64::decode( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|err|smithy_xml::decode::XmlError::custom(format!("invalid base64: {:?}", err))).map(smithy_types::Blob::new) + ? + ); + list_58 + }) + ? + ) + ; + builder = builder.set_binary_list_values(var_57); + } + , + s if s.matches("DataType") /* DataType com.amazonaws.sqs#MessageAttributeValue$DataType */ => { + let var_59 = + Some( + Result::::Ok( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_data_type(var_59); + } + , + _ => {} + } + } + Ok(builder.build()) +} diff --git a/sdk/ssm/Cargo.toml b/sdk/ssm/Cargo.toml index 2eda943ebd2c..a6e6734ae740 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.5-alpha" +version = "0.0.6-alpha" description = "AWS Systems Manager\n

    AWS 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 AWS Systems Manager User Guide.

    \n

    To get started, verify prerequisites and configure managed instances. For more information,\n see Setting up\n AWS Systems Manager in the AWS Systems Manager User Guide.

    \n

    \n Related resources\n

    \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" @@ -34,6 +34,8 @@ version = "0.2" [dependencies.serde_json] version = "1" features = ["float_roundtrip"] +[dependencies.smithy-json] +path = "..//smithy-json" [dependencies.bytes] version = "1" [features] diff --git a/sdk/ssm/src/aws_json_errors.rs b/sdk/ssm/src/aws_json_errors.rs index 15922370daa5..d8c9e67c9716 100644 --- a/sdk/ssm/src/aws_json_errors.rs +++ b/sdk/ssm/src/aws_json_errors.rs @@ -46,26 +46,30 @@ pub fn parse_generic_error( response: &http::Response, body: &serde_json::Value, ) -> smithy_types::Error { + let mut err_builder = smithy_types::Error::builder(); let code = error_type_from_header(&response) .unwrap_or(Some("header was not valid UTF-8")) .or_else(|| error_type_from_body(body)) - .map(|s| sanitize_error_code(s).to_string()); + .map(|s| sanitize_error_code(s)); + if let Some(code) = code { + err_builder.code(code); + } let message = body .get("message") .or_else(|| body.get("Message")) .or_else(|| body.get("errorMessage")) - .and_then(|v| v.as_str()) - .map(|s| s.to_string()); + .and_then(|v| v.as_str()); + if let Some(message) = message { + err_builder.message(message); + } let request_id = response .headers() .get("X-Amzn-Requestid") - .and_then(|v| v.to_str().ok()) - .map(|s| s.to_string()); - smithy_types::Error { - code, - message, - request_id, + .and_then(|v| v.to_str().ok()); + if let Some(request_id) = request_id { + err_builder.request_id(request_id); } + err_builder.build() } #[cfg(test)] @@ -85,11 +89,11 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("FooError".to_string()), - message: Some("Go to foo".to_string()), - request_id: Some("1234".to_string()), - } + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() ) } @@ -152,13 +156,10 @@ mod test { .unwrap(); assert_eq!( parse_generic_error(&response, response.body()), - Error { - code: Some("ResourceNotFoundException".to_string()), - message: Some( - "Functions from 'us-west-2' are not reachable from us-east-1".to_string() - ), - request_id: None, - } - ) + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); } } diff --git a/sdk/ssm/src/client.rs b/sdk/ssm/src/client.rs index 10cd926e0ba2..04b811e91823 100644 --- a/sdk/ssm/src/client.rs +++ b/sdk/ssm/src/client.rs @@ -1,5 +1,4 @@ // 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, @@ -10,7 +9,6 @@ pub(crate) struct Handle { pub struct Client { handle: std::sync::Arc, } - impl Client { #[cfg(any(feature = "rustls", feature = "native-tls"))] pub fn from_env() -> Self { @@ -35,607 +33,471 @@ impl Client { pub fn conf(&self) -> &crate::Config { &self.handle.conf } - pub fn add_tags_to_resource(&self) -> fluent_builders::AddTagsToResource { fluent_builders::AddTagsToResource::new(self.handle.clone()) } - pub fn associate_ops_item_related_item(&self) -> fluent_builders::AssociateOpsItemRelatedItem { fluent_builders::AssociateOpsItemRelatedItem::new(self.handle.clone()) } - pub fn cancel_command(&self) -> fluent_builders::CancelCommand { fluent_builders::CancelCommand::new(self.handle.clone()) } - pub fn cancel_maintenance_window_execution( &self, ) -> fluent_builders::CancelMaintenanceWindowExecution { fluent_builders::CancelMaintenanceWindowExecution::new(self.handle.clone()) } - pub fn create_activation(&self) -> fluent_builders::CreateActivation { fluent_builders::CreateActivation::new(self.handle.clone()) } - pub fn create_association(&self) -> fluent_builders::CreateAssociation { fluent_builders::CreateAssociation::new(self.handle.clone()) } - pub fn create_association_batch(&self) -> fluent_builders::CreateAssociationBatch { fluent_builders::CreateAssociationBatch::new(self.handle.clone()) } - pub fn create_document(&self) -> fluent_builders::CreateDocument { fluent_builders::CreateDocument::new(self.handle.clone()) } - pub fn create_maintenance_window(&self) -> fluent_builders::CreateMaintenanceWindow { fluent_builders::CreateMaintenanceWindow::new(self.handle.clone()) } - pub fn create_ops_item(&self) -> fluent_builders::CreateOpsItem { fluent_builders::CreateOpsItem::new(self.handle.clone()) } - pub fn create_ops_metadata(&self) -> fluent_builders::CreateOpsMetadata { fluent_builders::CreateOpsMetadata::new(self.handle.clone()) } - pub fn create_patch_baseline(&self) -> fluent_builders::CreatePatchBaseline { fluent_builders::CreatePatchBaseline::new(self.handle.clone()) } - pub fn create_resource_data_sync(&self) -> fluent_builders::CreateResourceDataSync { fluent_builders::CreateResourceDataSync::new(self.handle.clone()) } - pub fn delete_activation(&self) -> fluent_builders::DeleteActivation { fluent_builders::DeleteActivation::new(self.handle.clone()) } - pub fn delete_association(&self) -> fluent_builders::DeleteAssociation { fluent_builders::DeleteAssociation::new(self.handle.clone()) } - pub fn delete_document(&self) -> fluent_builders::DeleteDocument { fluent_builders::DeleteDocument::new(self.handle.clone()) } - pub fn delete_inventory(&self) -> fluent_builders::DeleteInventory { fluent_builders::DeleteInventory::new(self.handle.clone()) } - pub fn delete_maintenance_window(&self) -> fluent_builders::DeleteMaintenanceWindow { fluent_builders::DeleteMaintenanceWindow::new(self.handle.clone()) } - pub fn delete_ops_metadata(&self) -> fluent_builders::DeleteOpsMetadata { fluent_builders::DeleteOpsMetadata::new(self.handle.clone()) } - pub fn delete_parameter(&self) -> fluent_builders::DeleteParameter { fluent_builders::DeleteParameter::new(self.handle.clone()) } - pub fn delete_parameters(&self) -> fluent_builders::DeleteParameters { fluent_builders::DeleteParameters::new(self.handle.clone()) } - pub fn delete_patch_baseline(&self) -> fluent_builders::DeletePatchBaseline { fluent_builders::DeletePatchBaseline::new(self.handle.clone()) } - pub fn delete_resource_data_sync(&self) -> fluent_builders::DeleteResourceDataSync { fluent_builders::DeleteResourceDataSync::new(self.handle.clone()) } - pub fn deregister_managed_instance(&self) -> fluent_builders::DeregisterManagedInstance { fluent_builders::DeregisterManagedInstance::new(self.handle.clone()) } - pub fn deregister_patch_baseline_for_patch_group( &self, ) -> fluent_builders::DeregisterPatchBaselineForPatchGroup { fluent_builders::DeregisterPatchBaselineForPatchGroup::new(self.handle.clone()) } - pub fn deregister_target_from_maintenance_window( &self, ) -> fluent_builders::DeregisterTargetFromMaintenanceWindow { fluent_builders::DeregisterTargetFromMaintenanceWindow::new(self.handle.clone()) } - pub fn deregister_task_from_maintenance_window( &self, ) -> fluent_builders::DeregisterTaskFromMaintenanceWindow { fluent_builders::DeregisterTaskFromMaintenanceWindow::new(self.handle.clone()) } - pub fn describe_activations(&self) -> fluent_builders::DescribeActivations { fluent_builders::DescribeActivations::new(self.handle.clone()) } - pub fn describe_association(&self) -> fluent_builders::DescribeAssociation { fluent_builders::DescribeAssociation::new(self.handle.clone()) } - pub fn describe_association_executions( &self, ) -> fluent_builders::DescribeAssociationExecutions { fluent_builders::DescribeAssociationExecutions::new(self.handle.clone()) } - pub fn describe_association_execution_targets( &self, ) -> fluent_builders::DescribeAssociationExecutionTargets { fluent_builders::DescribeAssociationExecutionTargets::new(self.handle.clone()) } - pub fn describe_automation_executions(&self) -> fluent_builders::DescribeAutomationExecutions { fluent_builders::DescribeAutomationExecutions::new(self.handle.clone()) } - pub fn describe_automation_step_executions( &self, ) -> fluent_builders::DescribeAutomationStepExecutions { fluent_builders::DescribeAutomationStepExecutions::new(self.handle.clone()) } - pub fn describe_available_patches(&self) -> fluent_builders::DescribeAvailablePatches { fluent_builders::DescribeAvailablePatches::new(self.handle.clone()) } - pub fn describe_document(&self) -> fluent_builders::DescribeDocument { fluent_builders::DescribeDocument::new(self.handle.clone()) } - pub fn describe_document_permission(&self) -> fluent_builders::DescribeDocumentPermission { fluent_builders::DescribeDocumentPermission::new(self.handle.clone()) } - pub fn describe_effective_instance_associations( &self, ) -> fluent_builders::DescribeEffectiveInstanceAssociations { fluent_builders::DescribeEffectiveInstanceAssociations::new(self.handle.clone()) } - pub fn describe_effective_patches_for_patch_baseline( &self, ) -> fluent_builders::DescribeEffectivePatchesForPatchBaseline { fluent_builders::DescribeEffectivePatchesForPatchBaseline::new(self.handle.clone()) } - pub fn describe_instance_associations_status( &self, ) -> fluent_builders::DescribeInstanceAssociationsStatus { fluent_builders::DescribeInstanceAssociationsStatus::new(self.handle.clone()) } - pub fn describe_instance_information(&self) -> fluent_builders::DescribeInstanceInformation { fluent_builders::DescribeInstanceInformation::new(self.handle.clone()) } - pub fn describe_instance_patches(&self) -> fluent_builders::DescribeInstancePatches { fluent_builders::DescribeInstancePatches::new(self.handle.clone()) } - pub fn describe_instance_patch_states(&self) -> fluent_builders::DescribeInstancePatchStates { fluent_builders::DescribeInstancePatchStates::new(self.handle.clone()) } - pub fn describe_instance_patch_states_for_patch_group( &self, ) -> fluent_builders::DescribeInstancePatchStatesForPatchGroup { fluent_builders::DescribeInstancePatchStatesForPatchGroup::new(self.handle.clone()) } - pub fn describe_inventory_deletions(&self) -> fluent_builders::DescribeInventoryDeletions { fluent_builders::DescribeInventoryDeletions::new(self.handle.clone()) } - pub fn describe_maintenance_window_executions( &self, ) -> fluent_builders::DescribeMaintenanceWindowExecutions { fluent_builders::DescribeMaintenanceWindowExecutions::new(self.handle.clone()) } - pub fn describe_maintenance_window_execution_task_invocations( &self, ) -> fluent_builders::DescribeMaintenanceWindowExecutionTaskInvocations { fluent_builders::DescribeMaintenanceWindowExecutionTaskInvocations::new(self.handle.clone()) } - pub fn describe_maintenance_window_execution_tasks( &self, ) -> fluent_builders::DescribeMaintenanceWindowExecutionTasks { fluent_builders::DescribeMaintenanceWindowExecutionTasks::new(self.handle.clone()) } - pub fn describe_maintenance_windows(&self) -> fluent_builders::DescribeMaintenanceWindows { fluent_builders::DescribeMaintenanceWindows::new(self.handle.clone()) } - pub fn describe_maintenance_window_schedule( &self, ) -> fluent_builders::DescribeMaintenanceWindowSchedule { fluent_builders::DescribeMaintenanceWindowSchedule::new(self.handle.clone()) } - pub fn describe_maintenance_windows_for_target( &self, ) -> fluent_builders::DescribeMaintenanceWindowsForTarget { fluent_builders::DescribeMaintenanceWindowsForTarget::new(self.handle.clone()) } - pub fn describe_maintenance_window_targets( &self, ) -> fluent_builders::DescribeMaintenanceWindowTargets { fluent_builders::DescribeMaintenanceWindowTargets::new(self.handle.clone()) } - pub fn describe_maintenance_window_tasks( &self, ) -> fluent_builders::DescribeMaintenanceWindowTasks { fluent_builders::DescribeMaintenanceWindowTasks::new(self.handle.clone()) } - pub fn describe_ops_items(&self) -> fluent_builders::DescribeOpsItems { fluent_builders::DescribeOpsItems::new(self.handle.clone()) } - pub fn describe_parameters(&self) -> fluent_builders::DescribeParameters { fluent_builders::DescribeParameters::new(self.handle.clone()) } - pub fn describe_patch_baselines(&self) -> fluent_builders::DescribePatchBaselines { fluent_builders::DescribePatchBaselines::new(self.handle.clone()) } - pub fn describe_patch_groups(&self) -> fluent_builders::DescribePatchGroups { fluent_builders::DescribePatchGroups::new(self.handle.clone()) } - pub fn describe_patch_group_state(&self) -> fluent_builders::DescribePatchGroupState { fluent_builders::DescribePatchGroupState::new(self.handle.clone()) } - pub fn describe_patch_properties(&self) -> fluent_builders::DescribePatchProperties { fluent_builders::DescribePatchProperties::new(self.handle.clone()) } - pub fn describe_sessions(&self) -> fluent_builders::DescribeSessions { fluent_builders::DescribeSessions::new(self.handle.clone()) } - pub fn disassociate_ops_item_related_item( &self, ) -> fluent_builders::DisassociateOpsItemRelatedItem { fluent_builders::DisassociateOpsItemRelatedItem::new(self.handle.clone()) } - pub fn get_automation_execution(&self) -> fluent_builders::GetAutomationExecution { fluent_builders::GetAutomationExecution::new(self.handle.clone()) } - pub fn get_calendar_state(&self) -> fluent_builders::GetCalendarState { fluent_builders::GetCalendarState::new(self.handle.clone()) } - pub fn get_command_invocation(&self) -> fluent_builders::GetCommandInvocation { fluent_builders::GetCommandInvocation::new(self.handle.clone()) } - pub fn get_connection_status(&self) -> fluent_builders::GetConnectionStatus { fluent_builders::GetConnectionStatus::new(self.handle.clone()) } - pub fn get_default_patch_baseline(&self) -> fluent_builders::GetDefaultPatchBaseline { fluent_builders::GetDefaultPatchBaseline::new(self.handle.clone()) } - pub fn get_deployable_patch_snapshot_for_instance( &self, ) -> fluent_builders::GetDeployablePatchSnapshotForInstance { fluent_builders::GetDeployablePatchSnapshotForInstance::new(self.handle.clone()) } - pub fn get_document(&self) -> fluent_builders::GetDocument { fluent_builders::GetDocument::new(self.handle.clone()) } - pub fn get_inventory(&self) -> fluent_builders::GetInventory { fluent_builders::GetInventory::new(self.handle.clone()) } - pub fn get_inventory_schema(&self) -> fluent_builders::GetInventorySchema { fluent_builders::GetInventorySchema::new(self.handle.clone()) } - pub fn get_maintenance_window(&self) -> fluent_builders::GetMaintenanceWindow { fluent_builders::GetMaintenanceWindow::new(self.handle.clone()) } - pub fn get_maintenance_window_execution( &self, ) -> fluent_builders::GetMaintenanceWindowExecution { fluent_builders::GetMaintenanceWindowExecution::new(self.handle.clone()) } - pub fn get_maintenance_window_execution_task( &self, ) -> fluent_builders::GetMaintenanceWindowExecutionTask { fluent_builders::GetMaintenanceWindowExecutionTask::new(self.handle.clone()) } - pub fn get_maintenance_window_execution_task_invocation( &self, ) -> fluent_builders::GetMaintenanceWindowExecutionTaskInvocation { fluent_builders::GetMaintenanceWindowExecutionTaskInvocation::new(self.handle.clone()) } - pub fn get_maintenance_window_task(&self) -> fluent_builders::GetMaintenanceWindowTask { fluent_builders::GetMaintenanceWindowTask::new(self.handle.clone()) } - pub fn get_ops_item(&self) -> fluent_builders::GetOpsItem { fluent_builders::GetOpsItem::new(self.handle.clone()) } - pub fn get_ops_metadata(&self) -> fluent_builders::GetOpsMetadata { fluent_builders::GetOpsMetadata::new(self.handle.clone()) } - pub fn get_ops_summary(&self) -> fluent_builders::GetOpsSummary { fluent_builders::GetOpsSummary::new(self.handle.clone()) } - pub fn get_parameter(&self) -> fluent_builders::GetParameter { fluent_builders::GetParameter::new(self.handle.clone()) } - pub fn get_parameter_history(&self) -> fluent_builders::GetParameterHistory { fluent_builders::GetParameterHistory::new(self.handle.clone()) } - pub fn get_parameters(&self) -> fluent_builders::GetParameters { fluent_builders::GetParameters::new(self.handle.clone()) } - pub fn get_parameters_by_path(&self) -> fluent_builders::GetParametersByPath { fluent_builders::GetParametersByPath::new(self.handle.clone()) } - pub fn get_patch_baseline(&self) -> fluent_builders::GetPatchBaseline { fluent_builders::GetPatchBaseline::new(self.handle.clone()) } - pub fn get_patch_baseline_for_patch_group( &self, ) -> fluent_builders::GetPatchBaselineForPatchGroup { fluent_builders::GetPatchBaselineForPatchGroup::new(self.handle.clone()) } - pub fn get_service_setting(&self) -> fluent_builders::GetServiceSetting { fluent_builders::GetServiceSetting::new(self.handle.clone()) } - pub fn label_parameter_version(&self) -> fluent_builders::LabelParameterVersion { fluent_builders::LabelParameterVersion::new(self.handle.clone()) } - pub fn list_associations(&self) -> fluent_builders::ListAssociations { fluent_builders::ListAssociations::new(self.handle.clone()) } - pub fn list_association_versions(&self) -> fluent_builders::ListAssociationVersions { fluent_builders::ListAssociationVersions::new(self.handle.clone()) } - pub fn list_command_invocations(&self) -> fluent_builders::ListCommandInvocations { fluent_builders::ListCommandInvocations::new(self.handle.clone()) } - pub fn list_commands(&self) -> fluent_builders::ListCommands { fluent_builders::ListCommands::new(self.handle.clone()) } - pub fn list_compliance_items(&self) -> fluent_builders::ListComplianceItems { fluent_builders::ListComplianceItems::new(self.handle.clone()) } - pub fn list_compliance_summaries(&self) -> fluent_builders::ListComplianceSummaries { fluent_builders::ListComplianceSummaries::new(self.handle.clone()) } - pub fn list_document_metadata_history(&self) -> fluent_builders::ListDocumentMetadataHistory { fluent_builders::ListDocumentMetadataHistory::new(self.handle.clone()) } - pub fn list_documents(&self) -> fluent_builders::ListDocuments { fluent_builders::ListDocuments::new(self.handle.clone()) } - pub fn list_document_versions(&self) -> fluent_builders::ListDocumentVersions { fluent_builders::ListDocumentVersions::new(self.handle.clone()) } - pub fn list_inventory_entries(&self) -> fluent_builders::ListInventoryEntries { fluent_builders::ListInventoryEntries::new(self.handle.clone()) } - pub fn list_ops_item_events(&self) -> fluent_builders::ListOpsItemEvents { fluent_builders::ListOpsItemEvents::new(self.handle.clone()) } - pub fn list_ops_item_related_items(&self) -> fluent_builders::ListOpsItemRelatedItems { fluent_builders::ListOpsItemRelatedItems::new(self.handle.clone()) } - pub fn list_ops_metadata(&self) -> fluent_builders::ListOpsMetadata { fluent_builders::ListOpsMetadata::new(self.handle.clone()) } - pub fn list_resource_compliance_summaries( &self, ) -> fluent_builders::ListResourceComplianceSummaries { fluent_builders::ListResourceComplianceSummaries::new(self.handle.clone()) } - pub fn list_resource_data_sync(&self) -> fluent_builders::ListResourceDataSync { fluent_builders::ListResourceDataSync::new(self.handle.clone()) } - pub fn list_tags_for_resource(&self) -> fluent_builders::ListTagsForResource { fluent_builders::ListTagsForResource::new(self.handle.clone()) } - pub fn modify_document_permission(&self) -> fluent_builders::ModifyDocumentPermission { fluent_builders::ModifyDocumentPermission::new(self.handle.clone()) } - pub fn put_compliance_items(&self) -> fluent_builders::PutComplianceItems { fluent_builders::PutComplianceItems::new(self.handle.clone()) } - pub fn put_inventory(&self) -> fluent_builders::PutInventory { fluent_builders::PutInventory::new(self.handle.clone()) } - pub fn put_parameter(&self) -> fluent_builders::PutParameter { fluent_builders::PutParameter::new(self.handle.clone()) } - pub fn register_default_patch_baseline(&self) -> fluent_builders::RegisterDefaultPatchBaseline { fluent_builders::RegisterDefaultPatchBaseline::new(self.handle.clone()) } - pub fn register_patch_baseline_for_patch_group( &self, ) -> fluent_builders::RegisterPatchBaselineForPatchGroup { fluent_builders::RegisterPatchBaselineForPatchGroup::new(self.handle.clone()) } - pub fn register_target_with_maintenance_window( &self, ) -> fluent_builders::RegisterTargetWithMaintenanceWindow { fluent_builders::RegisterTargetWithMaintenanceWindow::new(self.handle.clone()) } - pub fn register_task_with_maintenance_window( &self, ) -> fluent_builders::RegisterTaskWithMaintenanceWindow { fluent_builders::RegisterTaskWithMaintenanceWindow::new(self.handle.clone()) } - pub fn remove_tags_from_resource(&self) -> fluent_builders::RemoveTagsFromResource { fluent_builders::RemoveTagsFromResource::new(self.handle.clone()) } - pub fn reset_service_setting(&self) -> fluent_builders::ResetServiceSetting { fluent_builders::ResetServiceSetting::new(self.handle.clone()) } - pub fn resume_session(&self) -> fluent_builders::ResumeSession { fluent_builders::ResumeSession::new(self.handle.clone()) } - pub fn send_automation_signal(&self) -> fluent_builders::SendAutomationSignal { fluent_builders::SendAutomationSignal::new(self.handle.clone()) } - pub fn send_command(&self) -> fluent_builders::SendCommand { fluent_builders::SendCommand::new(self.handle.clone()) } - pub fn start_associations_once(&self) -> fluent_builders::StartAssociationsOnce { fluent_builders::StartAssociationsOnce::new(self.handle.clone()) } - pub fn start_automation_execution(&self) -> fluent_builders::StartAutomationExecution { fluent_builders::StartAutomationExecution::new(self.handle.clone()) } - pub fn start_change_request_execution(&self) -> fluent_builders::StartChangeRequestExecution { fluent_builders::StartChangeRequestExecution::new(self.handle.clone()) } - pub fn start_session(&self) -> fluent_builders::StartSession { fluent_builders::StartSession::new(self.handle.clone()) } - pub fn stop_automation_execution(&self) -> fluent_builders::StopAutomationExecution { fluent_builders::StopAutomationExecution::new(self.handle.clone()) } - pub fn terminate_session(&self) -> fluent_builders::TerminateSession { fluent_builders::TerminateSession::new(self.handle.clone()) } - pub fn unlabel_parameter_version(&self) -> fluent_builders::UnlabelParameterVersion { fluent_builders::UnlabelParameterVersion::new(self.handle.clone()) } - pub fn update_association(&self) -> fluent_builders::UpdateAssociation { fluent_builders::UpdateAssociation::new(self.handle.clone()) } - pub fn update_association_status(&self) -> fluent_builders::UpdateAssociationStatus { fluent_builders::UpdateAssociationStatus::new(self.handle.clone()) } - pub fn update_document(&self) -> fluent_builders::UpdateDocument { fluent_builders::UpdateDocument::new(self.handle.clone()) } - pub fn update_document_default_version(&self) -> fluent_builders::UpdateDocumentDefaultVersion { fluent_builders::UpdateDocumentDefaultVersion::new(self.handle.clone()) } - pub fn update_document_metadata(&self) -> fluent_builders::UpdateDocumentMetadata { fluent_builders::UpdateDocumentMetadata::new(self.handle.clone()) } - pub fn update_maintenance_window(&self) -> fluent_builders::UpdateMaintenanceWindow { fluent_builders::UpdateMaintenanceWindow::new(self.handle.clone()) } - pub fn update_maintenance_window_target( &self, ) -> fluent_builders::UpdateMaintenanceWindowTarget { fluent_builders::UpdateMaintenanceWindowTarget::new(self.handle.clone()) } - pub fn update_maintenance_window_task(&self) -> fluent_builders::UpdateMaintenanceWindowTask { fluent_builders::UpdateMaintenanceWindowTask::new(self.handle.clone()) } - pub fn update_managed_instance_role(&self) -> fluent_builders::UpdateManagedInstanceRole { fluent_builders::UpdateManagedInstanceRole::new(self.handle.clone()) } - pub fn update_ops_item(&self) -> fluent_builders::UpdateOpsItem { fluent_builders::UpdateOpsItem::new(self.handle.clone()) } - pub fn update_ops_metadata(&self) -> fluent_builders::UpdateOpsMetadata { fluent_builders::UpdateOpsMetadata::new(self.handle.clone()) } - pub fn update_patch_baseline(&self) -> fluent_builders::UpdatePatchBaseline { fluent_builders::UpdatePatchBaseline::new(self.handle.clone()) } - pub fn update_resource_data_sync(&self) -> fluent_builders::UpdateResourceDataSync { fluent_builders::UpdateResourceDataSync::new(self.handle.clone()) } - pub fn update_service_setting(&self) -> fluent_builders::UpdateServiceSetting { fluent_builders::UpdateServiceSetting::new(self.handle.clone()) } } pub mod fluent_builders { - #[derive(std::fmt::Debug)] pub struct AddTagsToResource { handle: std::sync::Arc, @@ -664,7 +526,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specifies the type of resource you are tagging.

    /// ///

    The ManagedInstance type for this API action is for on-premises managed instances. You must @@ -723,7 +584,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct AssociateOpsItemRelatedItem { handle: std::sync::Arc, @@ -752,7 +612,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the OpsItem to which you want to associate a resource as a related item.

    pub fn ops_item_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.ops_item_id(inp); @@ -801,7 +660,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CancelCommand { handle: std::sync::Arc, @@ -830,7 +688,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the command you want to cancel.

    pub fn command_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.command_id(inp); @@ -854,7 +711,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CancelMaintenanceWindowExecution { handle: std::sync::Arc, @@ -883,7 +739,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window execution to stop.

    pub fn window_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_execution_id(inp); @@ -897,7 +752,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateActivation { handle: std::sync::Arc, @@ -926,7 +780,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A user-defined description of the resource that you want to register with Systems Manager.

    /// ///

    Do not enter personally identifiable information in this field.

    @@ -1030,7 +883,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateAssociation { handle: std::sync::Arc, @@ -1059,7 +911,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the SSM document that contains the configuration information for the instance. /// You can specify Command or Automation documents.

    ///

    You can specify AWS-predefined documents, documents you created, or a document that is @@ -1320,7 +1171,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateAssociationBatch { handle: std::sync::Arc, @@ -1349,7 +1199,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    One or more associations.

    pub fn entries( mut self, @@ -1368,7 +1217,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateDocument { handle: std::sync::Arc, @@ -1397,7 +1245,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The content for the new SSM document in JSON or YAML format. We recommend storing the /// contents for your new document in an external JSON or YAML file and referencing the file in a /// command.

    @@ -1582,7 +1429,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateMaintenanceWindow { handle: std::sync::Arc, @@ -1611,7 +1457,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the maintenance window.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -1773,7 +1618,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateOpsItem { handle: std::sync::Arc, @@ -1802,7 +1646,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Information about the OpsItem.

    pub fn description(mut self, inp: impl Into) -> Self { self.inner = self.inner.description(inp); @@ -2005,7 +1848,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateOpsMetadata { handle: std::sync::Arc, @@ -2034,7 +1876,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A resource ID for a new Application Manager application.

    pub fn resource_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_id(inp); @@ -2091,7 +1932,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreatePatchBaseline { handle: std::sync::Arc, @@ -2120,7 +1960,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Defines the operating system the patch baseline applies to. The Default value is /// WINDOWS.

    pub fn operating_system(mut self, inp: crate::model::OperatingSystem) -> Self { @@ -2320,7 +2159,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct CreateResourceDataSync { handle: std::sync::Arc, @@ -2349,7 +2187,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A name for the configuration.

    pub fn sync_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.sync_name(inp); @@ -2400,7 +2237,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteActivation { handle: std::sync::Arc, @@ -2429,7 +2265,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the activation that you want to delete.

    pub fn activation_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.activation_id(inp); @@ -2440,7 +2275,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteAssociation { handle: std::sync::Arc, @@ -2469,7 +2303,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Systems Manager document.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -2498,7 +2331,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteDocument { handle: std::sync::Arc, @@ -2527,7 +2359,6 @@ 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.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -2573,7 +2404,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteInventory { handle: std::sync::Arc, @@ -2602,7 +2432,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the custom inventory type for which you want to delete either all previously /// collected data or the inventory type itself.

    pub fn type_name(mut self, inp: impl Into) -> Self { @@ -2657,7 +2486,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteMaintenanceWindow { handle: std::sync::Arc, @@ -2686,7 +2514,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window to delete.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -2697,7 +2524,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteOpsMetadata { handle: std::sync::Arc, @@ -2726,7 +2552,6 @@ 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 an OpsMetadata Object to delete.

    pub fn ops_metadata_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.ops_metadata_arn(inp); @@ -2740,7 +2565,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteParameter { handle: std::sync::Arc, @@ -2769,7 +2593,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the parameter to delete.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -2780,7 +2603,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteParameters { handle: std::sync::Arc, @@ -2809,7 +2631,6 @@ 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.

    pub fn names(mut self, inp: impl Into) -> Self { self.inner = self.inner.names(inp); @@ -2823,7 +2644,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeletePatchBaseline { handle: std::sync::Arc, @@ -2852,7 +2672,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the patch baseline to delete.

    pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -2863,7 +2682,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeleteResourceDataSync { handle: std::sync::Arc, @@ -2892,7 +2710,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the configuration to delete.

    pub fn sync_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.sync_name(inp); @@ -2912,7 +2729,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeregisterManagedInstance { handle: std::sync::Arc, @@ -2941,7 +2757,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID assigned to the managed instance when you registered it using the activation process. ///

    pub fn instance_id(mut self, inp: impl Into) -> Self { @@ -2953,7 +2768,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeregisterPatchBaselineForPatchGroup { handle: std::sync::Arc, @@ -2982,7 +2796,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the patch baseline to deregister the patch group from.

    pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -3002,7 +2815,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeregisterTargetFromMaintenanceWindow { handle: std::sync::Arc, @@ -3031,7 +2843,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window the target should be removed from.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -3065,7 +2876,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DeregisterTaskFromMaintenanceWindow { handle: std::sync::Arc, @@ -3094,7 +2904,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window the task should be removed from.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -3114,7 +2923,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeActivations { handle: std::sync::Arc, @@ -3143,7 +2951,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    A filter to view information about your activations.

    pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -3176,7 +2983,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeAssociation { handle: std::sync::Arc, @@ -3205,7 +3011,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Systems Manager document.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -3249,7 +3054,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeAssociationExecutions { handle: std::sync::Arc, @@ -3278,7 +3082,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The association ID for which you want to view execution history details.

    pub fn association_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.association_id(inp); @@ -3323,7 +3126,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeAssociationExecutionTargets { handle: std::sync::Arc, @@ -3352,7 +3154,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The association ID that includes the execution for which you want to view details.

    pub fn association_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.association_id(inp); @@ -3411,7 +3212,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeAutomationExecutions { handle: std::sync::Arc, @@ -3440,7 +3240,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Filters used to limit the scope of executions that are requested.

    pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -3474,7 +3273,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeAutomationStepExecutions { handle: std::sync::Arc, @@ -3503,7 +3301,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The Automation execution ID for which you want step execution descriptions.

    pub fn automation_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.automation_execution_id(inp); @@ -3559,7 +3356,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeAvailablePatches { handle: std::sync::Arc, @@ -3588,7 +3384,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Filters used to scope down the returned patches.

    pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -3621,7 +3416,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeDocument { handle: std::sync::Arc, @@ -3650,7 +3444,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the Systems Manager document.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -3685,7 +3478,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeDocumentPermission { handle: std::sync::Arc, @@ -3714,7 +3506,6 @@ 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 you are the owner.

    pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -3758,7 +3549,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeEffectiveInstanceAssociations { handle: std::sync::Arc, @@ -3787,7 +3577,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The instance ID for which you want to view all associations.

    pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -3818,7 +3607,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeEffectivePatchesForPatchBaseline { handle: std::sync::Arc, @@ -3849,7 +3637,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the patch baseline to retrieve the effective patches for.

    pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -3879,7 +3666,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeInstanceAssociationsStatus { handle: std::sync::Arc, @@ -3908,7 +3694,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The instance IDs for which you want association status information.

    pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -3939,7 +3724,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeInstanceInformation { handle: std::sync::Arc, @@ -3968,7 +3752,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    This is a legacy method. We recommend that you don't use this method. Instead, use the /// Filters data type. Filters enables you to return instance information /// by filtering based on tags applied to managed instances.

    @@ -4028,7 +3811,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeInstancePatches { handle: std::sync::Arc, @@ -4057,7 +3839,6 @@ 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 whose patch state information should be retrieved.

    pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -4101,7 +3882,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeInstancePatchStates { handle: std::sync::Arc, @@ -4130,7 +3910,6 @@ 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 whose patch state information should be retrieved.

    pub fn instance_ids(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_ids(inp); @@ -4163,7 +3942,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeInstancePatchStatesForPatchGroup { handle: std::sync::Arc, @@ -4194,7 +3972,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The name of the patch group for which the patch state information should be /// retrieved.

    pub fn patch_group(mut self, inp: impl Into) -> Self { @@ -4240,7 +4017,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeInventoryDeletions { handle: std::sync::Arc, @@ -4269,7 +4045,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Specify the delete inventory ID for which you want information. This ID was returned by the /// DeleteInventory action.

    pub fn deletion_id(mut self, inp: impl Into) -> Self { @@ -4300,7 +4075,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowExecutions { handle: std::sync::Arc, @@ -4329,7 +4103,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window whose executions should be retrieved.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -4376,7 +4149,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowExecutionTaskInvocations { handle: std::sync::Arc, @@ -4407,7 +4179,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window execution the task is part of.

    pub fn window_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_execution_id(inp); @@ -4464,7 +4235,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowExecutionTasks { handle: std::sync::Arc, @@ -4495,7 +4265,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window execution whose task executions should be retrieved.

    pub fn window_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_execution_id(inp); @@ -4543,7 +4312,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindows { handle: std::sync::Arc, @@ -4572,7 +4340,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    Optional filters used to narrow down the scope of the returned maintenance windows. /// Supported filter keys are Name and Enabled.

    pub fn filters(mut self, inp: impl Into) -> Self { @@ -4607,7 +4374,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowSchedule { handle: std::sync::Arc, @@ -4636,7 +4402,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window to retrieve information about.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -4704,7 +4469,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowsForTarget { handle: std::sync::Arc, @@ -4733,7 +4497,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The instance ID or key/value pair to retrieve information about.

    pub fn targets(mut self, inp: impl Into) -> Self { self.inner = self.inner.targets(inp); @@ -4779,7 +4542,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowTargets { handle: std::sync::Arc, @@ -4808,7 +4570,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window whose targets should be retrieved.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -4852,7 +4613,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeMaintenanceWindowTasks { handle: std::sync::Arc, @@ -4881,7 +4641,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    The ID of the maintenance window whose tasks should be retrieved.

    pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -4925,7 +4684,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeOpsItems { handle: std::sync::Arc, @@ -4954,7 +4712,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

    One or more filters to limit the response.

    ///
      ///
    • @@ -5043,7 +4800,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeParameters { handle: std::sync::Arc, @@ -5072,7 +4828,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      This data type is deprecated. Instead, use ParameterFilters.

      pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -5121,7 +4876,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribePatchBaselines { handle: std::sync::Arc, @@ -5150,7 +4904,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Each element in the array is a structure containing:

      ///

      Key: (string, "NAME_PREFIX" or "OWNER")

      ///

      Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

      @@ -5185,7 +4938,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribePatchGroups { handle: std::sync::Arc, @@ -5214,7 +4966,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The maximum number of patch groups to return (per page).

      pub fn max_results(mut self, inp: i32) -> Self { self.inner = self.inner.max_results(inp); @@ -5272,7 +5023,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribePatchGroupState { handle: std::sync::Arc, @@ -5301,7 +5051,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the patch group whose patch snapshot should be retrieved.

      pub fn patch_group(mut self, inp: impl Into) -> Self { self.inner = self.inner.patch_group(inp); @@ -5312,7 +5061,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribePatchProperties { handle: std::sync::Arc, @@ -5341,7 +5089,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The operating system type for which to list patches.

      pub fn operating_system(mut self, inp: crate::model::OperatingSystem) -> Self { self.inner = self.inner.operating_system(inp); @@ -5397,7 +5144,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DescribeSessions { handle: std::sync::Arc, @@ -5426,7 +5172,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The session status to retrieve a list of sessions for. For example, "Active".

      pub fn state(mut self, inp: crate::model::SessionState) -> Self { self.inner = self.inner.state(inp); @@ -5469,7 +5214,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct DisassociateOpsItemRelatedItem { handle: std::sync::Arc, @@ -5498,7 +5242,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the OpsItem for which you want to delete an association between the OpsItem and a /// related resource.

      pub fn ops_item_id(mut self, inp: impl Into) -> Self { @@ -5520,7 +5263,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetAutomationExecution { handle: std::sync::Arc, @@ -5549,7 +5291,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The unique identifier for an existing automation execution to examine. The execution ID is /// returned by StartAutomationExecution when the execution of an Automation document is /// initiated.

      @@ -5565,7 +5306,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetCalendarState { handle: std::sync::Arc, @@ -5594,7 +5334,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The names or Amazon Resource Names (ARNs) of the Systems Manager documents that represent the calendar /// entries for which you want to get the state.

      pub fn calendar_names(mut self, inp: impl Into) -> Self { @@ -5619,7 +5358,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetCommandInvocation { handle: std::sync::Arc, @@ -5648,7 +5386,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      (Required) The parent command ID of the invocation plugin.

      pub fn command_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.command_id(inp); @@ -5688,7 +5425,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetConnectionStatus { handle: std::sync::Arc, @@ -5717,7 +5453,6 @@ 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.

      pub fn target(mut self, inp: impl Into) -> Self { self.inner = self.inner.target(inp); @@ -5728,7 +5463,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDefaultPatchBaseline { handle: std::sync::Arc, @@ -5757,7 +5491,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Returns the default patch baseline for the specified operating system.

      pub fn operating_system(mut self, inp: crate::model::OperatingSystem) -> Self { self.inner = self.inner.operating_system(inp); @@ -5771,7 +5504,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDeployablePatchSnapshotForInstance { handle: std::sync::Arc, @@ -5800,7 +5532,6 @@ 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 for which the appropriate patch snapshot should be retrieved.

      pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -5832,7 +5563,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetDocument { handle: std::sync::Arc, @@ -5861,7 +5591,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Systems Manager document.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -5908,7 +5637,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetInventory { handle: std::sync::Arc, @@ -5937,7 +5665,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more filters. Use a filter to return a more specific list of results.

      pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -5998,7 +5725,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetInventorySchema { handle: std::sync::Arc, @@ -6027,7 +5753,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The type of inventory item to return.

      pub fn type_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.type_name(inp); @@ -6079,7 +5804,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMaintenanceWindow { handle: std::sync::Arc, @@ -6108,7 +5832,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window for which you want to retrieve information.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -6119,7 +5842,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMaintenanceWindowExecution { handle: std::sync::Arc, @@ -6148,7 +5870,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window execution that includes the task.

      pub fn window_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_execution_id(inp); @@ -6162,7 +5883,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMaintenanceWindowExecutionTask { handle: std::sync::Arc, @@ -6191,7 +5911,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window execution that includes the task.

      pub fn window_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_execution_id(inp); @@ -6215,7 +5934,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMaintenanceWindowExecutionTaskInvocation { handle: std::sync::Arc, @@ -6246,7 +5964,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window execution for which the task is a part.

      pub fn window_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_execution_id(inp); @@ -6278,7 +5995,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetMaintenanceWindowTask { handle: std::sync::Arc, @@ -6307,7 +6023,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The maintenance window ID that includes the task to retrieve.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -6327,7 +6042,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetOpsItem { handle: std::sync::Arc, @@ -6356,7 +6070,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the OpsItem that you want to get.

      pub fn ops_item_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.ops_item_id(inp); @@ -6367,7 +6080,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetOpsMetadata { handle: std::sync::Arc, @@ -6396,7 +6108,6 @@ 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 an OpsMetadata Object to view.

      pub fn ops_metadata_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.ops_metadata_arn(inp); @@ -6429,7 +6140,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetOpsSummary { handle: std::sync::Arc, @@ -6458,7 +6168,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Specify the name of a resource data sync to get.

      pub fn sync_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.sync_name(inp); @@ -6527,7 +6236,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetParameter { handle: std::sync::Arc, @@ -6556,7 +6264,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the parameter you want to query.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -6577,7 +6284,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetParameterHistory { handle: std::sync::Arc, @@ -6606,7 +6312,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the parameter for which you want to review history.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -6647,7 +6352,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetParameters { handle: std::sync::Arc, @@ -6676,7 +6380,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Names of the parameters for which you want to query information.

      pub fn names(mut self, inp: impl Into) -> Self { self.inner = self.inner.names(inp); @@ -6700,7 +6403,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetParametersByPath { handle: std::sync::Arc, @@ -6729,7 +6431,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierachy is /// the parameter name except the last part of the parameter. For the API call to succeeed, the last /// part of the parameter name cannot be in the path. A parameter name hierarchy can have a maximum @@ -6812,7 +6513,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetPatchBaseline { handle: std::sync::Arc, @@ -6841,7 +6541,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the patch baseline to retrieve.

      pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -6852,7 +6551,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetPatchBaselineForPatchGroup { handle: std::sync::Arc, @@ -6881,7 +6579,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the patch group whose patch baseline should be retrieved.

      pub fn patch_group(mut self, inp: impl Into) -> Self { self.inner = self.inner.patch_group(inp); @@ -6904,7 +6601,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct GetServiceSetting { handle: std::sync::Arc, @@ -6933,7 +6629,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the service setting to get. The setting ID can be /// /ssm/automation/customer-script-log-destination, /// /ssm/automation/customer-script-log-group-name, @@ -6949,7 +6644,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct LabelParameterVersion { handle: std::sync::Arc, @@ -6978,7 +6672,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The parameter name on which you want to attach one or more labels.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -7011,7 +6704,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListAssociations { handle: std::sync::Arc, @@ -7040,7 +6732,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more filters. Use a filter to return a more specific list of results.

      /// ///

      Filtering associations using the InstanceID attribute only returns legacy @@ -7083,7 +6774,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListAssociationVersions { handle: std::sync::Arc, @@ -7112,7 +6802,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The association ID for which you want to view all versions.

      pub fn association_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.association_id(inp); @@ -7142,7 +6831,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListCommandInvocations { handle: std::sync::Arc, @@ -7171,7 +6859,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      (Optional) The invocations for a specific command ID.

      pub fn command_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.command_id(inp); @@ -7234,7 +6921,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListCommands { handle: std::sync::Arc, @@ -7263,7 +6949,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      (Optional) If provided, lists only the specified command.

      pub fn command_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.command_id(inp); @@ -7320,7 +7005,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListComplianceItems { handle: std::sync::Arc, @@ -7349,7 +7033,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more compliance filters. Use a filter to return a more specific list of /// results.

      pub fn filters(mut self, inp: impl Into) -> Self { @@ -7409,7 +7092,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListComplianceSummaries { handle: std::sync::Arc, @@ -7438,7 +7120,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more compliance or inventory filters. Use a filter to return a more specific list of /// results.

      pub fn filters(mut self, inp: impl Into) -> Self { @@ -7473,7 +7154,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListDocumentMetadataHistory { handle: std::sync::Arc, @@ -7502,7 +7182,6 @@ 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.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -7558,7 +7237,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListDocuments { handle: std::sync::Arc, @@ -7587,7 +7265,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      This data type is deprecated. Instead, use Filters.

      pub fn document_filter_list( mut self, @@ -7646,7 +7323,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListDocumentVersions { handle: std::sync::Arc, @@ -7675,7 +7351,6 @@ 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. You can specify an Amazon Resource Name (ARN).

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -7706,7 +7381,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListInventoryEntries { handle: std::sync::Arc, @@ -7735,7 +7409,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The instance ID for which you want inventory information.

      pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -7787,7 +7460,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListOpsItemEvents { handle: std::sync::Arc, @@ -7816,7 +7488,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more OpsItem filters. Use a filter to return a more specific list of results.

      pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -7849,7 +7520,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListOpsItemRelatedItems { handle: std::sync::Arc, @@ -7878,7 +7548,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the OpsItem for which you want to list all related-item resources.

      pub fn ops_item_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.ops_item_id(inp); @@ -7921,7 +7590,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListOpsMetadata { handle: std::sync::Arc, @@ -7950,7 +7618,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more filters to limit the number of OpsMetadata objects returned by the call.

      pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -7983,7 +7650,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListResourceComplianceSummaries { handle: std::sync::Arc, @@ -8012,7 +7678,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      One or more filters. Use a filter to return a more specific list of results.

      pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); @@ -8045,7 +7710,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListResourceDataSync { handle: std::sync::Arc, @@ -8074,7 +7738,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      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 AWS Organizations or from @@ -8107,7 +7770,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ListTagsForResource { handle: std::sync::Arc, @@ -8136,7 +7798,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Returns a list of tags for a specific resource type.

      pub fn resource_type(mut self, inp: crate::model::ResourceTypeForTagging) -> Self { self.inner = self.inner.resource_type(inp); @@ -8159,7 +7820,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ModifyDocumentPermission { handle: std::sync::Arc, @@ -8188,7 +7848,6 @@ 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 that you want to share.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -8253,7 +7912,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutComplianceItems { handle: std::sync::Arc, @@ -8282,7 +7940,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Specify an ID for this resource. For a managed instance, this is the instance ID.

      pub fn resource_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.resource_id(inp); @@ -8379,7 +8036,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutInventory { handle: std::sync::Arc, @@ -8408,7 +8064,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      An instance ID where you want to add or update inventory items.

      pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -8431,7 +8086,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct PutParameter { handle: std::sync::Arc, @@ -8460,7 +8114,6 @@ 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 parameter that you want to add to the system. The fully /// qualified name includes the complete hierarchy of the parameter path and name. For parameters in /// a hierarchy, you must include a leading forward slash character (/) when you create or reference @@ -8764,7 +8417,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RegisterDefaultPatchBaseline { handle: std::sync::Arc, @@ -8793,7 +8445,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the patch baseline that should be the default patch baseline.

      pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -8804,7 +8455,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RegisterPatchBaselineForPatchGroup { handle: std::sync::Arc, @@ -8833,7 +8483,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the patch baseline to register the patch group with.

      pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -8853,7 +8502,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RegisterTargetWithMaintenanceWindow { handle: std::sync::Arc, @@ -8882,7 +8530,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window the target should be registered with.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -9007,7 +8654,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RegisterTaskWithMaintenanceWindow { handle: std::sync::Arc, @@ -9036,7 +8682,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window the task should be added to.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -9258,7 +8903,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct RemoveTagsFromResource { handle: std::sync::Arc, @@ -9287,7 +8931,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The type of resource from which you want to remove a tag.

      /// ///

      The ManagedInstance type for this API action is only for on-premises managed instances. @@ -9342,7 +8985,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ResetServiceSetting { handle: std::sync::Arc, @@ -9371,7 +9013,6 @@ 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 service setting to reset. The setting ID can be /// /ssm/automation/customer-script-log-destination, /// /ssm/automation/customer-script-log-group-name, @@ -9388,7 +9029,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct ResumeSession { handle: std::sync::Arc, @@ -9417,7 +9057,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the disconnected session to resume.

      pub fn session_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.session_id(inp); @@ -9428,7 +9067,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct SendAutomationSignal { handle: std::sync::Arc, @@ -9457,7 +9095,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The unique identifier for an existing Automation execution that you want to send the signal /// to.

      pub fn automation_execution_id(mut self, inp: impl Into) -> Self { @@ -9518,7 +9155,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct SendCommand { handle: std::sync::Arc, @@ -9547,7 +9183,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The IDs of the instances where the command should run. Specifying instance IDs is most /// useful when you are targeting a limited number of instances, though you can specify up to 50 /// IDs.

      @@ -9790,7 +9425,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StartAssociationsOnce { handle: std::sync::Arc, @@ -9819,7 +9453,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The association IDs that you want to run immediately and only one time.

      pub fn association_ids(mut self, inp: impl Into) -> Self { self.inner = self.inner.association_ids(inp); @@ -9833,7 +9466,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StartAutomationExecution { handle: std::sync::Arc, @@ -9862,7 +9494,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Systems Manager document to run. This can be a public document or a custom document. /// To run a shared document belonging to another account, specify the document ARN. For more /// information about how to use shared documents, see Using shared SSM documents @@ -10056,7 +9687,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StartChangeRequestExecution { handle: std::sync::Arc, @@ -10085,7 +9715,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The date and time specified in the change request to run the Automation runbooks.

      /// ///

      The Automation runbooks specified for the runbook workflow can't run until all required @@ -10234,7 +9863,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StartSession { handle: std::sync::Arc, @@ -10263,7 +9891,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The instance to connect to for the session.

      pub fn target(mut self, inp: impl Into) -> Self { self.inner = self.inner.target(inp); @@ -10303,7 +9930,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct StopAutomationExecution { handle: std::sync::Arc, @@ -10332,7 +9958,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The execution ID of the Automation to stop.

      pub fn automation_execution_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.automation_execution_id(inp); @@ -10356,7 +9981,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct TerminateSession { handle: std::sync::Arc, @@ -10385,7 +10009,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the session to terminate.

      pub fn session_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.session_id(inp); @@ -10396,7 +10019,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UnlabelParameterVersion { handle: std::sync::Arc, @@ -10425,7 +10047,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The parameter name of which you want to delete one or more labels.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -10458,7 +10079,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateAssociation { handle: std::sync::Arc, @@ -10487,7 +10107,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the association you want to update.

      pub fn association_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.association_id(inp); @@ -10752,7 +10371,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateAssociationStatus { handle: std::sync::Arc, @@ -10781,7 +10399,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the Systems Manager document.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -10813,7 +10430,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDocument { handle: std::sync::Arc, @@ -10842,7 +10458,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      A valid JSON or YAML string.

      pub fn content(mut self, inp: impl Into) -> Self { self.inner = self.inner.content(inp); @@ -10932,7 +10547,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDocumentDefaultVersion { handle: std::sync::Arc, @@ -10961,7 +10575,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of a custom document that you want to set as the default version.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -10984,7 +10597,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateDocumentMetadata { handle: std::sync::Arc, @@ -11013,7 +10625,6 @@ 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.

      pub fn name(mut self, inp: impl Into) -> Self { self.inner = self.inner.name(inp); @@ -11048,7 +10659,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateMaintenanceWindow { handle: std::sync::Arc, @@ -11077,7 +10687,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the maintenance window to update.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -11218,7 +10827,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateMaintenanceWindowTarget { handle: std::sync::Arc, @@ -11247,7 +10855,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The maintenance window ID with which to modify the target.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -11324,7 +10931,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateMaintenanceWindowTask { handle: std::sync::Arc, @@ -11353,7 +10959,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The maintenance window ID that contains the task to modify.

      pub fn window_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.window_id(inp); @@ -11584,7 +11189,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateManagedInstanceRole { handle: std::sync::Arc, @@ -11613,7 +11217,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the managed instance where you want to update the role.

      pub fn instance_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.instance_id(inp); @@ -11633,7 +11236,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateOpsItem { handle: std::sync::Arc, @@ -11662,7 +11264,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      Update the information about the OpsItem. Provide enough information so that users reading /// this OpsItem for the first time understand the issue.

      pub fn description(mut self, inp: impl Into) -> Self { @@ -11856,7 +11457,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateOpsMetadata { handle: std::sync::Arc, @@ -11885,7 +11485,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The Amazon Resoure Name (ARN) of the OpsMetadata Object to update.

      pub fn ops_metadata_arn(mut self, inp: impl Into) -> Self { self.inner = self.inner.ops_metadata_arn(inp); @@ -11929,7 +11528,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdatePatchBaseline { handle: std::sync::Arc, @@ -11958,7 +11556,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The ID of the patch baseline to update.

      pub fn baseline_id(mut self, inp: impl Into) -> Self { self.inner = self.inner.baseline_id(inp); @@ -12122,7 +11719,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateResourceDataSync { handle: std::sync::Arc, @@ -12151,7 +11747,6 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

      The name of the resource data sync you want to update.

      pub fn sync_name(mut self, inp: impl Into) -> Self { self.inner = self.inner.sync_name(inp); @@ -12184,7 +11779,6 @@ pub mod fluent_builders { self } } - #[derive(std::fmt::Debug)] pub struct UpdateServiceSetting { handle: std::sync::Arc, @@ -12213,7 +11807,6 @@ 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 service setting to reset. For example, /// arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled. /// The setting ID can be one of the following.

      diff --git a/sdk/ssm/src/config.rs b/sdk/ssm/src/config.rs index 4f79bd400411..d92c0a2731fd 100644 --- a/sdk/ssm/src/config.rs +++ b/sdk/ssm/src/config.rs @@ -15,7 +15,6 @@ 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 @@ -35,7 +34,6 @@ impl Builder { pub fn new() -> Self { Self::default() } - pub fn make_token( mut self, make_token: impl crate::idempotency_token::MakeIdempotencyToken + 'static, @@ -43,7 +41,6 @@ impl Builder { self.make_token = Some(Box::new(make_token)); self } - pub fn endpoint_resolver( mut self, endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, @@ -51,14 +48,11 @@ impl Builder { 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::ProvideCredentials + 'static, @@ -66,7 +60,6 @@ impl Builder { self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); self } - pub fn build(self) -> Config { Config { make_token: self diff --git a/sdk/ssm/src/error.rs b/sdk/ssm/src/error.rs index 65d9eb845703..4327c99f9561 100644 --- a/sdk/ssm/src/error.rs +++ b/sdk/ssm/src/error.rs @@ -13,7 +13,6 @@ pub enum AddTagsToResourceErrorKind { InvalidResourceType(crate::error::InvalidResourceType), TooManyTagsError(crate::error::TooManyTagsError), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -37,7 +36,6 @@ impl smithy_types::retry::ProvideErrorKind for AddTagsToResourceError { None } } - impl AddTagsToResourceError { pub fn new(kind: AddTagsToResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -60,18 +58,21 @@ impl AddTagsToResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for AddTagsToResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -99,7 +100,6 @@ pub enum AssociateOpsItemRelatedItemErrorKind { OpsItemLimitExceededError(crate::error::OpsItemLimitExceededError), OpsItemNotFoundError(crate::error::OpsItemNotFoundError), OpsItemRelatedItemAlreadyExistsError(crate::error::OpsItemRelatedItemAlreadyExistsError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -129,7 +129,6 @@ impl smithy_types::retry::ProvideErrorKind for AssociateOpsItemRelatedItemError None } } - impl AssociateOpsItemRelatedItemError { pub fn new(kind: AssociateOpsItemRelatedItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -152,18 +151,21 @@ impl AssociateOpsItemRelatedItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for AssociateOpsItemRelatedItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -194,7 +196,6 @@ pub enum CancelCommandErrorKind { InternalServerError(crate::error::InternalServerError), InvalidCommandId(crate::error::InvalidCommandId), InvalidInstanceId(crate::error::InvalidInstanceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -217,7 +218,6 @@ impl smithy_types::retry::ProvideErrorKind for CancelCommandError { None } } - impl CancelCommandError { pub fn new(kind: CancelCommandErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -240,18 +240,21 @@ impl CancelCommandError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CancelCommandError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -275,7 +278,6 @@ pub struct CancelMaintenanceWindowExecutionError { pub enum CancelMaintenanceWindowExecutionErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -296,7 +298,6 @@ impl smithy_types::retry::ProvideErrorKind for CancelMaintenanceWindowExecutionE None } } - impl CancelMaintenanceWindowExecutionError { pub fn new(kind: CancelMaintenanceWindowExecutionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -319,18 +320,21 @@ impl CancelMaintenanceWindowExecutionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CancelMaintenanceWindowExecutionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -351,7 +355,6 @@ pub struct CreateActivationError { #[derive(std::fmt::Debug)] pub enum CreateActivationErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -371,7 +374,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateActivationError { None } } - impl CreateActivationError { pub fn new(kind: CreateActivationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -394,18 +396,21 @@ impl CreateActivationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateActivationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -435,7 +440,6 @@ pub enum CreateAssociationErrorKind { InvalidSchedule(crate::error::InvalidSchedule), InvalidTarget(crate::error::InvalidTarget), UnsupportedPlatformType(crate::error::UnsupportedPlatformType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -465,7 +469,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateAssociationError { None } } - impl CreateAssociationError { pub fn new(kind: CreateAssociationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -488,18 +491,21 @@ impl CreateAssociationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateAssociationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -539,7 +545,6 @@ pub enum CreateAssociationBatchErrorKind { InvalidSchedule(crate::error::InvalidSchedule), InvalidTarget(crate::error::InvalidTarget), UnsupportedPlatformType(crate::error::UnsupportedPlatformType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -569,7 +574,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateAssociationBatchError { None } } - impl CreateAssociationBatchError { pub fn new(kind: CreateAssociationBatchErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -592,18 +596,21 @@ impl CreateAssociationBatchError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateAssociationBatchError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -638,7 +645,6 @@ pub enum CreateDocumentErrorKind { InvalidDocumentContent(crate::error::InvalidDocumentContent), InvalidDocumentSchemaVersion(crate::error::InvalidDocumentSchemaVersion), MaxDocumentSizeExceeded(crate::error::MaxDocumentSizeExceeded), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -663,7 +669,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateDocumentError { None } } - impl CreateDocumentError { pub fn new(kind: CreateDocumentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -686,18 +691,21 @@ impl CreateDocumentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateDocumentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -724,7 +732,6 @@ pub enum CreateMaintenanceWindowErrorKind { IdempotentParameterMismatch(crate::error::IdempotentParameterMismatch), InternalServerError(crate::error::InternalServerError), ResourceLimitExceededError(crate::error::ResourceLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -746,7 +753,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateMaintenanceWindowError { None } } - impl CreateMaintenanceWindowError { pub fn new(kind: CreateMaintenanceWindowErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -769,18 +775,21 @@ impl CreateMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -805,7 +814,6 @@ pub enum CreateOpsItemErrorKind { OpsItemAlreadyExistsError(crate::error::OpsItemAlreadyExistsError), OpsItemInvalidParameterError(crate::error::OpsItemInvalidParameterError), OpsItemLimitExceededError(crate::error::OpsItemLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -828,7 +836,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateOpsItemError { None } } - impl CreateOpsItemError { pub fn new(kind: CreateOpsItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -851,18 +858,21 @@ impl CreateOpsItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateOpsItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -889,7 +899,6 @@ pub enum CreateOpsMetadataErrorKind { OpsMetadataInvalidArgumentError(crate::error::OpsMetadataInvalidArgumentError), OpsMetadataLimitExceededError(crate::error::OpsMetadataLimitExceededError), OpsMetadataTooManyUpdatesError(crate::error::OpsMetadataTooManyUpdatesError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -913,7 +922,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateOpsMetadataError { None } } - impl CreateOpsMetadataError { pub fn new(kind: CreateOpsMetadataErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -936,18 +944,21 @@ impl CreateOpsMetadataError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateOpsMetadataError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -973,7 +984,6 @@ pub enum CreatePatchBaselineErrorKind { IdempotentParameterMismatch(crate::error::IdempotentParameterMismatch), InternalServerError(crate::error::InternalServerError), ResourceLimitExceededError(crate::error::ResourceLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -995,7 +1005,6 @@ impl smithy_types::retry::ProvideErrorKind for CreatePatchBaselineError { None } } - impl CreatePatchBaselineError { pub fn new(kind: CreatePatchBaselineErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1018,18 +1027,21 @@ impl CreatePatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreatePatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1056,7 +1068,6 @@ pub enum CreateResourceDataSyncErrorKind { ResourceDataSyncInvalidConfigurationError( crate::error::ResourceDataSyncInvalidConfigurationError, ), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1085,7 +1096,6 @@ impl smithy_types::retry::ProvideErrorKind for CreateResourceDataSyncError { None } } - impl CreateResourceDataSyncError { pub fn new(kind: CreateResourceDataSyncErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1108,18 +1118,21 @@ impl CreateResourceDataSyncError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for CreateResourceDataSyncError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1151,7 +1164,6 @@ pub enum DeleteActivationErrorKind { InvalidActivation(crate::error::InvalidActivation), InvalidActivationId(crate::error::InvalidActivationId), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1174,7 +1186,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteActivationError { None } } - impl DeleteActivationError { pub fn new(kind: DeleteActivationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1197,18 +1208,21 @@ impl DeleteActivationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteActivationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1235,7 +1249,6 @@ pub enum DeleteAssociationErrorKind { InvalidDocument(crate::error::InvalidDocument), InvalidInstanceId(crate::error::InvalidInstanceId), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1259,7 +1272,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteAssociationError { None } } - impl DeleteAssociationError { pub fn new(kind: DeleteAssociationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1282,18 +1294,21 @@ impl DeleteAssociationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteAssociationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1320,7 +1335,6 @@ pub enum DeleteDocumentErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDocument(crate::error::InvalidDocument), InvalidDocumentOperation(crate::error::InvalidDocumentOperation), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1343,7 +1357,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteDocumentError { None } } - impl DeleteDocumentError { pub fn new(kind: DeleteDocumentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1366,18 +1379,21 @@ impl DeleteDocumentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteDocumentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1404,7 +1420,6 @@ pub enum DeleteInventoryErrorKind { InvalidInventoryRequestError(crate::error::InvalidInventoryRequestError), InvalidOptionError(crate::error::InvalidOptionError), InvalidTypeNameError(crate::error::InvalidTypeNameError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1430,7 +1445,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteInventoryError { None } } - impl DeleteInventoryError { pub fn new(kind: DeleteInventoryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1453,18 +1467,21 @@ impl DeleteInventoryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteInventoryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1488,7 +1505,6 @@ pub struct DeleteMaintenanceWindowError { #[derive(std::fmt::Debug)] pub enum DeleteMaintenanceWindowErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1508,7 +1524,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteMaintenanceWindowError { None } } - impl DeleteMaintenanceWindowError { pub fn new(kind: DeleteMaintenanceWindowErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1531,18 +1546,21 @@ impl DeleteMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1564,7 +1582,6 @@ pub enum DeleteOpsMetadataErrorKind { InternalServerError(crate::error::InternalServerError), OpsMetadataInvalidArgumentError(crate::error::OpsMetadataInvalidArgumentError), OpsMetadataNotFoundError(crate::error::OpsMetadataNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1586,7 +1603,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteOpsMetadataError { None } } - impl DeleteOpsMetadataError { pub fn new(kind: DeleteOpsMetadataErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1609,18 +1625,21 @@ impl DeleteOpsMetadataError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteOpsMetadataError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1643,7 +1662,6 @@ pub struct DeleteParameterError { pub enum DeleteParameterErrorKind { InternalServerError(crate::error::InternalServerError), ParameterNotFound(crate::error::ParameterNotFound), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1664,7 +1682,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteParameterError { None } } - impl DeleteParameterError { pub fn new(kind: DeleteParameterErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1687,18 +1704,21 @@ impl DeleteParameterError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteParameterError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1719,7 +1739,6 @@ pub struct DeleteParametersError { #[derive(std::fmt::Debug)] pub enum DeleteParametersErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1739,7 +1758,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteParametersError { None } } - impl DeleteParametersError { pub fn new(kind: DeleteParametersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1762,18 +1780,21 @@ impl DeleteParametersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteParametersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1794,7 +1815,6 @@ pub struct DeletePatchBaselineError { pub enum DeletePatchBaselineErrorKind { InternalServerError(crate::error::InternalServerError), ResourceInUseError(crate::error::ResourceInUseError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1815,7 +1835,6 @@ impl smithy_types::retry::ProvideErrorKind for DeletePatchBaselineError { None } } - impl DeletePatchBaselineError { pub fn new(kind: DeletePatchBaselineErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1838,18 +1857,21 @@ impl DeletePatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeletePatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1874,7 +1896,6 @@ pub enum DeleteResourceDataSyncErrorKind { crate::error::ResourceDataSyncInvalidConfigurationError, ), ResourceDataSyncNotFoundError(crate::error::ResourceDataSyncNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1898,7 +1919,6 @@ impl smithy_types::retry::ProvideErrorKind for DeleteResourceDataSyncError { None } } - impl DeleteResourceDataSyncError { pub fn new(kind: DeleteResourceDataSyncErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -1921,18 +1941,21 @@ impl DeleteResourceDataSyncError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeleteResourceDataSyncError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -1957,7 +1980,6 @@ pub struct DeregisterManagedInstanceError { pub enum DeregisterManagedInstanceErrorKind { InternalServerError(crate::error::InternalServerError), InvalidInstanceId(crate::error::InvalidInstanceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -1978,7 +2000,6 @@ impl smithy_types::retry::ProvideErrorKind for DeregisterManagedInstanceError { None } } - impl DeregisterManagedInstanceError { pub fn new(kind: DeregisterManagedInstanceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2001,18 +2022,21 @@ impl DeregisterManagedInstanceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeregisterManagedInstanceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2034,7 +2058,6 @@ pub struct DeregisterPatchBaselineForPatchGroupError { pub enum DeregisterPatchBaselineForPatchGroupErrorKind { InternalServerError(crate::error::InternalServerError), InvalidResourceId(crate::error::InvalidResourceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2059,7 +2082,6 @@ impl smithy_types::retry::ProvideErrorKind for DeregisterPatchBaselineForPatchGr None } } - impl DeregisterPatchBaselineForPatchGroupError { pub fn new( kind: DeregisterPatchBaselineForPatchGroupErrorKind, @@ -2085,18 +2107,21 @@ impl DeregisterPatchBaselineForPatchGroupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeregisterPatchBaselineForPatchGroupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2125,7 +2150,6 @@ pub enum DeregisterTargetFromMaintenanceWindowErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), TargetInUseError(crate::error::TargetInUseError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2153,7 +2177,6 @@ impl smithy_types::retry::ProvideErrorKind for DeregisterTargetFromMaintenanceWi None } } - impl DeregisterTargetFromMaintenanceWindowError { pub fn new( kind: DeregisterTargetFromMaintenanceWindowErrorKind, @@ -2179,18 +2202,21 @@ impl DeregisterTargetFromMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeregisterTargetFromMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2221,7 +2247,6 @@ pub struct DeregisterTaskFromMaintenanceWindowError { pub enum DeregisterTaskFromMaintenanceWindowErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2246,7 +2271,6 @@ impl smithy_types::retry::ProvideErrorKind for DeregisterTaskFromMaintenanceWind None } } - impl DeregisterTaskFromMaintenanceWindowError { pub fn new( kind: DeregisterTaskFromMaintenanceWindowErrorKind, @@ -2272,18 +2296,21 @@ impl DeregisterTaskFromMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DeregisterTaskFromMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2310,7 +2337,6 @@ pub enum DescribeActivationsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidFilter(crate::error::InvalidFilter), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2332,7 +2358,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeActivationsError { None } } - impl DescribeActivationsError { pub fn new(kind: DescribeActivationsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2355,18 +2380,21 @@ impl DescribeActivationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeActivationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2392,7 +2420,6 @@ pub enum DescribeAssociationErrorKind { InvalidAssociationVersion(crate::error::InvalidAssociationVersion), InvalidDocument(crate::error::InvalidDocument), InvalidInstanceId(crate::error::InvalidInstanceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2416,7 +2443,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeAssociationError { None } } - impl DescribeAssociationError { pub fn new(kind: DescribeAssociationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2439,18 +2465,21 @@ impl DescribeAssociationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeAssociationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2476,7 +2505,6 @@ pub enum DescribeAssociationExecutionsErrorKind { AssociationDoesNotExist(crate::error::AssociationDoesNotExist), InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2500,7 +2528,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeAssociationExecutionsErro None } } - impl DescribeAssociationExecutionsError { pub fn new(kind: DescribeAssociationExecutionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2523,18 +2550,21 @@ impl DescribeAssociationExecutionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeAssociationExecutionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2559,7 +2589,6 @@ pub enum DescribeAssociationExecutionTargetsErrorKind { AssociationExecutionDoesNotExist(crate::error::AssociationExecutionDoesNotExist), InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2588,7 +2617,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeAssociationExecutionTarge None } } - impl DescribeAssociationExecutionTargetsError { pub fn new( kind: DescribeAssociationExecutionTargetsErrorKind, @@ -2614,18 +2642,21 @@ impl DescribeAssociationExecutionTargetsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeAssociationExecutionTargetsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2659,7 +2690,6 @@ pub enum DescribeAutomationExecutionsErrorKind { InvalidFilterKey(crate::error::InvalidFilterKey), InvalidFilterValue(crate::error::InvalidFilterValue), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2682,7 +2712,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeAutomationExecutionsError None } } - impl DescribeAutomationExecutionsError { pub fn new(kind: DescribeAutomationExecutionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2705,18 +2734,21 @@ impl DescribeAutomationExecutionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeAutomationExecutionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2743,7 +2775,6 @@ pub enum DescribeAutomationStepExecutionsErrorKind { InvalidFilterKey(crate::error::InvalidFilterKey), InvalidFilterValue(crate::error::InvalidFilterValue), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2769,7 +2800,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeAutomationStepExecutionsE None } } - impl DescribeAutomationStepExecutionsError { pub fn new(kind: DescribeAutomationStepExecutionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2792,18 +2822,21 @@ impl DescribeAutomationStepExecutionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeAutomationStepExecutionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2829,7 +2862,6 @@ pub struct DescribeAvailablePatchesError { #[derive(std::fmt::Debug)] pub enum DescribeAvailablePatchesErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2849,7 +2881,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeAvailablePatchesError { None } } - impl DescribeAvailablePatchesError { pub fn new(kind: DescribeAvailablePatchesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2872,18 +2903,21 @@ impl DescribeAvailablePatchesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeAvailablePatchesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2905,7 +2939,6 @@ pub enum DescribeDocumentErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDocument(crate::error::InvalidDocument), InvalidDocumentVersion(crate::error::InvalidDocumentVersion), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -2927,7 +2960,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeDocumentError { None } } - impl DescribeDocumentError { pub fn new(kind: DescribeDocumentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -2950,18 +2982,21 @@ impl DescribeDocumentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeDocumentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -2987,7 +3022,6 @@ pub enum DescribeDocumentPermissionErrorKind { InvalidDocumentOperation(crate::error::InvalidDocumentOperation), InvalidNextToken(crate::error::InvalidNextToken), InvalidPermissionType(crate::error::InvalidPermissionType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3011,7 +3045,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeDocumentPermissionError { None } } - impl DescribeDocumentPermissionError { pub fn new(kind: DescribeDocumentPermissionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3034,18 +3067,21 @@ impl DescribeDocumentPermissionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeDocumentPermissionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3071,7 +3107,6 @@ pub enum DescribeEffectiveInstanceAssociationsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidInstanceId(crate::error::InvalidInstanceId), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3099,7 +3134,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeEffectiveInstanceAssociat None } } - impl DescribeEffectiveInstanceAssociationsError { pub fn new( kind: DescribeEffectiveInstanceAssociationsErrorKind, @@ -3125,18 +3159,21 @@ impl DescribeEffectiveInstanceAssociationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeEffectiveInstanceAssociationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3169,7 +3206,6 @@ pub enum DescribeEffectivePatchesForPatchBaselineErrorKind { InternalServerError(crate::error::InternalServerError), InvalidResourceId(crate::error::InvalidResourceId), UnsupportedOperatingSystem(crate::error::UnsupportedOperatingSystem), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3200,7 +3236,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeEffectivePatchesForPatchB None } } - impl DescribeEffectivePatchesForPatchBaselineError { pub fn new( kind: DescribeEffectivePatchesForPatchBaselineErrorKind, @@ -3226,18 +3261,21 @@ impl DescribeEffectivePatchesForPatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeEffectivePatchesForPatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3272,7 +3310,6 @@ pub enum DescribeInstanceAssociationsStatusErrorKind { InternalServerError(crate::error::InternalServerError), InvalidInstanceId(crate::error::InvalidInstanceId), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3296,7 +3333,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeInstanceAssociationsStatu None } } - impl DescribeInstanceAssociationsStatusError { pub fn new( kind: DescribeInstanceAssociationsStatusErrorKind, @@ -3322,18 +3358,21 @@ impl DescribeInstanceAssociationsStatusError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeInstanceAssociationsStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3361,7 +3400,6 @@ pub enum DescribeInstanceInformationErrorKind { InvalidInstanceId(crate::error::InvalidInstanceId), InvalidInstanceInformationFilterValue(crate::error::InvalidInstanceInformationFilterValue), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3387,7 +3425,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeInstanceInformationError None } } - impl DescribeInstanceInformationError { pub fn new(kind: DescribeInstanceInformationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3410,18 +3447,21 @@ impl DescribeInstanceInformationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeInstanceInformationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3450,7 +3490,6 @@ pub enum DescribeInstancePatchesErrorKind { InvalidFilter(crate::error::InvalidFilter), InvalidInstanceId(crate::error::InvalidInstanceId), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3473,7 +3512,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeInstancePatchesError { None } } - impl DescribeInstancePatchesError { pub fn new(kind: DescribeInstancePatchesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3496,18 +3534,21 @@ impl DescribeInstancePatchesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeInstancePatchesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3531,7 +3572,6 @@ pub struct DescribeInstancePatchStatesError { pub enum DescribeInstancePatchStatesErrorKind { InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3552,7 +3592,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeInstancePatchStatesError None } } - impl DescribeInstancePatchStatesError { pub fn new(kind: DescribeInstancePatchStatesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3575,18 +3614,21 @@ impl DescribeInstancePatchStatesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeInstancePatchStatesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3609,7 +3651,6 @@ pub enum DescribeInstancePatchStatesForPatchGroupErrorKind { InternalServerError(crate::error::InternalServerError), InvalidFilter(crate::error::InvalidFilter), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3637,7 +3678,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeInstancePatchStatesForPat None } } - impl DescribeInstancePatchStatesForPatchGroupError { pub fn new( kind: DescribeInstancePatchStatesForPatchGroupErrorKind, @@ -3663,18 +3703,21 @@ impl DescribeInstancePatchStatesForPatchGroupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeInstancePatchStatesForPatchGroupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3706,7 +3749,6 @@ pub enum DescribeInventoryDeletionsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDeletionIdError(crate::error::InvalidDeletionIdError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3728,7 +3770,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeInventoryDeletionsError { None } } - impl DescribeInventoryDeletionsError { pub fn new(kind: DescribeInventoryDeletionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -3751,18 +3792,21 @@ impl DescribeInventoryDeletionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeInventoryDeletionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3784,7 +3828,6 @@ pub struct DescribeMaintenanceWindowExecutionsError { #[derive(std::fmt::Debug)] pub enum DescribeMaintenanceWindowExecutionsErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3806,7 +3849,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowExecutio None } } - impl DescribeMaintenanceWindowExecutionsError { pub fn new( kind: DescribeMaintenanceWindowExecutionsErrorKind, @@ -3832,18 +3874,21 @@ impl DescribeMaintenanceWindowExecutionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowExecutionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3868,7 +3913,6 @@ pub struct DescribeMaintenanceWindowExecutionTaskInvocationsError { pub enum DescribeMaintenanceWindowExecutionTaskInvocationsErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3897,7 +3941,6 @@ impl smithy_types::retry::ProvideErrorKind None } } - impl DescribeMaintenanceWindowExecutionTaskInvocationsError { pub fn new( kind: DescribeMaintenanceWindowExecutionTaskInvocationsErrorKind, @@ -3923,18 +3966,21 @@ impl DescribeMaintenanceWindowExecutionTaskInvocationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowExecutionTaskInvocationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -3962,7 +4008,6 @@ pub struct DescribeMaintenanceWindowExecutionTasksError { pub enum DescribeMaintenanceWindowExecutionTasksErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -3987,7 +4032,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowExecutio None } } - impl DescribeMaintenanceWindowExecutionTasksError { pub fn new( kind: DescribeMaintenanceWindowExecutionTasksErrorKind, @@ -4013,18 +4057,21 @@ impl DescribeMaintenanceWindowExecutionTasksError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowExecutionTasksError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4051,7 +4098,6 @@ pub struct DescribeMaintenanceWindowsError { #[derive(std::fmt::Debug)] pub enum DescribeMaintenanceWindowsErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4071,7 +4117,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowsError { None } } - impl DescribeMaintenanceWindowsError { pub fn new(kind: DescribeMaintenanceWindowsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4094,18 +4139,21 @@ impl DescribeMaintenanceWindowsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4126,7 +4174,6 @@ pub struct DescribeMaintenanceWindowScheduleError { pub enum DescribeMaintenanceWindowScheduleErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4149,7 +4196,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowSchedule None } } - impl DescribeMaintenanceWindowScheduleError { pub fn new( kind: DescribeMaintenanceWindowScheduleErrorKind, @@ -4175,18 +4221,21 @@ impl DescribeMaintenanceWindowScheduleError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowScheduleError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4207,7 +4256,6 @@ pub struct DescribeMaintenanceWindowsForTargetError { #[derive(std::fmt::Debug)] pub enum DescribeMaintenanceWindowsForTargetErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4229,7 +4277,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowsForTarg None } } - impl DescribeMaintenanceWindowsForTargetError { pub fn new( kind: DescribeMaintenanceWindowsForTargetErrorKind, @@ -4255,18 +4302,21 @@ impl DescribeMaintenanceWindowsForTargetError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowsForTargetError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4291,7 +4341,6 @@ pub struct DescribeMaintenanceWindowTargetsError { pub enum DescribeMaintenanceWindowTargetsErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4312,7 +4361,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowTargetsE None } } - impl DescribeMaintenanceWindowTargetsError { pub fn new(kind: DescribeMaintenanceWindowTargetsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4335,18 +4383,21 @@ impl DescribeMaintenanceWindowTargetsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowTargetsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4368,7 +4419,6 @@ pub struct DescribeMaintenanceWindowTasksError { pub enum DescribeMaintenanceWindowTasksErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4389,7 +4439,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeMaintenanceWindowTasksErr None } } - impl DescribeMaintenanceWindowTasksError { pub fn new(kind: DescribeMaintenanceWindowTasksErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4412,18 +4461,21 @@ impl DescribeMaintenanceWindowTasksError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeMaintenanceWindowTasksError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4444,7 +4496,6 @@ pub struct DescribeOpsItemsError { #[derive(std::fmt::Debug)] pub enum DescribeOpsItemsErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4464,7 +4515,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeOpsItemsError { None } } - impl DescribeOpsItemsError { pub fn new(kind: DescribeOpsItemsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4487,18 +4537,21 @@ impl DescribeOpsItemsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeOpsItemsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4522,7 +4575,6 @@ pub enum DescribeParametersErrorKind { InvalidFilterOption(crate::error::InvalidFilterOption), InvalidFilterValue(crate::error::InvalidFilterValue), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4546,7 +4598,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeParametersError { None } } - impl DescribeParametersError { pub fn new(kind: DescribeParametersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4569,18 +4620,21 @@ impl DescribeParametersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeParametersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4604,7 +4658,6 @@ pub struct DescribePatchBaselinesError { #[derive(std::fmt::Debug)] pub enum DescribePatchBaselinesErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4624,7 +4677,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribePatchBaselinesError { None } } - impl DescribePatchBaselinesError { pub fn new(kind: DescribePatchBaselinesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4647,18 +4699,21 @@ impl DescribePatchBaselinesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribePatchBaselinesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4678,7 +4733,6 @@ pub struct DescribePatchGroupsError { #[derive(std::fmt::Debug)] pub enum DescribePatchGroupsErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4698,7 +4752,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribePatchGroupsError { None } } - impl DescribePatchGroupsError { pub fn new(kind: DescribePatchGroupsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4721,18 +4774,21 @@ impl DescribePatchGroupsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribePatchGroupsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4753,7 +4809,6 @@ pub struct DescribePatchGroupStateError { pub enum DescribePatchGroupStateErrorKind { InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4774,7 +4829,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribePatchGroupStateError { None } } - impl DescribePatchGroupStateError { pub fn new(kind: DescribePatchGroupStateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4797,18 +4851,21 @@ impl DescribePatchGroupStateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribePatchGroupStateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4829,7 +4886,6 @@ pub struct DescribePatchPropertiesError { #[derive(std::fmt::Debug)] pub enum DescribePatchPropertiesErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4849,7 +4905,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribePatchPropertiesError { None } } - impl DescribePatchPropertiesError { pub fn new(kind: DescribePatchPropertiesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4872,18 +4927,21 @@ impl DescribePatchPropertiesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribePatchPropertiesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4905,7 +4963,6 @@ pub enum DescribeSessionsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidFilterKey(crate::error::InvalidFilterKey), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -4927,7 +4984,6 @@ impl smithy_types::retry::ProvideErrorKind for DescribeSessionsError { None } } - impl DescribeSessionsError { pub fn new(kind: DescribeSessionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -4950,18 +5006,21 @@ impl DescribeSessionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DescribeSessionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -4988,7 +5047,6 @@ pub enum DisassociateOpsItemRelatedItemErrorKind { OpsItemRelatedItemAssociationNotFoundError( crate::error::OpsItemRelatedItemAssociationNotFoundError, ), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5015,7 +5073,6 @@ impl smithy_types::retry::ProvideErrorKind for DisassociateOpsItemRelatedItemErr None } } - impl DisassociateOpsItemRelatedItemError { pub fn new(kind: DisassociateOpsItemRelatedItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5038,18 +5095,21 @@ impl DisassociateOpsItemRelatedItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for DisassociateOpsItemRelatedItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5077,7 +5137,6 @@ pub struct GetAutomationExecutionError { pub enum GetAutomationExecutionErrorKind { AutomationExecutionNotFoundError(crate::error::AutomationExecutionNotFoundError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5100,7 +5159,6 @@ impl smithy_types::retry::ProvideErrorKind for GetAutomationExecutionError { None } } - impl GetAutomationExecutionError { pub fn new(kind: GetAutomationExecutionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5123,18 +5181,21 @@ impl GetAutomationExecutionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetAutomationExecutionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5160,7 +5221,6 @@ pub enum GetCalendarStateErrorKind { InvalidDocument(crate::error::InvalidDocument), InvalidDocumentType(crate::error::InvalidDocumentType), UnsupportedCalendarError(crate::error::UnsupportedCalendarError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5183,7 +5243,6 @@ impl smithy_types::retry::ProvideErrorKind for GetCalendarStateError { None } } - impl GetCalendarStateError { pub fn new(kind: GetCalendarStateErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5206,18 +5265,21 @@ impl GetCalendarStateError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetCalendarStateError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5244,7 +5306,6 @@ pub enum GetCommandInvocationErrorKind { InvalidInstanceId(crate::error::InvalidInstanceId), InvalidPluginName(crate::error::InvalidPluginName), InvocationDoesNotExist(crate::error::InvocationDoesNotExist), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5268,7 +5329,6 @@ impl smithy_types::retry::ProvideErrorKind for GetCommandInvocationError { None } } - impl GetCommandInvocationError { pub fn new(kind: GetCommandInvocationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5291,18 +5351,21 @@ impl GetCommandInvocationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetCommandInvocationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5326,7 +5389,6 @@ pub struct GetConnectionStatusError { #[derive(std::fmt::Debug)] pub enum GetConnectionStatusErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5346,7 +5408,6 @@ impl smithy_types::retry::ProvideErrorKind for GetConnectionStatusError { None } } - impl GetConnectionStatusError { pub fn new(kind: GetConnectionStatusErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5369,18 +5430,21 @@ impl GetConnectionStatusError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetConnectionStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5400,7 +5464,6 @@ pub struct GetDefaultPatchBaselineError { #[derive(std::fmt::Debug)] pub enum GetDefaultPatchBaselineErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5420,7 +5483,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDefaultPatchBaselineError { None } } - impl GetDefaultPatchBaselineError { pub fn new(kind: GetDefaultPatchBaselineErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5443,18 +5505,21 @@ impl GetDefaultPatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDefaultPatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5476,7 +5541,6 @@ pub enum GetDeployablePatchSnapshotForInstanceErrorKind { InternalServerError(crate::error::InternalServerError), UnsupportedFeatureRequiredError(crate::error::UnsupportedFeatureRequiredError), UnsupportedOperatingSystem(crate::error::UnsupportedOperatingSystem), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5504,7 +5568,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDeployablePatchSnapshotForInst None } } - impl GetDeployablePatchSnapshotForInstanceError { pub fn new( kind: GetDeployablePatchSnapshotForInstanceErrorKind, @@ -5530,18 +5593,21 @@ impl GetDeployablePatchSnapshotForInstanceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDeployablePatchSnapshotForInstanceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5573,7 +5639,6 @@ pub enum GetDocumentErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDocument(crate::error::InvalidDocument), InvalidDocumentVersion(crate::error::InvalidDocumentVersion), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5595,7 +5660,6 @@ impl smithy_types::retry::ProvideErrorKind for GetDocumentError { None } } - impl GetDocumentError { pub fn new(kind: GetDocumentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5618,18 +5682,21 @@ impl GetDocumentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetDocumentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5657,7 +5724,6 @@ pub enum GetInventoryErrorKind { InvalidNextToken(crate::error::InvalidNextToken), InvalidResultAttributeError(crate::error::InvalidResultAttributeError), InvalidTypeNameError(crate::error::InvalidTypeNameError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5683,7 +5749,6 @@ impl smithy_types::retry::ProvideErrorKind for GetInventoryError { None } } - impl GetInventoryError { pub fn new(kind: GetInventoryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5706,18 +5771,21 @@ impl GetInventoryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetInventoryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5745,7 +5813,6 @@ pub enum GetInventorySchemaErrorKind { InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), InvalidTypeNameError(crate::error::InvalidTypeNameError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5767,7 +5834,6 @@ impl smithy_types::retry::ProvideErrorKind for GetInventorySchemaError { None } } - impl GetInventorySchemaError { pub fn new(kind: GetInventorySchemaErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5790,18 +5856,21 @@ impl GetInventorySchemaError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetInventorySchemaError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5824,7 +5893,6 @@ pub struct GetMaintenanceWindowError { pub enum GetMaintenanceWindowErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5845,7 +5913,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMaintenanceWindowError { None } } - impl GetMaintenanceWindowError { pub fn new(kind: GetMaintenanceWindowErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5868,18 +5935,21 @@ impl GetMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5901,7 +5971,6 @@ pub struct GetMaintenanceWindowExecutionError { pub enum GetMaintenanceWindowExecutionErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -5922,7 +5991,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMaintenanceWindowExecutionErro None } } - impl GetMaintenanceWindowExecutionError { pub fn new(kind: GetMaintenanceWindowExecutionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -5945,18 +6013,21 @@ impl GetMaintenanceWindowExecutionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMaintenanceWindowExecutionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -5978,7 +6049,6 @@ pub struct GetMaintenanceWindowExecutionTaskError { pub enum GetMaintenanceWindowExecutionTaskErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6001,7 +6071,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMaintenanceWindowExecutionTask None } } - impl GetMaintenanceWindowExecutionTaskError { pub fn new( kind: GetMaintenanceWindowExecutionTaskErrorKind, @@ -6027,18 +6096,21 @@ impl GetMaintenanceWindowExecutionTaskError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMaintenanceWindowExecutionTaskError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6060,7 +6132,6 @@ pub struct GetMaintenanceWindowExecutionTaskInvocationError { pub enum GetMaintenanceWindowExecutionTaskInvocationErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6087,7 +6158,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMaintenanceWindowExecutionTask None } } - impl GetMaintenanceWindowExecutionTaskInvocationError { pub fn new( kind: GetMaintenanceWindowExecutionTaskInvocationErrorKind, @@ -6113,18 +6183,21 @@ impl GetMaintenanceWindowExecutionTaskInvocationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMaintenanceWindowExecutionTaskInvocationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6152,7 +6225,6 @@ pub struct GetMaintenanceWindowTaskError { pub enum GetMaintenanceWindowTaskErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6173,7 +6245,6 @@ impl smithy_types::retry::ProvideErrorKind for GetMaintenanceWindowTaskError { None } } - impl GetMaintenanceWindowTaskError { pub fn new(kind: GetMaintenanceWindowTaskErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6196,18 +6267,21 @@ impl GetMaintenanceWindowTaskError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetMaintenanceWindowTaskError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6229,7 +6303,6 @@ pub struct GetOpsItemError { pub enum GetOpsItemErrorKind { InternalServerError(crate::error::InternalServerError), OpsItemNotFoundError(crate::error::OpsItemNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6250,7 +6323,6 @@ impl smithy_types::retry::ProvideErrorKind for GetOpsItemError { None } } - impl GetOpsItemError { pub fn new(kind: GetOpsItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6273,18 +6345,21 @@ impl GetOpsItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetOpsItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6307,7 +6382,6 @@ pub enum GetOpsMetadataErrorKind { InternalServerError(crate::error::InternalServerError), OpsMetadataInvalidArgumentError(crate::error::OpsMetadataInvalidArgumentError), OpsMetadataNotFoundError(crate::error::OpsMetadataNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6329,7 +6403,6 @@ impl smithy_types::retry::ProvideErrorKind for GetOpsMetadataError { None } } - impl GetOpsMetadataError { pub fn new(kind: GetOpsMetadataErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6352,18 +6425,21 @@ impl GetOpsMetadataError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetOpsMetadataError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6390,7 +6466,6 @@ pub enum GetOpsSummaryErrorKind { InvalidNextToken(crate::error::InvalidNextToken), InvalidTypeNameError(crate::error::InvalidTypeNameError), ResourceDataSyncNotFoundError(crate::error::ResourceDataSyncNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6415,7 +6490,6 @@ impl smithy_types::retry::ProvideErrorKind for GetOpsSummaryError { None } } - impl GetOpsSummaryError { pub fn new(kind: GetOpsSummaryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6438,18 +6512,21 @@ impl GetOpsSummaryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetOpsSummaryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6477,7 +6554,6 @@ pub enum GetParameterErrorKind { InvalidKeyId(crate::error::InvalidKeyId), ParameterNotFound(crate::error::ParameterNotFound), ParameterVersionNotFound(crate::error::ParameterVersionNotFound), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6500,7 +6576,6 @@ impl smithy_types::retry::ProvideErrorKind for GetParameterError { None } } - impl GetParameterError { pub fn new(kind: GetParameterErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6523,18 +6598,21 @@ impl GetParameterError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetParameterError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6560,7 +6638,6 @@ pub enum GetParameterHistoryErrorKind { InvalidKeyId(crate::error::InvalidKeyId), InvalidNextToken(crate::error::InvalidNextToken), ParameterNotFound(crate::error::ParameterNotFound), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6583,7 +6660,6 @@ impl smithy_types::retry::ProvideErrorKind for GetParameterHistoryError { None } } - impl GetParameterHistoryError { pub fn new(kind: GetParameterHistoryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6606,18 +6682,21 @@ impl GetParameterHistoryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetParameterHistoryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6641,7 +6720,6 @@ pub struct GetParametersError { pub enum GetParametersErrorKind { InternalServerError(crate::error::InternalServerError), InvalidKeyId(crate::error::InvalidKeyId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6662,7 +6740,6 @@ impl smithy_types::retry::ProvideErrorKind for GetParametersError { None } } - impl GetParametersError { pub fn new(kind: GetParametersErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6685,18 +6762,21 @@ impl GetParametersError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetParametersError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6722,7 +6802,6 @@ pub enum GetParametersByPathErrorKind { InvalidFilterValue(crate::error::InvalidFilterValue), InvalidKeyId(crate::error::InvalidKeyId), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6747,7 +6826,6 @@ impl smithy_types::retry::ProvideErrorKind for GetParametersByPathError { None } } - impl GetParametersByPathError { pub fn new(kind: GetParametersByPathErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6770,18 +6848,21 @@ impl GetParametersByPathError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetParametersByPathError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6808,7 +6889,6 @@ pub enum GetPatchBaselineErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), InvalidResourceId(crate::error::InvalidResourceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6830,7 +6910,6 @@ impl smithy_types::retry::ProvideErrorKind for GetPatchBaselineError { None } } - impl GetPatchBaselineError { pub fn new(kind: GetPatchBaselineErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6853,18 +6932,21 @@ impl GetPatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetPatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6886,7 +6968,6 @@ pub struct GetPatchBaselineForPatchGroupError { #[derive(std::fmt::Debug)] pub enum GetPatchBaselineForPatchGroupErrorKind { InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6906,7 +6987,6 @@ impl smithy_types::retry::ProvideErrorKind for GetPatchBaselineForPatchGroupErro None } } - impl GetPatchBaselineForPatchGroupError { pub fn new(kind: GetPatchBaselineForPatchGroupErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -6929,18 +7009,21 @@ impl GetPatchBaselineForPatchGroupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetPatchBaselineForPatchGroupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -6961,7 +7044,6 @@ pub struct GetServiceSettingError { pub enum GetServiceSettingErrorKind { InternalServerError(crate::error::InternalServerError), ServiceSettingNotFound(crate::error::ServiceSettingNotFound), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -6982,7 +7064,6 @@ impl smithy_types::retry::ProvideErrorKind for GetServiceSettingError { None } } - impl GetServiceSettingError { pub fn new(kind: GetServiceSettingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7005,18 +7086,21 @@ impl GetServiceSettingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for GetServiceSettingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7041,7 +7125,6 @@ pub enum LabelParameterVersionErrorKind { ParameterVersionLabelLimitExceeded(crate::error::ParameterVersionLabelLimitExceeded), ParameterVersionNotFound(crate::error::ParameterVersionNotFound), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7067,7 +7150,6 @@ impl smithy_types::retry::ProvideErrorKind for LabelParameterVersionError { None } } - impl LabelParameterVersionError { pub fn new(kind: LabelParameterVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7090,18 +7172,21 @@ impl LabelParameterVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for LabelParameterVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7128,7 +7213,6 @@ pub struct ListAssociationsError { pub enum ListAssociationsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7149,7 +7233,6 @@ impl smithy_types::retry::ProvideErrorKind for ListAssociationsError { None } } - impl ListAssociationsError { pub fn new(kind: ListAssociationsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7172,18 +7255,21 @@ impl ListAssociationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListAssociationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7206,7 +7292,6 @@ pub enum ListAssociationVersionsErrorKind { AssociationDoesNotExist(crate::error::AssociationDoesNotExist), InternalServerError(crate::error::InternalServerError), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7228,7 +7313,6 @@ impl smithy_types::retry::ProvideErrorKind for ListAssociationVersionsError { None } } - impl ListAssociationVersionsError { pub fn new(kind: ListAssociationVersionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7251,18 +7335,21 @@ impl ListAssociationVersionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListAssociationVersionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7288,7 +7375,6 @@ pub enum ListCommandInvocationsErrorKind { InvalidFilterKey(crate::error::InvalidFilterKey), InvalidInstanceId(crate::error::InvalidInstanceId), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7312,7 +7398,6 @@ impl smithy_types::retry::ProvideErrorKind for ListCommandInvocationsError { None } } - impl ListCommandInvocationsError { pub fn new(kind: ListCommandInvocationsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7335,18 +7420,21 @@ impl ListCommandInvocationsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListCommandInvocationsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7374,7 +7462,6 @@ pub enum ListCommandsErrorKind { InvalidFilterKey(crate::error::InvalidFilterKey), InvalidInstanceId(crate::error::InvalidInstanceId), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7398,7 +7485,6 @@ impl smithy_types::retry::ProvideErrorKind for ListCommandsError { None } } - impl ListCommandsError { pub fn new(kind: ListCommandsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7421,18 +7507,21 @@ impl ListCommandsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListCommandsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7460,7 +7549,6 @@ pub enum ListComplianceItemsErrorKind { InvalidNextToken(crate::error::InvalidNextToken), InvalidResourceId(crate::error::InvalidResourceId), InvalidResourceType(crate::error::InvalidResourceType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7484,7 +7572,6 @@ impl smithy_types::retry::ProvideErrorKind for ListComplianceItemsError { None } } - impl ListComplianceItemsError { pub fn new(kind: ListComplianceItemsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7507,18 +7594,21 @@ impl ListComplianceItemsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListComplianceItemsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7544,7 +7634,6 @@ pub enum ListComplianceSummariesErrorKind { InternalServerError(crate::error::InternalServerError), InvalidFilter(crate::error::InvalidFilter), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7566,7 +7655,6 @@ impl smithy_types::retry::ProvideErrorKind for ListComplianceSummariesError { None } } - impl ListComplianceSummariesError { pub fn new(kind: ListComplianceSummariesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7589,18 +7677,21 @@ impl ListComplianceSummariesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListComplianceSummariesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7625,7 +7716,6 @@ pub enum ListDocumentMetadataHistoryErrorKind { InvalidDocument(crate::error::InvalidDocument), InvalidDocumentVersion(crate::error::InvalidDocumentVersion), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7648,7 +7738,6 @@ impl smithy_types::retry::ProvideErrorKind for ListDocumentMetadataHistoryError None } } - impl ListDocumentMetadataHistoryError { pub fn new(kind: ListDocumentMetadataHistoryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7671,18 +7760,21 @@ impl ListDocumentMetadataHistoryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListDocumentMetadataHistoryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7707,7 +7799,6 @@ pub enum ListDocumentsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidFilterKey(crate::error::InvalidFilterKey), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7729,7 +7820,6 @@ impl smithy_types::retry::ProvideErrorKind for ListDocumentsError { None } } - impl ListDocumentsError { pub fn new(kind: ListDocumentsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7752,18 +7842,21 @@ impl ListDocumentsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListDocumentsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7787,7 +7880,6 @@ pub enum ListDocumentVersionsErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDocument(crate::error::InvalidDocument), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7809,7 +7901,6 @@ impl smithy_types::retry::ProvideErrorKind for ListDocumentVersionsError { None } } - impl ListDocumentVersionsError { pub fn new(kind: ListDocumentVersionsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7832,18 +7923,21 @@ impl ListDocumentVersionsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListDocumentVersionsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7869,7 +7963,6 @@ pub enum ListInventoryEntriesErrorKind { InvalidInstanceId(crate::error::InvalidInstanceId), InvalidNextToken(crate::error::InvalidNextToken), InvalidTypeNameError(crate::error::InvalidTypeNameError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7893,7 +7986,6 @@ impl smithy_types::retry::ProvideErrorKind for ListInventoryEntriesError { None } } - impl ListInventoryEntriesError { pub fn new(kind: ListInventoryEntriesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -7916,18 +8008,21 @@ impl ListInventoryEntriesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListInventoryEntriesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -7954,7 +8049,6 @@ pub enum ListOpsItemEventsErrorKind { OpsItemInvalidParameterError(crate::error::OpsItemInvalidParameterError), OpsItemLimitExceededError(crate::error::OpsItemLimitExceededError), OpsItemNotFoundError(crate::error::OpsItemNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -7977,7 +8071,6 @@ impl smithy_types::retry::ProvideErrorKind for ListOpsItemEventsError { None } } - impl ListOpsItemEventsError { pub fn new(kind: ListOpsItemEventsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8000,18 +8093,21 @@ impl ListOpsItemEventsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListOpsItemEventsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8035,7 +8131,6 @@ pub struct ListOpsItemRelatedItemsError { pub enum ListOpsItemRelatedItemsErrorKind { InternalServerError(crate::error::InternalServerError), OpsItemInvalidParameterError(crate::error::OpsItemInvalidParameterError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8056,7 +8151,6 @@ impl smithy_types::retry::ProvideErrorKind for ListOpsItemRelatedItemsError { None } } - impl ListOpsItemRelatedItemsError { pub fn new(kind: ListOpsItemRelatedItemsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8079,18 +8173,21 @@ impl ListOpsItemRelatedItemsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListOpsItemRelatedItemsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8112,7 +8209,6 @@ pub struct ListOpsMetadataError { pub enum ListOpsMetadataErrorKind { InternalServerError(crate::error::InternalServerError), OpsMetadataInvalidArgumentError(crate::error::OpsMetadataInvalidArgumentError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8133,7 +8229,6 @@ impl smithy_types::retry::ProvideErrorKind for ListOpsMetadataError { None } } - impl ListOpsMetadataError { pub fn new(kind: ListOpsMetadataErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8156,18 +8251,21 @@ impl ListOpsMetadataError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListOpsMetadataError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8190,7 +8288,6 @@ pub enum ListResourceComplianceSummariesErrorKind { InternalServerError(crate::error::InternalServerError), InvalidFilter(crate::error::InvalidFilter), InvalidNextToken(crate::error::InvalidNextToken), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8212,7 +8309,6 @@ impl smithy_types::retry::ProvideErrorKind for ListResourceComplianceSummariesEr None } } - impl ListResourceComplianceSummariesError { pub fn new(kind: ListResourceComplianceSummariesErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8235,18 +8331,21 @@ impl ListResourceComplianceSummariesError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListResourceComplianceSummariesError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8272,7 +8371,6 @@ pub enum ListResourceDataSyncErrorKind { ResourceDataSyncInvalidConfigurationError( crate::error::ResourceDataSyncInvalidConfigurationError, ), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8296,7 +8394,6 @@ impl smithy_types::retry::ProvideErrorKind for ListResourceDataSyncError { None } } - impl ListResourceDataSyncError { pub fn new(kind: ListResourceDataSyncErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8319,18 +8416,21 @@ impl ListResourceDataSyncError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListResourceDataSyncError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8356,7 +8456,6 @@ pub enum ListTagsForResourceErrorKind { InternalServerError(crate::error::InternalServerError), InvalidResourceId(crate::error::InvalidResourceId), InvalidResourceType(crate::error::InvalidResourceType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8378,7 +8477,6 @@ impl smithy_types::retry::ProvideErrorKind for ListTagsForResourceError { None } } - impl ListTagsForResourceError { pub fn new(kind: ListTagsForResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8401,18 +8499,21 @@ impl ListTagsForResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ListTagsForResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8438,7 +8539,6 @@ pub enum ModifyDocumentPermissionErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDocument(crate::error::InvalidDocument), InvalidPermissionType(crate::error::InvalidPermissionType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8462,7 +8562,6 @@ impl smithy_types::retry::ProvideErrorKind for ModifyDocumentPermissionError { None } } - impl ModifyDocumentPermissionError { pub fn new(kind: ModifyDocumentPermissionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8485,18 +8584,21 @@ impl ModifyDocumentPermissionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ModifyDocumentPermissionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8526,7 +8628,6 @@ pub enum PutComplianceItemsErrorKind { InvalidResourceType(crate::error::InvalidResourceType), ItemSizeLimitExceededError(crate::error::ItemSizeLimitExceededError), TotalSizeLimitExceededError(crate::error::TotalSizeLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8554,7 +8655,6 @@ impl smithy_types::retry::ProvideErrorKind for PutComplianceItemsError { None } } - impl PutComplianceItemsError { pub fn new(kind: PutComplianceItemsErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8577,18 +8677,21 @@ impl PutComplianceItemsError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutComplianceItemsError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8627,7 +8730,6 @@ pub enum PutInventoryErrorKind { TotalSizeLimitExceededError(crate::error::TotalSizeLimitExceededError), UnsupportedInventoryItemContextError(crate::error::UnsupportedInventoryItemContextError), UnsupportedInventorySchemaVersionError(crate::error::UnsupportedInventorySchemaVersionError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8658,7 +8760,6 @@ impl smithy_types::retry::ProvideErrorKind for PutInventoryError { None } } - impl PutInventoryError { pub fn new(kind: PutInventoryErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8681,18 +8782,21 @@ impl PutInventoryError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutInventoryError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8737,7 +8841,6 @@ pub enum PutParameterErrorKind { PoliciesLimitExceededError(crate::error::PoliciesLimitExceededError), TooManyUpdates(crate::error::TooManyUpdates), UnsupportedParameterType(crate::error::UnsupportedParameterType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8771,7 +8874,6 @@ impl smithy_types::retry::ProvideErrorKind for PutParameterError { None } } - impl PutParameterError { pub fn new(kind: PutParameterErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8794,18 +8896,21 @@ impl PutParameterError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for PutParameterError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8841,7 +8946,6 @@ pub enum RegisterDefaultPatchBaselineErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), InvalidResourceId(crate::error::InvalidResourceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8863,7 +8967,6 @@ impl smithy_types::retry::ProvideErrorKind for RegisterDefaultPatchBaselineError None } } - impl RegisterDefaultPatchBaselineError { pub fn new(kind: RegisterDefaultPatchBaselineErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -8886,18 +8989,21 @@ impl RegisterDefaultPatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RegisterDefaultPatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -8923,7 +9029,6 @@ pub enum RegisterPatchBaselineForPatchGroupErrorKind { InternalServerError(crate::error::InternalServerError), InvalidResourceId(crate::error::InvalidResourceId), ResourceLimitExceededError(crate::error::ResourceLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -8953,7 +9058,6 @@ impl smithy_types::retry::ProvideErrorKind for RegisterPatchBaselineForPatchGrou None } } - impl RegisterPatchBaselineForPatchGroupError { pub fn new( kind: RegisterPatchBaselineForPatchGroupErrorKind, @@ -8979,18 +9083,21 @@ impl RegisterPatchBaselineForPatchGroupError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RegisterPatchBaselineForPatchGroupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9021,7 +9128,6 @@ pub enum RegisterTargetWithMaintenanceWindowErrorKind { IdempotentParameterMismatch(crate::error::IdempotentParameterMismatch), InternalServerError(crate::error::InternalServerError), ResourceLimitExceededError(crate::error::ResourceLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9052,7 +9158,6 @@ impl smithy_types::retry::ProvideErrorKind for RegisterTargetWithMaintenanceWind None } } - impl RegisterTargetWithMaintenanceWindowError { pub fn new( kind: RegisterTargetWithMaintenanceWindowErrorKind, @@ -9078,18 +9183,21 @@ impl RegisterTargetWithMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RegisterTargetWithMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9124,7 +9232,6 @@ pub enum RegisterTaskWithMaintenanceWindowErrorKind { IdempotentParameterMismatch(crate::error::IdempotentParameterMismatch), InternalServerError(crate::error::InternalServerError), ResourceLimitExceededError(crate::error::ResourceLimitExceededError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9156,7 +9263,6 @@ impl smithy_types::retry::ProvideErrorKind for RegisterTaskWithMaintenanceWindow None } } - impl RegisterTaskWithMaintenanceWindowError { pub fn new( kind: RegisterTaskWithMaintenanceWindowErrorKind, @@ -9182,18 +9288,21 @@ impl RegisterTaskWithMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RegisterTaskWithMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9226,7 +9335,6 @@ pub enum RemoveTagsFromResourceErrorKind { InvalidResourceId(crate::error::InvalidResourceId), InvalidResourceType(crate::error::InvalidResourceType), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9249,7 +9357,6 @@ impl smithy_types::retry::ProvideErrorKind for RemoveTagsFromResourceError { None } } - impl RemoveTagsFromResourceError { pub fn new(kind: RemoveTagsFromResourceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9272,18 +9379,21 @@ impl RemoveTagsFromResourceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for RemoveTagsFromResourceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9308,7 +9418,6 @@ pub enum ResetServiceSettingErrorKind { InternalServerError(crate::error::InternalServerError), ServiceSettingNotFound(crate::error::ServiceSettingNotFound), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9330,7 +9439,6 @@ impl smithy_types::retry::ProvideErrorKind for ResetServiceSettingError { None } } - impl ResetServiceSettingError { pub fn new(kind: ResetServiceSettingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9353,18 +9461,21 @@ impl ResetServiceSettingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ResetServiceSettingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9387,7 +9498,6 @@ pub struct ResumeSessionError { pub enum ResumeSessionErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9408,7 +9518,6 @@ impl smithy_types::retry::ProvideErrorKind for ResumeSessionError { None } } - impl ResumeSessionError { pub fn new(kind: ResumeSessionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9431,18 +9540,21 @@ impl ResumeSessionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for ResumeSessionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9466,7 +9578,6 @@ pub enum SendAutomationSignalErrorKind { AutomationStepNotFoundError(crate::error::AutomationStepNotFoundError), InternalServerError(crate::error::InternalServerError), InvalidAutomationSignalError(crate::error::InvalidAutomationSignalError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9491,7 +9602,6 @@ impl smithy_types::retry::ProvideErrorKind for SendAutomationSignalError { None } } - impl SendAutomationSignalError { pub fn new(kind: SendAutomationSignalErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9514,18 +9624,21 @@ impl SendAutomationSignalError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for SendAutomationSignalError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9558,7 +9671,6 @@ pub enum SendCommandErrorKind { InvalidRole(crate::error::InvalidRole), MaxDocumentSizeExceeded(crate::error::MaxDocumentSizeExceeded), UnsupportedPlatformType(crate::error::UnsupportedPlatformType), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9588,7 +9700,6 @@ impl smithy_types::retry::ProvideErrorKind for SendCommandError { None } } - impl SendCommandError { pub fn new(kind: SendCommandErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9611,18 +9722,21 @@ impl SendCommandError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for SendCommandError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9653,7 +9767,6 @@ pub struct StartAssociationsOnceError { pub enum StartAssociationsOnceErrorKind { AssociationDoesNotExist(crate::error::AssociationDoesNotExist), InvalidAssociation(crate::error::InvalidAssociation), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9674,7 +9787,6 @@ impl smithy_types::retry::ProvideErrorKind for StartAssociationsOnceError { None } } - impl StartAssociationsOnceError { pub fn new(kind: StartAssociationsOnceErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9697,18 +9809,21 @@ impl StartAssociationsOnceError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StartAssociationsOnceError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9739,7 +9854,6 @@ pub enum StartAutomationExecutionErrorKind { crate::error::InvalidAutomationExecutionParametersError, ), InvalidTarget(crate::error::InvalidTarget), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9773,7 +9887,6 @@ impl smithy_types::retry::ProvideErrorKind for StartAutomationExecutionError { None } } - impl StartAutomationExecutionError { pub fn new(kind: StartAutomationExecutionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9796,18 +9909,21 @@ impl StartAutomationExecutionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StartAutomationExecutionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9851,7 +9967,6 @@ pub enum StartChangeRequestExecutionErrorKind { InvalidAutomationExecutionParametersError( crate::error::InvalidAutomationExecutionParametersError, ), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9889,7 +10004,6 @@ impl smithy_types::retry::ProvideErrorKind for StartChangeRequestExecutionError None } } - impl StartChangeRequestExecutionError { pub fn new(kind: StartChangeRequestExecutionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -9912,18 +10026,21 @@ impl StartChangeRequestExecutionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StartChangeRequestExecutionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -9963,7 +10080,6 @@ pub enum StartSessionErrorKind { InternalServerError(crate::error::InternalServerError), InvalidDocument(crate::error::InvalidDocument), TargetNotConnected(crate::error::TargetNotConnected), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -9985,7 +10101,6 @@ impl smithy_types::retry::ProvideErrorKind for StartSessionError { None } } - impl StartSessionError { pub fn new(kind: StartSessionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10008,18 +10123,21 @@ impl StartSessionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StartSessionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10043,7 +10161,6 @@ pub enum StopAutomationExecutionErrorKind { AutomationExecutionNotFoundError(crate::error::AutomationExecutionNotFoundError), InternalServerError(crate::error::InternalServerError), InvalidAutomationStatusUpdateError(crate::error::InvalidAutomationStatusUpdateError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10069,7 +10186,6 @@ impl smithy_types::retry::ProvideErrorKind for StopAutomationExecutionError { None } } - impl StopAutomationExecutionError { pub fn new(kind: StopAutomationExecutionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10092,18 +10208,21 @@ impl StopAutomationExecutionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for StopAutomationExecutionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10130,7 +10249,6 @@ pub struct TerminateSessionError { pub enum TerminateSessionErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10151,7 +10269,6 @@ impl smithy_types::retry::ProvideErrorKind for TerminateSessionError { None } } - impl TerminateSessionError { pub fn new(kind: TerminateSessionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10174,18 +10291,21 @@ impl TerminateSessionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for TerminateSessionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10209,7 +10329,6 @@ pub enum UnlabelParameterVersionErrorKind { ParameterNotFound(crate::error::ParameterNotFound), ParameterVersionNotFound(crate::error::ParameterVersionNotFound), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10232,7 +10351,6 @@ impl smithy_types::retry::ProvideErrorKind for UnlabelParameterVersionError { None } } - impl UnlabelParameterVersionError { pub fn new(kind: UnlabelParameterVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10255,18 +10373,21 @@ impl UnlabelParameterVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UnlabelParameterVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10300,7 +10421,6 @@ pub enum UpdateAssociationErrorKind { InvalidTarget(crate::error::InvalidTarget), InvalidUpdate(crate::error::InvalidUpdate), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10331,7 +10451,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateAssociationError { None } } - impl UpdateAssociationError { pub fn new(kind: UpdateAssociationErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10354,18 +10473,21 @@ impl UpdateAssociationError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateAssociationError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10401,7 +10523,6 @@ pub enum UpdateAssociationStatusErrorKind { InvalidInstanceId(crate::error::InvalidInstanceId), StatusUnchanged(crate::error::StatusUnchanged), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10426,7 +10547,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateAssociationStatusError { None } } - impl UpdateAssociationStatusError { pub fn new(kind: UpdateAssociationStatusErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10449,18 +10569,21 @@ impl UpdateAssociationStatusError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateAssociationStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10494,7 +10617,6 @@ pub enum UpdateDocumentErrorKind { InvalidDocumentSchemaVersion(crate::error::InvalidDocumentSchemaVersion), InvalidDocumentVersion(crate::error::InvalidDocumentVersion), MaxDocumentSizeExceeded(crate::error::MaxDocumentSizeExceeded), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10523,7 +10645,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDocumentError { None } } - impl UpdateDocumentError { pub fn new(kind: UpdateDocumentErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10546,18 +10667,21 @@ impl UpdateDocumentError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDocumentError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10589,7 +10713,6 @@ pub enum UpdateDocumentDefaultVersionErrorKind { InvalidDocument(crate::error::InvalidDocument), InvalidDocumentSchemaVersion(crate::error::InvalidDocumentSchemaVersion), InvalidDocumentVersion(crate::error::InvalidDocumentVersion), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10614,7 +10737,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDocumentDefaultVersionError None } } - impl UpdateDocumentDefaultVersionError { pub fn new(kind: UpdateDocumentDefaultVersionErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10637,18 +10759,21 @@ impl UpdateDocumentDefaultVersionError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDocumentDefaultVersionError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10676,7 +10801,6 @@ pub enum UpdateDocumentMetadataErrorKind { InvalidDocument(crate::error::InvalidDocument), InvalidDocumentOperation(crate::error::InvalidDocumentOperation), InvalidDocumentVersion(crate::error::InvalidDocumentVersion), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10699,7 +10823,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateDocumentMetadataError { None } } - impl UpdateDocumentMetadataError { pub fn new(kind: UpdateDocumentMetadataErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10722,18 +10845,21 @@ impl UpdateDocumentMetadataError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateDocumentMetadataError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10757,7 +10883,6 @@ pub struct UpdateMaintenanceWindowError { pub enum UpdateMaintenanceWindowErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10778,7 +10903,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateMaintenanceWindowError { None } } - impl UpdateMaintenanceWindowError { pub fn new(kind: UpdateMaintenanceWindowErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10801,18 +10925,21 @@ impl UpdateMaintenanceWindowError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateMaintenanceWindowError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10834,7 +10961,6 @@ pub struct UpdateMaintenanceWindowTargetError { pub enum UpdateMaintenanceWindowTargetErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10855,7 +10981,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateMaintenanceWindowTargetErro None } } - impl UpdateMaintenanceWindowTargetError { pub fn new(kind: UpdateMaintenanceWindowTargetErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10878,18 +11003,21 @@ impl UpdateMaintenanceWindowTargetError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateMaintenanceWindowTargetError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10911,7 +11039,6 @@ pub struct UpdateMaintenanceWindowTaskError { pub enum UpdateMaintenanceWindowTaskErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -10932,7 +11059,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateMaintenanceWindowTaskError None } } - impl UpdateMaintenanceWindowTaskError { pub fn new(kind: UpdateMaintenanceWindowTaskErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -10955,18 +11081,21 @@ impl UpdateMaintenanceWindowTaskError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateMaintenanceWindowTaskError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -10988,7 +11117,6 @@ pub struct UpdateManagedInstanceRoleError { pub enum UpdateManagedInstanceRoleErrorKind { InternalServerError(crate::error::InternalServerError), InvalidInstanceId(crate::error::InvalidInstanceId), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -11009,7 +11137,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateManagedInstanceRoleError { None } } - impl UpdateManagedInstanceRoleError { pub fn new(kind: UpdateManagedInstanceRoleErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -11032,18 +11159,21 @@ impl UpdateManagedInstanceRoleError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateManagedInstanceRoleError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -11068,7 +11198,6 @@ pub enum UpdateOpsItemErrorKind { OpsItemInvalidParameterError(crate::error::OpsItemInvalidParameterError), OpsItemLimitExceededError(crate::error::OpsItemLimitExceededError), OpsItemNotFoundError(crate::error::OpsItemNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -11092,7 +11221,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateOpsItemError { None } } - impl UpdateOpsItemError { pub fn new(kind: UpdateOpsItemErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -11115,18 +11243,21 @@ impl UpdateOpsItemError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateOpsItemError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -11154,7 +11285,6 @@ pub enum UpdateOpsMetadataErrorKind { OpsMetadataKeyLimitExceededError(crate::error::OpsMetadataKeyLimitExceededError), OpsMetadataNotFoundError(crate::error::OpsMetadataNotFoundError), OpsMetadataTooManyUpdatesError(crate::error::OpsMetadataTooManyUpdatesError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -11178,7 +11308,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateOpsMetadataError { None } } - impl UpdateOpsMetadataError { pub fn new(kind: UpdateOpsMetadataErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -11201,18 +11330,21 @@ impl UpdateOpsMetadataError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateOpsMetadataError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -11237,7 +11369,6 @@ pub struct UpdatePatchBaselineError { pub enum UpdatePatchBaselineErrorKind { DoesNotExistError(crate::error::DoesNotExistError), InternalServerError(crate::error::InternalServerError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -11258,7 +11389,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdatePatchBaselineError { None } } - impl UpdatePatchBaselineError { pub fn new(kind: UpdatePatchBaselineErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -11281,18 +11411,21 @@ impl UpdatePatchBaselineError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdatePatchBaselineError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -11318,7 +11451,6 @@ pub enum UpdateResourceDataSyncErrorKind { crate::error::ResourceDataSyncInvalidConfigurationError, ), ResourceDataSyncNotFoundError(crate::error::ResourceDataSyncNotFoundError), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -11343,7 +11475,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateResourceDataSyncError { None } } - impl UpdateResourceDataSyncError { pub fn new(kind: UpdateResourceDataSyncErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -11366,18 +11497,21 @@ impl UpdateResourceDataSyncError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateResourceDataSyncError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -11404,7 +11538,6 @@ pub enum UpdateServiceSettingErrorKind { InternalServerError(crate::error::InternalServerError), ServiceSettingNotFound(crate::error::ServiceSettingNotFound), TooManyUpdates(crate::error::TooManyUpdates), - /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } @@ -11426,7 +11559,6 @@ impl smithy_types::retry::ProvideErrorKind for UpdateServiceSettingError { None } } - impl UpdateServiceSettingError { pub fn new(kind: UpdateServiceSettingErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } @@ -11449,18 +11581,21 @@ impl UpdateServiceSettingError { // 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.as_deref() + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta } pub fn request_id(&self) -> Option<&str> { - self.meta.request_id.as_deref() + self.meta.request_id() } pub fn code(&self) -> Option<&str> { - self.meta.code.as_deref() + self.meta.code() } } - impl std::error::Error for UpdateServiceSettingError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { @@ -11474,10 +11609,9 @@ impl std::error::Error for UpdateServiceSettingError { ///

      There are concurrent updates for a resource that supports one update at a time.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TooManyUpdates { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11538,10 +11672,9 @@ impl TooManyUpdates { ///

      The specified service setting was not found. Either the service name or the setting has not /// been provisioned by the AWS service team.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceSettingNotFound { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11601,10 +11734,9 @@ impl ServiceSettingNotFound { ///

      An error occurred on the server side.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InternalServerError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11664,18 +11796,15 @@ impl InternalServerError { ///

      The specified sync name was not found.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncNotFoundError { #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_name: std::option::Option, #[serde(rename = "SyncType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11760,10 +11889,9 @@ impl ResourceDataSyncNotFoundError { ///

      The specified sync configuration is invalid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncInvalidConfigurationError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11824,10 +11952,9 @@ impl ResourceDataSyncInvalidConfigurationError { ///

      Another UpdateResourceDataSync request is being processed. Wait a few minutes /// and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncConflictError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11893,10 +12020,9 @@ impl ResourceDataSyncConflictError { ///

      For information about resource quotas in Systems Manager, see Systems Manager service quotas in the /// AWS General Reference.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DoesNotExistError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -11957,10 +12083,9 @@ impl DoesNotExistError { ///

      The system is processing too many concurrent updates. Wait a few moments and try /// again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataTooManyUpdatesError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12023,10 +12148,9 @@ impl OpsMetadataTooManyUpdatesError { ///

      The OpsMetadata object does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataNotFoundError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12087,10 +12211,9 @@ impl OpsMetadataNotFoundError { ///

      The OpsMetadata object exceeds the maximum number of OpsMetadata keys that you can assign to /// an application in Application Manager.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataKeyLimitExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12153,10 +12276,9 @@ impl OpsMetadataKeyLimitExceededError { ///

      One of the arguments passed is invalid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataInvalidArgumentError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12219,10 +12341,9 @@ impl OpsMetadataInvalidArgumentError { ///

      The specified OpsItem ID doesn't exist. Verify the ID and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12283,20 +12404,17 @@ impl OpsItemNotFoundError { ///

      The request caused OpsItems to exceed one or more quotas. For information about OpsItem /// quotas, see What are the resource limits for OpsCenter?.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemLimitExceededError { #[serde(rename = "ResourceTypes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_types: std::option::Option>, #[serde(rename = "Limit")] pub limit: i32, #[serde(rename = "LimitType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub limit_type: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12398,14 +12516,12 @@ impl OpsItemLimitExceededError { ///

      A specified parameter argument isn't valid. Verify the available arguments and try /// again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemInvalidParameterError { #[serde(rename = "ParameterNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameter_names: std::option::Option>, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12484,14 +12600,12 @@ impl OpsItemInvalidParameterError { ///

      The OpsItem already exists.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemAlreadyExistsError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, } @@ -12570,10 +12684,9 @@ impl OpsItemAlreadyExistsError { ///

      The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. /// Invalid states are: Shutting-down and Terminated.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidInstanceId { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12633,10 +12746,9 @@ impl InvalidInstanceId { ///

      The document version is not valid or does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDocumentVersion { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12697,10 +12809,9 @@ impl InvalidDocumentVersion { ///

      You attempted to delete a document while it is still shared. You must stop sharing the /// document before you can delete it.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDocumentOperation { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12760,14 +12871,13 @@ impl InvalidDocumentOperation { ///

      The specified document does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDocument { ///

      The document does not exist or the document is not available to the user. This exception can /// be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, /// DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus. ///

      #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12831,10 +12941,9 @@ impl InvalidDocument { ///

      The version of the document schema is not supported.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDocumentSchemaVersion { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12894,10 +13003,9 @@ impl InvalidDocumentSchemaVersion { ///

      The size limit of a document is 64 KB.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaxDocumentSizeExceeded { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -12957,11 +13065,10 @@ impl MaxDocumentSizeExceeded { ///

      The content for the document is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDocumentContent { ///

      A description of the validation error.

      #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13023,10 +13130,9 @@ impl InvalidDocumentContent { ///

      The version name has already been used in this document. Specify a different version name, /// and then try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DuplicateDocumentVersionName { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13087,10 +13193,9 @@ impl DuplicateDocumentVersionName { ///

      The content of the association document matches another document. Change the content of the /// document and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DuplicateDocumentContent { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13151,10 +13256,9 @@ impl DuplicateDocumentContent { ///

      The document has too many versions. Delete one or more document versions and try /// again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentVersionLimitExceeded { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13214,7 +13318,7 @@ impl DocumentVersionLimitExceeded { ///

      The updated status is the same as the current status.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StatusUnchanged {} impl std::fmt::Debug for StatusUnchanged { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -13256,10 +13360,9 @@ impl StatusUnchanged { ///

      The specified association does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationDoesNotExist { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13319,10 +13422,9 @@ impl AssociationDoesNotExist { ///

      The update is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidUpdate { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13383,10 +13485,9 @@ impl InvalidUpdate { ///

      The target is not valid or does not exist. It might not be configured for Systems Manager or you might /// not have permission to perform the operation.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidTarget { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13446,10 +13547,9 @@ impl InvalidTarget { ///

      The schedule is invalid. Verify your cron or rate expression and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidSchedule { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13510,10 +13610,9 @@ impl InvalidSchedule { ///

      You must specify values for all required parameters in the Systems Manager document. You can only /// supply values to parameters defined in the Systems Manager document.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidParameters { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13573,7 +13672,7 @@ impl InvalidParameters { ///

      The output location is not valid or does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidOutputLocation {} impl std::fmt::Debug for InvalidOutputLocation { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -13617,10 +13716,9 @@ impl InvalidOutputLocation { /// an association according to the association ID. Or, use the $LATEST parameter to /// view the latest version of the association.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAssociationVersion { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13681,10 +13779,9 @@ impl InvalidAssociationVersion { ///

      You have reached the maximum number versions allowed for an association. Each association /// has a limit of 1,000 versions.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationVersionLimitExceeded { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13745,10 +13842,9 @@ impl AssociationVersionLimitExceeded { ///

      The specified parameter version was not found. Verify the parameter name and version, and /// try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterVersionNotFound { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13808,10 +13904,9 @@ impl ParameterVersionNotFound { ///

      The parameter could not be found. Verify the name and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterNotFound { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13871,10 +13966,9 @@ impl ParameterNotFound { ///

      The specified update status operation is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAutomationStatusUpdateError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -13938,10 +14032,9 @@ impl InvalidAutomationStatusUpdateError { ///

      There is no automation execution information for the requested automation execution /// ID.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationExecutionNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14007,10 +14100,9 @@ impl AutomationExecutionNotFoundError { /// Session Manager in the AWS Systems Manager User Guide. This error is also returned if you /// attempt to start a session on an instance that is located in a different account or Region

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TargetNotConnected { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14072,10 +14164,9 @@ impl TargetNotConnected { /// example, they may not match the set of parameters permitted for the specified Automation /// document.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAutomationExecutionParametersError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14136,10 +14227,9 @@ impl InvalidAutomationExecutionParametersError { ///

      Error returned when an idempotent operation is retried and the parameters don't match the /// original call to the API with the same idempotency token.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IdempotentParameterMismatch { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14200,10 +14290,9 @@ impl IdempotentParameterMismatch { ///

      The number of simultaneously running Automation executions exceeded the allowable /// limit.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationExecutionLimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14266,10 +14355,9 @@ impl AutomationExecutionLimitExceededError { ///

      An Automation document with the specified name and version could not be found.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationDefinitionVersionNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14329,10 +14417,9 @@ impl AutomationDefinitionVersionNotFoundError { ///

      An Automation document with the specified name could not be found.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationDefinitionNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14396,10 +14483,9 @@ impl AutomationDefinitionNotFoundError { ///

      Indicates that the Change Manager change template used in the change request was rejected or is /// still in a pending state.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationDefinitionNotApprovedError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14462,10 +14548,9 @@ impl AutomationDefinitionNotApprovedError { ///

      The association is not valid or does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAssociation { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14526,10 +14611,9 @@ impl InvalidAssociation { ///

      The document does not support the platform type of the given instance ID(s). For example, /// you sent an document for a Windows instance to a Linux instance.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedPlatformType { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14592,10 +14676,9 @@ impl UnsupportedPlatformType { /// IAM role for Run Command notifications, see Configuring Amazon SNS /// Notifications for Run Command in the AWS Systems Manager User Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidRole { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14655,7 +14738,7 @@ impl InvalidRole { ///

      The S3 bucket does not exist.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidOutputFolder {} impl std::fmt::Debug for InvalidOutputFolder { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -14698,10 +14781,9 @@ impl InvalidOutputFolder { ///

      One or more configuration items is not valid. Verify that a valid Amazon Resource Name (ARN) /// was provided for an Amazon SNS topic.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidNotificationConfig { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14761,7 +14843,7 @@ impl InvalidNotificationConfig { ///

      You cannot specify an instance ID in more than one association.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DuplicateInstanceId {} impl std::fmt::Debug for DuplicateInstanceId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -14803,10 +14885,9 @@ impl DuplicateInstanceId { ///

      The signal is not valid for the current Automation execution.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAutomationSignalError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14870,10 +14951,9 @@ impl InvalidAutomationSignalError { ///

      The specified step name and execution ID don't exist. Verify the information and try /// again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationStepNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -14937,7 +15017,7 @@ impl AutomationStepNotFoundError { ///

      The resource type is not valid. For example, if you are attempting to tag an instance, the /// instance must be a registered, managed instance.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidResourceType {} impl std::fmt::Debug for InvalidResourceType { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -14979,7 +15059,7 @@ impl InvalidResourceType { ///

      The resource ID is not valid. Verify that you entered the correct ID and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidResourceId {} impl std::fmt::Debug for InvalidResourceId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -15024,10 +15104,9 @@ impl InvalidResourceId { ///

      For information about resource quotas in Systems Manager, see Systems Manager service quotas in the /// AWS General Reference.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceLimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15091,10 +15170,9 @@ impl ResourceLimitExceededError { ///

      You attempted to register a LAMBDA or STEP_FUNCTIONS task in a region where the /// corresponding service is not available.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FeatureNotAvailableError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15155,10 +15233,9 @@ impl FeatureNotAvailableError { ///

      Error returned if an attempt is made to register a patch group with a patch baseline that is /// already registered with a different patch baseline.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AlreadyExistsError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15218,10 +15295,9 @@ impl AlreadyExistsError { ///

      The parameter type is not supported.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedParameterType { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15282,10 +15358,9 @@ impl UnsupportedParameterType { ///

      You specified more than the maximum number of allowed policies for the parameter. The /// maximum is 10.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PoliciesLimitExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15348,11 +15423,10 @@ impl PoliciesLimitExceededError { ///

      The parameter name is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterPatternMismatchError { ///

      The parameter name is not valid.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15433,10 +15507,9 @@ impl ParameterPatternMismatchError { /// parameter label (console) or Move a /// parameter label (CLI) in the AWS Systems Manager User Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterMaxVersionLimitExceeded { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15497,10 +15570,9 @@ impl ParameterMaxVersionLimitExceeded { ///

      You have exceeded the number of parameters for this AWS account. Delete one or more /// parameters and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterLimitExceeded { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15560,10 +15632,9 @@ impl ParameterLimitExceeded { ///

      The parameter already exists. You can't create duplicate parameters.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterAlreadyExists { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15624,10 +15695,9 @@ impl ParameterAlreadyExists { ///

      The policy type is not supported. Parameter Store supports the following policy types: /// Expiration, ExpirationNotification, and NoChangeNotification.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidPolicyTypeError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15687,10 +15757,9 @@ impl InvalidPolicyTypeError { ///

      A policy attribute or its value is invalid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidPolicyAttributeError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15753,10 +15822,9 @@ impl InvalidPolicyAttributeError { ///

      The query key ID is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidKeyId { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15816,11 +15884,10 @@ impl InvalidKeyId { ///

      The request does not meet the regular expression requirement.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAllowedPatternError { ///

      The request does not meet the regular expression requirement.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15885,10 +15952,9 @@ impl InvalidAllowedPatternError { ///

      There is a conflict in the policies specified for this parameter. You can't, for example, /// specify two Expiration policies for a parameter. Review your policies, and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct IncompatiblePolicyError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -15950,13 +16016,12 @@ impl IncompatiblePolicyError { /// can't change a parameter from a String type to a SecureString type. You /// must create a new, unique parameter.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct HierarchyTypeMismatchError { ///

      Parameter Store does not support changing a parameter type in a hierarchy. For example, you /// can't change a parameter from a String type to a SecureString type. You /// must create a new, unique parameter.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16023,12 +16088,11 @@ impl HierarchyTypeMismatchError { ///

      A hierarchy can have a maximum of 15 levels. For more information, see Requirements and /// constraints for parameter names in the AWS Systems Manager User Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct HierarchyLevelLimitExceededError { ///

      A hierarchy can have a maximum of 15 levels. For more information, see Requirements and /// constraints for parameter names in the AWS Systems Manager User Guide.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16094,10 +16158,9 @@ impl HierarchyLevelLimitExceededError { ///

      Inventory item type schema version has to match supported versions in the service. Check /// output of GetInventorySchema to see the available schema version for each type.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedInventorySchemaVersionError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16162,14 +16225,12 @@ impl UnsupportedInventorySchemaVersionError { /// not allowed for this inventory type. You can only use the Context attribute with /// inventory types like AWS:ComplianceItem.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedInventoryItemContextError { #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16243,10 +16304,9 @@ impl UnsupportedInventoryItemContextError { ///

      The size of inventory data has exceeded the total size limit for the resource.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TotalSizeLimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16309,10 +16369,9 @@ impl TotalSizeLimitExceededError { ///

      The sub-type count exceeded the limit for the inventory type.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SubTypeCountLimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16375,14 +16434,12 @@ impl SubTypeCountLimitExceededError { ///

      The inventory item size has exceeded the size limit.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ItemSizeLimitExceededError { #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16456,14 +16513,12 @@ impl ItemSizeLimitExceededError { ///

      The inventory item has invalid content.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ItemContentMismatchError { #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16534,10 +16589,9 @@ impl ItemContentMismatchError { ///

      The parameter type name is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidTypeNameError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16597,14 +16651,12 @@ impl InvalidTypeNameError { ///

      One or more content items is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidItemContentError { #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16676,10 +16728,9 @@ impl InvalidItemContentError { ///

      You specified invalid keys or values in the Context attribute for /// InventoryItem. Verify the keys and values, and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidInventoryItemContextError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16743,10 +16794,9 @@ impl InvalidInventoryItemContextError { ///

      You have exceeded the limit for custom schemas. Delete one or more custom schemas and try /// again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CustomSchemaCountLimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16810,10 +16860,9 @@ impl CustomSchemaCountLimitExceededError { ///

      You specified too many custom compliance types. You can specify a maximum of 10 different /// types.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ComplianceTypeCountLimitExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16877,10 +16926,9 @@ impl ComplianceTypeCountLimitExceededError { ///

      The permission type is not supported. Share is the only supported /// permission type.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidPermissionType { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -16942,10 +16990,9 @@ impl InvalidPermissionType { /// maximum of 20 accounts. You can publicly share up to five documents. If you need to increase this /// limit, contact AWS Support.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentPermissionLimit { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17005,10 +17052,9 @@ impl DocumentPermissionLimit { ///

      You can have at most 500 active Systems Manager documents.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentLimitExceeded { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17068,10 +17114,9 @@ impl DocumentLimitExceeded { ///

      The specified token is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidNextToken { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17131,10 +17176,9 @@ impl InvalidNextToken { ///

      The filter name is not valid. Verify the you entered the correct name and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidFilter { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17194,7 +17238,7 @@ impl InvalidFilter { ///

      The specified key is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidFilterKey {} impl std::fmt::Debug for InvalidFilterKey { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -17235,7 +17279,7 @@ impl InvalidFilterKey { } #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidCommandId {} impl std::fmt::Debug for InvalidCommandId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -17277,10 +17321,9 @@ impl InvalidCommandId { ///

      A parameter version can have a maximum of ten labels.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterVersionLabelLimitExceeded { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17340,10 +17383,9 @@ impl ParameterVersionLabelLimitExceeded { ///

      The filter value is not valid. Verify the value and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidFilterValue { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17404,12 +17446,11 @@ impl InvalidFilterValue { ///

      The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path /// filter, valid options are Recursive and OneLevel.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidFilterOption { ///

      The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path /// filter, valid options are Recursive and OneLevel.

      #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17473,10 +17514,9 @@ impl InvalidFilterOption { /// a valid inventory type such as AWS:Application or /// AWS:InstanceInformation.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidAggregatorError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17536,10 +17576,9 @@ impl InvalidAggregatorError { ///

      The specified inventory item result attribute is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidResultAttributeError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17602,10 +17641,9 @@ impl InvalidResultAttributeError { ///

      The specified inventory group is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidInventoryGroupError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17669,10 +17707,9 @@ impl InvalidInventoryGroupError { ///

      The operating systems you specified is not supported, or the operation is not supported for /// the operating system.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedOperatingSystem { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17735,10 +17772,9 @@ impl UnsupportedOperatingSystem { /// For more information, see Using the /// advanced-instances tier in the AWS Systems Manager User Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedFeatureRequiredError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17802,7 +17838,7 @@ impl UnsupportedFeatureRequiredError { ///

      The command ID and instance ID you specified did not match any invocations. Verify the /// command ID and the instance ID and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvocationDoesNotExist {} impl std::fmt::Debug for InvocationDoesNotExist { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -17844,7 +17880,7 @@ impl InvocationDoesNotExist { ///

      The plugin name is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidPluginName {} impl std::fmt::Debug for InvalidPluginName { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -17886,10 +17922,9 @@ impl InvalidPluginName { ///

      The calendar entry contained in the specified Systems Manager document is not supported.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct UnsupportedCalendarError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -17950,10 +17985,9 @@ impl UnsupportedCalendarError { ///

      The document type is not valid. Valid document types are described in the /// DocumentType property.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDocumentType { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18014,10 +18048,9 @@ impl InvalidDocumentType { ///

      The association was not found using the parameters you specified in the call. Verify the /// information and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemRelatedItemAssociationNotFoundError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18078,10 +18111,9 @@ impl OpsItemRelatedItemAssociationNotFoundError { ///

      The ID specified for the delete operation does not exist or is not valid. Verify the ID and /// try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDeletionIdError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18141,10 +18173,9 @@ impl InvalidDeletionIdError { ///

      The specified filter value is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidInstanceInformationFilterValue { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18204,10 +18235,9 @@ impl InvalidInstanceInformationFilterValue { ///

      The specified execution ID does not exist. Verify the ID number and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationExecutionDoesNotExist { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18268,10 +18298,9 @@ impl AssociationExecutionDoesNotExist { ///

      You specified the Safe option for the DeregisterTargetFromMaintenanceWindow /// operation, but the target is still referenced in a task.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TargetInUseError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18332,10 +18361,9 @@ impl TargetInUseError { ///

      Error returned if an attempt is made to delete a patch baseline that is registered for a /// patch group.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceInUseError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18395,10 +18423,9 @@ impl ResourceInUseError { ///

      The delete inventory option specified is not valid. Verify the option and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidOptionError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18458,10 +18485,9 @@ impl InvalidOptionError { ///

      The request is not valid.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidInventoryRequestError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18525,10 +18551,9 @@ impl InvalidInventoryRequestError { ///

      One or more of the parameters specified for the delete operation is not valid. Verify all /// parameters and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidDeleteInventoryParametersError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18591,7 +18616,7 @@ impl InvalidDeleteInventoryParametersError { ///

      You must disassociate a document from all instances before you can delete it.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociatedInstances {} impl std::fmt::Debug for AssociatedInstances { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -18634,10 +18659,9 @@ impl AssociatedInstances { ///

      The activation ID is not valid. Verify the you entered the correct ActivationId or /// ActivationCode and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidActivationId { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18698,10 +18722,9 @@ impl InvalidActivationId { ///

      The activation is not valid. The activation might have been deleted, or the ActivationId and /// the ActivationCode do not match.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidActivation { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18761,10 +18784,9 @@ impl InvalidActivation { ///

      You have exceeded the allowed maximum sync configurations.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncCountExceededError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18827,10 +18849,9 @@ impl ResourceDataSyncCountExceededError { ///

      A sync configuration with the same name already exists.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncAlreadyExistsError { #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_name: std::option::Option, } @@ -18891,10 +18912,9 @@ impl ResourceDataSyncAlreadyExistsError { ///

      Your account reached the maximum number of OpsMetadata objects allowed by Application Manager. The /// maximum is 200 OpsMetadata objects. Delete one or more OpsMetadata object and try again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataLimitExceededError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -18957,10 +18977,9 @@ impl OpsMetadataLimitExceededError { ///

      An OpsMetadata object already exists for the selected resource.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataAlreadyExistsError { #[serde(rename = "message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -19023,10 +19042,9 @@ impl OpsMetadataAlreadyExistsError { ///

      The specified document already exists.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentAlreadyExists { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, } @@ -19086,7 +19104,7 @@ impl DocumentAlreadyExists { ///

      You can have at most 2,000 active associations.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationLimitExceeded {} impl std::fmt::Debug for AssociationLimitExceeded { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -19128,7 +19146,7 @@ impl AssociationLimitExceeded { ///

      The specified association already exists.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationAlreadyExists {} impl std::fmt::Debug for AssociationAlreadyExists { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -19170,18 +19188,15 @@ impl AssociationAlreadyExists { ///

      The Amazon Resource Name (ARN) is already associated with the OpsItem.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemRelatedItemAlreadyExistsError { #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, #[serde(rename = "ResourceUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_uri: std::option::Option, #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, } @@ -19267,7 +19282,7 @@ impl OpsItemRelatedItemAlreadyExistsError { ///

      The Targets parameter includes too many tags. Remove one or more tags and try /// the command again.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TooManyTagsError {} impl std::fmt::Debug for TooManyTagsError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { diff --git a/sdk/ssm/src/input.rs b/sdk/ssm/src/input.rs index ca29ba335b5f..2384a6217d55 100644 --- a/sdk/ssm/src/input.rs +++ b/sdk/ssm/src/input.rs @@ -93,47 +93,38 @@ impl AddTagsToResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_add_tags_to_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_add_tags_to_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::AddTagsToResource::new(), @@ -142,7 +133,6 @@ impl AddTagsToResourceInput { "AddTagsToResource", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -152,7 +142,6 @@ impl AddTagsToResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -263,45 +252,39 @@ impl AssociateOpsItemRelatedItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_associate_ops_item_related_item_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_associate_ops_item_related_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::AssociateOpsItemRelatedItem::new(), @@ -310,7 +293,6 @@ impl AssociateOpsItemRelatedItemInput { "AssociateOpsItemRelatedItem", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -320,7 +302,6 @@ impl AssociateOpsItemRelatedItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -399,46 +380,38 @@ impl CancelCommandInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_cancel_command_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_cancel_command(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CancelCommand::new(), @@ -447,7 +420,6 @@ impl CancelCommandInput { "CancelCommand", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -457,7 +429,6 @@ impl CancelCommandInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -527,45 +498,41 @@ impl CancelMaintenanceWindowExecutionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_cancel_maintenance_window_execution_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_cancel_maintenance_window_execution( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CancelMaintenanceWindowExecution::new(), @@ -574,7 +541,6 @@ impl CancelMaintenanceWindowExecutionInput { "CancelMaintenanceWindowExecution", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -584,7 +550,6 @@ impl CancelMaintenanceWindowExecutionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -727,47 +692,37 @@ impl CreateActivationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_activation_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_activation(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateActivation::new(), @@ -776,7 +731,6 @@ impl CreateActivationInput { "CreateActivation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -786,7 +740,6 @@ impl CreateActivationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1132,47 +1085,38 @@ impl CreateAssociationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_association_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_association(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateAssociation::new(), @@ -1181,7 +1125,6 @@ impl CreateAssociationInput { "CreateAssociation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1191,7 +1134,6 @@ impl CreateAssociationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1266,49 +1208,38 @@ impl CreateAssociationBatchInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_association_batch_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_association_batch(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateAssociationBatch::new(), @@ -1317,7 +1248,6 @@ impl CreateAssociationBatchInput { "CreateAssociationBatch", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1327,7 +1257,6 @@ impl CreateAssociationBatchInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1561,46 +1490,37 @@ impl CreateDocumentInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_document_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_document(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateDocument::new(), @@ -1609,7 +1529,6 @@ impl CreateDocumentInput { "CreateDocument", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1619,7 +1538,6 @@ impl CreateDocumentInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -1835,51 +1753,39 @@ impl CreateMaintenanceWindowInput { 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_maintenance_window_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_maintenance_window(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateMaintenanceWindow::new(), @@ -1888,7 +1794,6 @@ impl CreateMaintenanceWindowInput { "CreateMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -1898,7 +1803,6 @@ impl CreateMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2162,46 +2066,37 @@ impl CreateOpsItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_ops_item_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_ops_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateOpsItem::new(), @@ -2210,7 +2105,6 @@ impl CreateOpsItemInput { "CreateOpsItem", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2220,7 +2114,6 @@ impl CreateOpsItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2323,47 +2216,38 @@ impl CreateOpsMetadataInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_ops_metadata_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_create_ops_metadata(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateOpsMetadata::new(), @@ -2372,7 +2256,6 @@ impl CreateOpsMetadataInput { "CreateOpsMetadata", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2382,7 +2265,6 @@ impl CreateOpsMetadataInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2641,49 +2523,39 @@ impl CreatePatchBaselineInput { 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_patch_baseline_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_create_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreatePatchBaseline::new(), @@ -2692,7 +2564,6 @@ impl CreatePatchBaselineInput { "CreatePatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2702,7 +2573,6 @@ impl CreatePatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2813,49 +2683,38 @@ impl CreateResourceDataSyncInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_create_resource_data_sync_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_create_resource_data_sync(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::CreateResourceDataSync::new(), @@ -2864,7 +2723,6 @@ impl CreateResourceDataSyncInput { "CreateResourceDataSync", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2874,7 +2732,6 @@ impl CreateResourceDataSyncInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -2939,47 +2796,37 @@ impl DeleteActivationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_activation_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_activation(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteActivation::new(), @@ -2988,7 +2835,6 @@ impl DeleteActivationInput { "DeleteActivation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -2998,7 +2844,6 @@ impl DeleteActivationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3085,47 +2930,38 @@ impl DeleteAssociationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_association_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_association(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteAssociation::new(), @@ -3134,7 +2970,6 @@ impl DeleteAssociationInput { "DeleteAssociation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3144,7 +2979,6 @@ impl DeleteAssociationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3249,46 +3083,37 @@ impl DeleteDocumentInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_document_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_document(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteDocument::new(), @@ -3297,7 +3122,6 @@ impl DeleteDocumentInput { "DeleteDocument", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3307,7 +3131,6 @@ impl DeleteDocumentInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3425,48 +3248,38 @@ impl DeleteInventoryInput { 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_delete_inventory_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_inventory(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteInventory::new(), @@ -3475,7 +3288,6 @@ impl DeleteInventoryInput { "DeleteInventory", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3485,7 +3297,6 @@ impl DeleteInventoryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3550,49 +3361,38 @@ impl DeleteMaintenanceWindowInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_maintenance_window_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_delete_maintenance_window(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteMaintenanceWindow::new(), @@ -3601,7 +3401,6 @@ impl DeleteMaintenanceWindowInput { "DeleteMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3611,7 +3410,6 @@ impl DeleteMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3679,47 +3477,38 @@ impl DeleteOpsMetadataInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_ops_metadata_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_ops_metadata(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteOpsMetadata::new(), @@ -3728,7 +3517,6 @@ impl DeleteOpsMetadataInput { "DeleteOpsMetadata", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3738,7 +3526,6 @@ impl DeleteOpsMetadataInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3801,46 +3588,37 @@ impl DeleteParameterInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_parameter_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_parameter(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteParameter::new(), @@ -3849,7 +3627,6 @@ impl DeleteParameterInput { "DeleteParameter", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3859,7 +3636,6 @@ impl DeleteParameterInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -3926,47 +3702,37 @@ impl DeleteParametersInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_parameters_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_parameters(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteParameters::new(), @@ -3975,7 +3741,6 @@ impl DeleteParametersInput { "DeleteParameters", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -3985,7 +3750,6 @@ impl DeleteParametersInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4050,47 +3814,38 @@ impl DeletePatchBaselineInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_patch_baseline_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_delete_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeletePatchBaseline::new(), @@ -4099,7 +3854,6 @@ impl DeletePatchBaselineInput { "DeletePatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4109,7 +3863,6 @@ impl DeletePatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4185,49 +3938,38 @@ impl DeleteResourceDataSyncInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_resource_data_sync_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_delete_resource_data_sync(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeleteResourceDataSync::new(), @@ -4236,7 +3978,6 @@ impl DeleteResourceDataSyncInput { "DeleteResourceDataSync", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4246,7 +3987,6 @@ impl DeleteResourceDataSyncInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4312,49 +4052,38 @@ impl DeregisterManagedInstanceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_deregister_managed_instance_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_deregister_managed_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeregisterManagedInstance::new(), @@ -4363,7 +4092,6 @@ impl DeregisterManagedInstanceInput { "DeregisterManagedInstance", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4373,7 +4101,6 @@ impl DeregisterManagedInstanceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4451,45 +4178,37 @@ impl DeregisterPatchBaselineForPatchGroupInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_deregister_patch_baseline_for_patch_group_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_deregister_patch_baseline_for_patch_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeregisterPatchBaselineForPatchGroup::new(), @@ -4498,7 +4217,6 @@ impl DeregisterPatchBaselineForPatchGroupInput { "DeregisterPatchBaselineForPatchGroup", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4508,7 +4226,6 @@ impl DeregisterPatchBaselineForPatchGroupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4605,45 +4322,37 @@ impl DeregisterTargetFromMaintenanceWindowInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_deregister_target_from_maintenance_window_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_deregister_target_from_maintenance_window(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeregisterTargetFromMaintenanceWindow::new(), @@ -4652,7 +4361,6 @@ impl DeregisterTargetFromMaintenanceWindowInput { "DeregisterTargetFromMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4662,7 +4370,6 @@ impl DeregisterTargetFromMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4743,45 +4450,41 @@ impl DeregisterTaskFromMaintenanceWindowInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_deregister_task_from_maintenance_window_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_deregister_task_from_maintenance_window( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DeregisterTaskFromMaintenanceWindow::new(), @@ -4790,7 +4493,6 @@ impl DeregisterTaskFromMaintenanceWindowInput { "DeregisterTaskFromMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4800,7 +4502,6 @@ impl DeregisterTaskFromMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -4896,47 +4597,38 @@ impl DescribeActivationsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_activations_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_activations(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeActivations::new(), @@ -4945,7 +4637,6 @@ impl DescribeActivationsInput { "DescribeActivations", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4955,7 +4646,6 @@ impl DescribeActivationsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5059,47 +4749,38 @@ impl DescribeAssociationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_association_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_association(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeAssociation::new(), @@ -5108,7 +4789,6 @@ impl DescribeAssociationInput { "DescribeAssociation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5118,7 +4798,6 @@ impl DescribeAssociationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5224,45 +4903,39 @@ impl DescribeAssociationExecutionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_association_executions_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_association_executions(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeAssociationExecutions::new(), @@ -5271,7 +4944,6 @@ impl DescribeAssociationExecutionsInput { "DescribeAssociationExecutions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5281,7 +4953,6 @@ impl DescribeAssociationExecutionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5403,45 +5074,41 @@ impl DescribeAssociationExecutionTargetsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_association_execution_targets_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_association_execution_targets( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeAssociationExecutionTargets::new(), @@ -5450,7 +5117,6 @@ impl DescribeAssociationExecutionTargetsInput { "DescribeAssociationExecutionTargets", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5460,7 +5126,6 @@ impl DescribeAssociationExecutionTargetsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5559,45 +5224,39 @@ impl DescribeAutomationExecutionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_automation_executions_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_automation_executions(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeAutomationExecutions::new(), @@ -5606,7 +5265,6 @@ impl DescribeAutomationExecutionsInput { "DescribeAutomationExecutions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5616,7 +5274,6 @@ impl DescribeAutomationExecutionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5737,45 +5394,41 @@ impl DescribeAutomationStepExecutionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_automation_step_executions_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_automation_step_executions( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeAutomationStepExecutions::new(), @@ -5784,7 +5437,6 @@ impl DescribeAutomationStepExecutionsInput { "DescribeAutomationStepExecutions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5794,7 +5446,6 @@ impl DescribeAutomationStepExecutionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -5887,49 +5538,38 @@ impl DescribeAvailablePatchesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_available_patches_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_available_patches(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeAvailablePatches::new(), @@ -5938,7 +5578,6 @@ impl DescribeAvailablePatchesInput { "DescribeAvailablePatches", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -5948,7 +5587,6 @@ impl DescribeAvailablePatchesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6041,47 +5679,37 @@ impl DescribeDocumentInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_document_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_document(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeDocument::new(), @@ -6090,7 +5718,6 @@ impl DescribeDocumentInput { "DescribeDocument", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6100,7 +5727,6 @@ impl DescribeDocumentInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6205,48 +5831,38 @@ impl DescribeDocumentPermissionInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_describe_document_permission_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_describe_document_permission(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeDocumentPermission::new(), @@ -6255,7 +5871,6 @@ impl DescribeDocumentPermissionInput { "DescribeDocumentPermission", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6265,7 +5880,6 @@ impl DescribeDocumentPermissionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6356,45 +5970,41 @@ impl DescribeEffectiveInstanceAssociationsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_effective_instance_associations_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_effective_instance_associations( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeEffectiveInstanceAssociations::new(), @@ -6403,7 +6013,6 @@ impl DescribeEffectiveInstanceAssociationsInput { "DescribeEffectiveInstanceAssociations", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6413,7 +6022,6 @@ impl DescribeEffectiveInstanceAssociationsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6508,45 +6116,37 @@ impl DescribeEffectivePatchesForPatchBaselineInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_effective_patches_for_patch_baseline_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_describe_effective_patches_for_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeEffectivePatchesForPatchBaseline::new(), @@ -6555,7 +6155,6 @@ impl DescribeEffectivePatchesForPatchBaselineInput { "DescribeEffectivePatchesForPatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6565,7 +6164,6 @@ impl DescribeEffectivePatchesForPatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6659,45 +6257,41 @@ impl DescribeInstanceAssociationsStatusInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_instance_associations_status_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_instance_associations_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeInstanceAssociationsStatus::new(), @@ -6706,7 +6300,6 @@ impl DescribeInstanceAssociationsStatusInput { "DescribeInstanceAssociationsStatus", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6716,7 +6309,6 @@ impl DescribeInstanceAssociationsStatusInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -6838,48 +6430,38 @@ impl DescribeInstanceInformationInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_describe_instance_information_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_describe_instance_information(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeInstanceInformation::new(), @@ -6888,7 +6470,6 @@ impl DescribeInstanceInformationInput { "DescribeInstanceInformation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -6898,7 +6479,6 @@ impl DescribeInstanceInformationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7002,49 +6582,38 @@ impl DescribeInstancePatchesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_instance_patches_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_instance_patches(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeInstancePatches::new(), @@ -7053,7 +6622,6 @@ impl DescribeInstancePatchesInput { "DescribeInstancePatches", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7063,7 +6631,6 @@ impl DescribeInstancePatchesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7157,45 +6724,39 @@ impl DescribeInstancePatchStatesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_instance_patch_states_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_instance_patch_states(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeInstancePatchStates::new(), @@ -7204,7 +6765,6 @@ impl DescribeInstancePatchStatesInput { "DescribeInstancePatchStates", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7214,7 +6774,6 @@ impl DescribeInstancePatchStatesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7323,45 +6882,37 @@ impl DescribeInstancePatchStatesForPatchGroupInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_instance_patch_states_for_patch_group_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_describe_instance_patch_states_for_patch_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeInstancePatchStatesForPatchGroup::new(), @@ -7370,7 +6921,6 @@ impl DescribeInstancePatchStatesForPatchGroupInput { "DescribeInstancePatchStatesForPatchGroup", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7380,7 +6930,6 @@ impl DescribeInstancePatchStatesForPatchGroupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7474,48 +7023,38 @@ impl DescribeInventoryDeletionsInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_describe_inventory_deletions_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_describe_inventory_deletions(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeInventoryDeletions::new(), @@ -7524,7 +7063,6 @@ impl DescribeInventoryDeletionsInput { "DescribeInventoryDeletions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7534,7 +7072,6 @@ impl DescribeInventoryDeletionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7641,45 +7178,41 @@ impl DescribeMaintenanceWindowExecutionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_window_executions_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_maintenance_window_executions( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowExecutions::new(), @@ -7688,7 +7221,6 @@ impl DescribeMaintenanceWindowExecutionsInput { "DescribeMaintenanceWindowExecutions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7698,7 +7230,6 @@ impl DescribeMaintenanceWindowExecutionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7824,45 +7355,37 @@ impl DescribeMaintenanceWindowExecutionTaskInvocationsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_window_execution_task_invocations_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_describe_maintenance_window_execution_task_invocations(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowExecutionTaskInvocations::new(), @@ -7871,7 +7394,6 @@ impl DescribeMaintenanceWindowExecutionTaskInvocationsInput { "DescribeMaintenanceWindowExecutionTaskInvocations", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -7881,7 +7403,6 @@ impl DescribeMaintenanceWindowExecutionTaskInvocationsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -7996,45 +7517,37 @@ impl DescribeMaintenanceWindowExecutionTasksInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_window_execution_tasks_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_describe_maintenance_window_execution_tasks(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowExecutionTasks::new(), @@ -8043,7 +7556,6 @@ impl DescribeMaintenanceWindowExecutionTasksInput { "DescribeMaintenanceWindowExecutionTasks", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8053,7 +7565,6 @@ impl DescribeMaintenanceWindowExecutionTasksInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -8151,48 +7662,38 @@ impl DescribeMaintenanceWindowsInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_describe_maintenance_windows_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_describe_maintenance_windows(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindows::new(), @@ -8201,7 +7702,6 @@ impl DescribeMaintenanceWindowsInput { "DescribeMaintenanceWindows", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8211,7 +7711,6 @@ impl DescribeMaintenanceWindowsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -8347,45 +7846,41 @@ impl DescribeMaintenanceWindowScheduleInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_window_schedule_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_maintenance_window_schedule( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowSchedule::new(), @@ -8394,7 +7889,6 @@ impl DescribeMaintenanceWindowScheduleInput { "DescribeMaintenanceWindowSchedule", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8404,7 +7898,6 @@ impl DescribeMaintenanceWindowScheduleInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -8516,45 +8009,41 @@ impl DescribeMaintenanceWindowsForTargetInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_windows_for_target_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_maintenance_windows_for_target( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowsForTarget::new(), @@ -8563,7 +8052,6 @@ impl DescribeMaintenanceWindowsForTargetInput { "DescribeMaintenanceWindowsForTarget", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8573,7 +8061,6 @@ impl DescribeMaintenanceWindowsForTargetInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -8683,45 +8170,41 @@ impl DescribeMaintenanceWindowTargetsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_window_targets_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_maintenance_window_targets( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowTargets::new(), @@ -8730,7 +8213,6 @@ impl DescribeMaintenanceWindowTargetsInput { "DescribeMaintenanceWindowTargets", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8740,7 +8222,6 @@ impl DescribeMaintenanceWindowTargetsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -8847,45 +8328,39 @@ impl DescribeMaintenanceWindowTasksInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_maintenance_window_tasks_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_describe_maintenance_window_tasks(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeMaintenanceWindowTasks::new(), @@ -8894,7 +8369,6 @@ impl DescribeMaintenanceWindowTasksInput { "DescribeMaintenanceWindowTasks", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -8904,7 +8378,6 @@ impl DescribeMaintenanceWindowTasksInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -8997,47 +8470,38 @@ impl DescribeOpsItemsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_ops_items_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_ops_items(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeOpsItems::new(), @@ -9046,7 +8510,6 @@ impl DescribeOpsItemsInput { "DescribeOpsItems", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9056,7 +8519,6 @@ impl DescribeOpsItemsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -9168,47 +8630,38 @@ impl DescribeParametersInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_parameters_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_parameters(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeParameters::new(), @@ -9217,7 +8670,6 @@ impl DescribeParametersInput { "DescribeParameters", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9227,7 +8679,6 @@ impl DescribeParametersInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -9320,49 +8771,38 @@ impl DescribePatchBaselinesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_patch_baselines_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_patch_baselines(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribePatchBaselines::new(), @@ -9371,7 +8811,6 @@ impl DescribePatchBaselinesInput { "DescribePatchBaselines", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9381,7 +8820,6 @@ impl DescribePatchBaselinesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -9474,47 +8912,38 @@ impl DescribePatchGroupsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_patch_groups_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_describe_patch_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribePatchGroups::new(), @@ -9523,7 +8952,6 @@ impl DescribePatchGroupsInput { "DescribePatchGroups", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9533,7 +8961,6 @@ impl DescribePatchGroupsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -9598,49 +9025,38 @@ impl DescribePatchGroupStateInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_patch_group_state_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_patch_group_state(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribePatchGroupState::new(), @@ -9649,7 +9065,6 @@ impl DescribePatchGroupStateInput { "DescribePatchGroupState", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9659,7 +9074,6 @@ impl DescribePatchGroupStateInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -9777,49 +9191,38 @@ impl DescribePatchPropertiesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_patch_properties_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_describe_patch_properties(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribePatchProperties::new(), @@ -9828,7 +9231,6 @@ impl DescribePatchPropertiesInput { "DescribePatchProperties", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -9838,7 +9240,6 @@ impl DescribePatchPropertiesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -9942,47 +9343,37 @@ impl DescribeSessionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_describe_sessions_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_describe_sessions(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DescribeSessions::new(), @@ -9991,7 +9382,6 @@ impl DescribeSessionsInput { "DescribeSessions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10001,7 +9391,6 @@ impl DescribeSessionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10081,45 +9470,39 @@ impl DisassociateOpsItemRelatedItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_disassociate_ops_item_related_item_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_disassociate_ops_item_related_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::DisassociateOpsItemRelatedItem::new(), @@ -10128,7 +9511,6 @@ impl DisassociateOpsItemRelatedItemInput { "DisassociateOpsItemRelatedItem", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10138,7 +9520,6 @@ impl DisassociateOpsItemRelatedItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10208,49 +9589,38 @@ impl GetAutomationExecutionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_automation_execution_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_get_automation_execution(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetAutomationExecution::new(), @@ -10259,7 +9629,6 @@ impl GetAutomationExecutionInput { "GetAutomationExecution", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10269,7 +9638,6 @@ impl GetAutomationExecutionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10350,47 +9718,38 @@ impl GetCalendarStateInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_calendar_state_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_calendar_state(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetCalendarState::new(), @@ -10399,7 +9758,6 @@ impl GetCalendarStateInput { "GetCalendarState", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10409,7 +9767,6 @@ impl GetCalendarStateInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10507,47 +9864,38 @@ impl GetCommandInvocationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_command_invocation_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_command_invocation(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetCommandInvocation::new(), @@ -10556,7 +9904,6 @@ impl GetCommandInvocationInput { "GetCommandInvocation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10566,7 +9913,6 @@ impl GetCommandInvocationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10631,47 +9977,38 @@ impl GetConnectionStatusInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_connection_status_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_get_connection_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetConnectionStatus::new(), @@ -10680,7 +10017,6 @@ impl GetConnectionStatusInput { "GetConnectionStatus", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10690,7 +10026,6 @@ impl GetConnectionStatusInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10758,49 +10093,38 @@ impl GetDefaultPatchBaselineInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_default_patch_baseline_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_get_default_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDefaultPatchBaseline::new(), @@ -10809,7 +10133,6 @@ impl GetDefaultPatchBaselineInput { "GetDefaultPatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10819,7 +10142,6 @@ impl GetDefaultPatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -10911,45 +10233,37 @@ impl GetDeployablePatchSnapshotForInstanceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_deployable_patch_snapshot_for_instance_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_get_deployable_patch_snapshot_for_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDeployablePatchSnapshotForInstance::new(), @@ -10958,7 +10272,6 @@ impl GetDeployablePatchSnapshotForInstanceInput { "GetDeployablePatchSnapshotForInstance", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -10968,7 +10281,6 @@ impl GetDeployablePatchSnapshotForInstanceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11077,52 +10389,43 @@ impl GetDocumentInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_document_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_document(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetDocument::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetDocument", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11132,7 +10435,6 @@ impl GetDocumentInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11256,52 +10558,43 @@ impl GetInventoryInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_inventory_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_inventory(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetInventory::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetInventory", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11311,7 +10604,6 @@ impl GetInventoryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11425,47 +10717,38 @@ impl GetInventorySchemaInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_inventory_schema_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_inventory_schema(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetInventorySchema::new(), @@ -11474,7 +10757,6 @@ impl GetInventorySchemaInput { "GetInventorySchema", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11484,7 +10766,6 @@ impl GetInventorySchemaInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11549,47 +10830,38 @@ impl GetMaintenanceWindowInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_maintenance_window_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_maintenance_window(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetMaintenanceWindow::new(), @@ -11598,7 +10870,6 @@ impl GetMaintenanceWindowInput { "GetMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11608,7 +10879,6 @@ impl GetMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11678,45 +10948,39 @@ impl GetMaintenanceWindowExecutionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_maintenance_window_execution_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_get_maintenance_window_execution(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetMaintenanceWindowExecution::new(), @@ -11725,7 +10989,6 @@ impl GetMaintenanceWindowExecutionInput { "GetMaintenanceWindowExecution", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11735,7 +10998,6 @@ impl GetMaintenanceWindowExecutionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11817,45 +11079,41 @@ impl GetMaintenanceWindowExecutionTaskInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_maintenance_window_execution_task_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_get_maintenance_window_execution_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetMaintenanceWindowExecutionTask::new(), @@ -11864,7 +11122,6 @@ impl GetMaintenanceWindowExecutionTaskInput { "GetMaintenanceWindowExecutionTask", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -11874,7 +11131,6 @@ impl GetMaintenanceWindowExecutionTaskInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -11971,45 +11227,37 @@ impl GetMaintenanceWindowExecutionTaskInvocationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_maintenance_window_execution_task_invocation_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + let body = + crate::operation_ser::serialize_operation_get_maintenance_window_execution_task_invocation(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetMaintenanceWindowExecutionTaskInvocation::new(), @@ -12018,7 +11266,6 @@ impl GetMaintenanceWindowExecutionTaskInvocationInput { "GetMaintenanceWindowExecutionTaskInvocation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12028,7 +11275,6 @@ impl GetMaintenanceWindowExecutionTaskInvocationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -12108,49 +11354,38 @@ impl GetMaintenanceWindowTaskInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_maintenance_window_task_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_get_maintenance_window_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetMaintenanceWindowTask::new(), @@ -12159,7 +11394,6 @@ impl GetMaintenanceWindowTaskInput { "GetMaintenanceWindowTask", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12169,7 +11403,6 @@ impl GetMaintenanceWindowTaskInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -12233,52 +11466,43 @@ impl GetOpsItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_ops_item_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_ops_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetOpsItem::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetOpsItem", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12288,7 +11512,6 @@ impl GetOpsItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -12378,46 +11601,37 @@ impl GetOpsMetadataInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_ops_metadata_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_ops_metadata(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetOpsMetadata::new(), @@ -12426,7 +11640,6 @@ impl GetOpsMetadataInput { "GetOpsMetadata", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12436,7 +11649,6 @@ impl GetOpsMetadataInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -12572,46 +11784,37 @@ impl GetOpsSummaryInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_ops_summary_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_ops_summary(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetOpsSummary::new(), @@ -12620,7 +11823,6 @@ impl GetOpsSummaryInput { "GetOpsSummary", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12630,7 +11832,6 @@ impl GetOpsSummaryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -12706,52 +11907,43 @@ impl GetParameterInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_parameter_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_parameter(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetParameter::new(), ) .with_metadata(smithy_http::operation::Metadata::new("GetParameter", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12761,7 +11953,6 @@ impl GetParameterInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -12862,47 +12053,38 @@ impl GetParameterHistoryInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_parameter_history_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_get_parameter_history(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetParameterHistory::new(), @@ -12911,7 +12093,6 @@ impl GetParameterHistoryInput { "GetParameterHistory", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -12921,7 +12102,6 @@ impl GetParameterHistoryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13001,46 +12181,38 @@ impl GetParametersInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_parameters_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_get_parameters(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetParameters::new(), @@ -13049,7 +12221,6 @@ impl GetParametersInput { "GetParameters", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13059,7 +12230,6 @@ impl GetParametersInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13200,47 +12370,38 @@ impl GetParametersByPathInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_parameters_by_path_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_parameters_by_path(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetParametersByPath::new(), @@ -13249,7 +12410,6 @@ impl GetParametersByPathInput { "GetParametersByPath", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13259,7 +12419,6 @@ impl GetParametersByPathInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13324,47 +12483,38 @@ impl GetPatchBaselineInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_patch_baseline_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetPatchBaseline::new(), @@ -13373,7 +12523,6 @@ impl GetPatchBaselineInput { "GetPatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13383,7 +12532,6 @@ impl GetPatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13464,45 +12612,39 @@ impl GetPatchBaselineForPatchGroupInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_patch_baseline_for_patch_group_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_get_patch_baseline_for_patch_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetPatchBaselineForPatchGroup::new(), @@ -13511,7 +12653,6 @@ impl GetPatchBaselineForPatchGroupInput { "GetPatchBaselineForPatchGroup", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13521,7 +12662,6 @@ impl GetPatchBaselineForPatchGroupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13591,47 +12731,38 @@ impl GetServiceSettingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_get_service_setting_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_get_service_setting(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::GetServiceSetting::new(), @@ -13640,7 +12771,6 @@ impl GetServiceSettingInput { "GetServiceSetting", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13650,7 +12780,6 @@ impl GetServiceSettingInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13742,47 +12871,38 @@ impl LabelParameterVersionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_label_parameter_version_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_label_parameter_version(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::LabelParameterVersion::new(), @@ -13791,7 +12911,6 @@ impl LabelParameterVersionInput { "LabelParameterVersion", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13801,7 +12920,6 @@ impl LabelParameterVersionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -13898,47 +13016,37 @@ impl ListAssociationsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_associations_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_associations(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListAssociations::new(), @@ -13947,7 +13055,6 @@ impl ListAssociationsInput { "ListAssociations", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -13957,7 +13064,6 @@ impl ListAssociationsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -14045,49 +13151,38 @@ impl ListAssociationVersionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_association_versions_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_list_association_versions(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListAssociationVersions::new(), @@ -14096,7 +13191,6 @@ impl ListAssociationVersionsInput { "ListAssociationVersions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14106,7 +13200,6 @@ impl ListAssociationVersionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -14233,49 +13326,38 @@ impl ListCommandInvocationsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_command_invocations_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_list_command_invocations(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListCommandInvocations::new(), @@ -14284,7 +13366,6 @@ impl ListCommandInvocationsInput { "ListCommandInvocations", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14294,7 +13375,6 @@ impl ListCommandInvocationsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -14412,52 +13492,43 @@ impl ListCommandsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_commands_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_commands(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListCommands::new(), ) .with_metadata(smithy_http::operation::Metadata::new("ListCommands", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14467,7 +13538,6 @@ impl ListCommandsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -14590,47 +13660,38 @@ impl ListComplianceItemsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_compliance_items_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_list_compliance_items(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListComplianceItems::new(), @@ -14639,7 +13700,6 @@ impl ListComplianceItemsInput { "ListComplianceItems", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14649,7 +13709,6 @@ impl ListComplianceItemsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -14743,49 +13802,38 @@ impl ListComplianceSummariesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_compliance_summaries_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_list_compliance_summaries(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListComplianceSummaries::new(), @@ -14794,7 +13842,6 @@ impl ListComplianceSummariesInput { "ListComplianceSummaries", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14804,7 +13851,6 @@ impl ListComplianceSummariesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -14924,45 +13970,39 @@ impl ListDocumentMetadataHistoryInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_document_metadata_history_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_list_document_metadata_history(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListDocumentMetadataHistory::new(), @@ -14971,7 +14011,6 @@ impl ListDocumentMetadataHistoryInput { "ListDocumentMetadataHistory", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -14981,7 +14020,6 @@ impl ListDocumentMetadataHistoryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -15093,46 +14131,38 @@ impl ListDocumentsInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_documents_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_list_documents(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListDocuments::new(), @@ -15141,7 +14171,6 @@ impl ListDocumentsInput { "ListDocuments", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15151,7 +14180,6 @@ impl ListDocumentsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -15240,47 +14268,38 @@ impl ListDocumentVersionsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_document_versions_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_document_versions(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListDocumentVersions::new(), @@ -15289,7 +14308,6 @@ impl ListDocumentVersionsInput { "ListDocumentVersions", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15299,7 +14317,6 @@ impl ListDocumentVersionsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -15414,47 +14431,38 @@ impl ListInventoryEntriesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_inventory_entries_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_inventory_entries(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListInventoryEntries::new(), @@ -15463,7 +14471,6 @@ impl ListInventoryEntriesInput { "ListInventoryEntries", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15473,7 +14480,6 @@ impl ListInventoryEntriesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -15565,47 +14571,38 @@ impl ListOpsItemEventsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_ops_item_events_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_ops_item_events(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListOpsItemEvents::new(), @@ -15614,7 +14611,6 @@ impl ListOpsItemEventsInput { "ListOpsItemEvents", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15624,7 +14620,6 @@ impl ListOpsItemEventsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -15729,49 +14724,38 @@ impl ListOpsItemRelatedItemsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_ops_item_related_items_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_list_ops_item_related_items(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListOpsItemRelatedItems::new(), @@ -15780,7 +14764,6 @@ impl ListOpsItemRelatedItemsInput { "ListOpsItemRelatedItems", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15790,7 +14773,6 @@ impl ListOpsItemRelatedItemsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -15882,47 +14864,37 @@ impl ListOpsMetadataInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_ops_metadata_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_ops_metadata(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListOpsMetadata::new(), @@ -15931,7 +14903,6 @@ impl ListOpsMetadataInput { "ListOpsMetadata", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -15941,7 +14912,6 @@ impl ListOpsMetadataInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -16036,45 +15006,39 @@ impl ListResourceComplianceSummariesInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_resource_compliance_summaries_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_list_resource_compliance_summaries(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListResourceComplianceSummaries::new(), @@ -16083,7 +15047,6 @@ impl ListResourceComplianceSummariesInput { "ListResourceComplianceSummaries", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16093,7 +15056,6 @@ impl ListResourceComplianceSummariesInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -16184,47 +15146,38 @@ impl ListResourceDataSyncInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_resource_data_sync_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_list_resource_data_sync(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListResourceDataSync::new(), @@ -16233,7 +15186,6 @@ impl ListResourceDataSyncInput { "ListResourceDataSync", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16243,7 +15195,6 @@ impl ListResourceDataSyncInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -16322,47 +15273,38 @@ impl ListTagsForResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_tags_for_resource_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + 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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ListTagsForResource::new(), @@ -16371,7 +15313,6 @@ impl ListTagsForResourceInput { "ListTagsForResource", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16381,7 +15322,6 @@ impl ListTagsForResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -16506,49 +15446,38 @@ impl ModifyDocumentPermissionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_modify_document_permission_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_modify_document_permission(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ModifyDocumentPermission::new(), @@ -16557,7 +15486,6 @@ impl ModifyDocumentPermissionInput { "ModifyDocumentPermission", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16567,7 +15495,6 @@ impl ModifyDocumentPermissionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -16729,47 +15656,38 @@ impl PutComplianceItemsInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_put_compliance_items_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_put_compliance_items(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutComplianceItems::new(), @@ -16778,7 +15696,6 @@ impl PutComplianceItemsInput { "PutComplianceItems", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16788,7 +15705,6 @@ impl PutComplianceItemsInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -16867,52 +15783,43 @@ impl PutInventoryInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_inventory_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_inventory(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutInventory::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutInventory", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -16922,7 +15829,6 @@ impl PutInventoryInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -17275,52 +16181,43 @@ impl PutParameterInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_parameter_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_put_parameter(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::PutParameter::new(), ) .with_metadata(smithy_http::operation::Metadata::new("PutParameter", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17330,7 +16227,6 @@ impl PutParameterInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -17397,45 +16293,39 @@ impl RegisterDefaultPatchBaselineInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_register_default_patch_baseline_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_register_default_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RegisterDefaultPatchBaseline::new(), @@ -17444,7 +16334,6 @@ impl RegisterDefaultPatchBaselineInput { "RegisterDefaultPatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17454,7 +16343,6 @@ impl RegisterDefaultPatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -17532,45 +16420,41 @@ impl RegisterPatchBaselineForPatchGroupInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_register_patch_baseline_for_patch_group_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_register_patch_baseline_for_patch_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RegisterPatchBaselineForPatchGroup::new(), @@ -17579,7 +16463,6 @@ impl RegisterPatchBaselineForPatchGroupInput { "RegisterPatchBaselineForPatchGroup", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17589,7 +16472,6 @@ impl RegisterPatchBaselineForPatchGroupInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -17738,47 +16620,42 @@ impl RegisterTargetWithMaintenanceWindowInput { 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_register_target_with_maintenance_window_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_register_target_with_maintenance_window( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RegisterTargetWithMaintenanceWindow::new(), @@ -17787,7 +16664,6 @@ impl RegisterTargetWithMaintenanceWindowInput { "RegisterTargetWithMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -17797,7 +16673,6 @@ impl RegisterTargetWithMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -18091,47 +16966,42 @@ impl RegisterTaskWithMaintenanceWindowInput { 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_register_task_with_maintenance_window_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_register_task_with_maintenance_window( + &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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RegisterTaskWithMaintenanceWindow::new(), @@ -18140,7 +17010,6 @@ impl RegisterTaskWithMaintenanceWindowInput { "RegisterTaskWithMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18150,7 +17019,6 @@ impl RegisterTaskWithMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -18267,49 +17135,38 @@ impl RemoveTagsFromResourceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_remove_tags_from_resource_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_remove_tags_from_resource(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::RemoveTagsFromResource::new(), @@ -18318,7 +17175,6 @@ impl RemoveTagsFromResourceInput { "RemoveTagsFromResource", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18328,7 +17184,6 @@ impl RemoveTagsFromResourceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -18399,47 +17254,38 @@ impl ResetServiceSettingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_reset_service_setting_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_reset_service_setting(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ResetServiceSetting::new(), @@ -18448,7 +17294,6 @@ impl ResetServiceSettingInput { "ResetServiceSetting", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18458,7 +17303,6 @@ impl ResetServiceSettingInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -18522,46 +17366,38 @@ impl ResumeSessionInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_resume_session_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_resume_session(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::ResumeSession::new(), @@ -18570,7 +17406,6 @@ impl ResumeSessionInput { "ResumeSession", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18580,7 +17415,6 @@ impl ResumeSessionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -18686,47 +17520,38 @@ impl SendAutomationSignalInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_send_automation_signal_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_send_automation_signal(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::SendAutomationSignal::new(), @@ -18735,7 +17560,6 @@ impl SendAutomationSignalInput { "SendAutomationSignal", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -18745,7 +17569,6 @@ impl SendAutomationSignalInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -19062,52 +17885,43 @@ impl SendCommandInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_send_command_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_send_command(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::SendCommand::new(), ) .with_metadata(smithy_http::operation::Metadata::new("SendCommand", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19117,7 +17931,6 @@ impl SendCommandInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -19186,47 +17999,38 @@ impl StartAssociationsOnceInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_start_associations_once_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_start_associations_once(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StartAssociationsOnce::new(), @@ -19235,7 +18039,6 @@ impl StartAssociationsOnceInput { "StartAssociationsOnce", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19245,7 +18048,6 @@ impl StartAssociationsOnceInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -19502,49 +18304,38 @@ impl StartAutomationExecutionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_start_automation_execution_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_start_automation_execution(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StartAutomationExecution::new(), @@ -19553,7 +18344,6 @@ impl StartAutomationExecutionInput { "StartAutomationExecution", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19563,7 +18353,6 @@ impl StartAutomationExecutionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -19769,45 +18558,39 @@ impl StartChangeRequestExecutionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_start_change_request_execution_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_start_change_request_execution(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StartChangeRequestExecution::new(), @@ -19816,7 +18599,6 @@ impl StartChangeRequestExecutionInput { "StartChangeRequestExecution", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19826,7 +18608,6 @@ impl StartChangeRequestExecutionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -19926,52 +18707,43 @@ impl StartSessionInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_start_session_input_body(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_start_session(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StartSession::new(), ) .with_metadata(smithy_http::operation::Metadata::new("StartSession", "ssm")); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -19981,7 +18753,6 @@ impl StartSessionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -20061,49 +18832,38 @@ impl StopAutomationExecutionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_stop_automation_execution_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_stop_automation_execution(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::StopAutomationExecution::new(), @@ -20112,7 +18872,6 @@ impl StopAutomationExecutionInput { "StopAutomationExecution", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20122,7 +18881,6 @@ impl StopAutomationExecutionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -20187,47 +18945,37 @@ impl TerminateSessionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_terminate_session_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_terminate_session(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::TerminateSession::new(), @@ -20236,7 +18984,6 @@ impl TerminateSessionInput { "TerminateSession", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20246,7 +18993,6 @@ impl TerminateSessionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -20338,49 +19084,38 @@ impl UnlabelParameterVersionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_unlabel_parameter_version_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_unlabel_parameter_version(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UnlabelParameterVersion::new(), @@ -20389,7 +19124,6 @@ impl UnlabelParameterVersionInput { "UnlabelParameterVersion", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20399,7 +19133,6 @@ impl UnlabelParameterVersionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -20753,47 +19486,38 @@ impl UpdateAssociationInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_association_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_association(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateAssociation::new(), @@ -20802,7 +19526,6 @@ impl UpdateAssociationInput { "UpdateAssociation", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20812,7 +19535,6 @@ impl UpdateAssociationInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -20902,49 +19624,38 @@ impl UpdateAssociationStatusInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_association_status_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_association_status(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateAssociationStatus::new(), @@ -20953,7 +19664,6 @@ impl UpdateAssociationStatusInput { "UpdateAssociationStatus", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -20963,7 +19673,6 @@ impl UpdateAssociationStatusInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -21121,46 +19830,37 @@ impl UpdateDocumentInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_document_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_document(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDocument::new(), @@ -21169,7 +19869,6 @@ impl UpdateDocumentInput { "UpdateDocument", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21179,7 +19878,6 @@ impl UpdateDocumentInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -21260,45 +19958,39 @@ impl UpdateDocumentDefaultVersionInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_document_default_version_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_update_document_default_version(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDocumentDefaultVersion::new(), @@ -21307,7 +19999,6 @@ impl UpdateDocumentDefaultVersionInput { "UpdateDocumentDefaultVersion", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21317,7 +20008,6 @@ impl UpdateDocumentDefaultVersionInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -21410,49 +20100,38 @@ impl UpdateDocumentMetadataInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_document_metadata_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_document_metadata(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateDocumentMetadata::new(), @@ -21461,7 +20140,6 @@ impl UpdateDocumentMetadataInput { "UpdateDocumentMetadata", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21471,7 +20149,6 @@ impl UpdateDocumentMetadataInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -21690,49 +20367,38 @@ impl UpdateMaintenanceWindowInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_maintenance_window_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_maintenance_window(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateMaintenanceWindow::new(), @@ -21741,7 +20407,6 @@ impl UpdateMaintenanceWindowInput { "UpdateMaintenanceWindow", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21751,7 +20416,6 @@ impl UpdateMaintenanceWindowInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -21897,45 +20561,39 @@ impl UpdateMaintenanceWindowTargetInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_maintenance_window_target_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_update_maintenance_window_target(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateMaintenanceWindowTarget::new(), @@ -21944,7 +20602,6 @@ impl UpdateMaintenanceWindowTargetInput { "UpdateMaintenanceWindowTarget", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -21954,7 +20611,6 @@ impl UpdateMaintenanceWindowTargetInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -22255,45 +20911,39 @@ impl UpdateMaintenanceWindowTaskInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_maintenance_window_task_input_body(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? - ; + let body = + crate::operation_ser::serialize_operation_update_maintenance_window_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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateMaintenanceWindowTask::new(), @@ -22302,7 +20952,6 @@ impl UpdateMaintenanceWindowTaskInput { "UpdateMaintenanceWindowTask", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22312,7 +20961,6 @@ impl UpdateMaintenanceWindowTaskInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -22389,48 +21037,38 @@ impl UpdateManagedInstanceRoleInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_update_managed_instance_role_input_body( - &self, - ) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_update_managed_instance_role(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateManagedInstanceRole::new(), @@ -22439,7 +21077,6 @@ impl UpdateManagedInstanceRoleInput { "UpdateManagedInstanceRole", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22449,7 +21086,6 @@ impl UpdateManagedInstanceRoleInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -22712,46 +21348,37 @@ impl UpdateOpsItemInput { > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_update_ops_item_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_ops_item(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateOpsItem::new(), @@ -22760,7 +21387,6 @@ impl UpdateOpsItemInput { "UpdateOpsItem", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22770,7 +21396,6 @@ impl UpdateOpsItemInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -22876,47 +21501,38 @@ impl UpdateOpsMetadataInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_ops_metadata_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_ops_metadata(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateOpsMetadata::new(), @@ -22925,7 +21541,6 @@ impl UpdateOpsMetadataInput { "UpdateOpsMetadata", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -22935,7 +21550,6 @@ impl UpdateOpsMetadataInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -23172,47 +21786,38 @@ impl UpdatePatchBaselineInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_patch_baseline_input_body(&self) - .map_err(|err| { + let body = crate::operation_ser::serialize_operation_update_patch_baseline(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdatePatchBaseline::new(), @@ -23221,7 +21826,6 @@ impl UpdatePatchBaselineInput { "UpdatePatchBaseline", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -23231,7 +21835,6 @@ impl UpdatePatchBaselineInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -23322,49 +21925,38 @@ impl UpdateResourceDataSyncInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_resource_data_sync_input_body( - &self, - ) + let body = crate::operation_ser::serialize_operation_update_resource_data_sync(&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 = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); - request .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateResourceDataSync::new(), @@ -23373,7 +21965,6 @@ impl UpdateResourceDataSyncInput { "UpdateResourceDataSync", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -23383,7 +21974,6 @@ impl UpdateResourceDataSyncInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") @@ -23508,47 +22098,38 @@ impl UpdateServiceSettingInput { > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_update_service_setting_input_body(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_update_service_setting(&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 .config_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.config_mut().insert(signing_config); request .config_mut() .insert(aws_types::SigningService::from_static( _config.signing_service(), )); - aws_endpoint::set_endpoint_resolver( &mut request.config_mut(), _config.endpoint_resolver.clone(), ); - if let Some(region) = &_config.region { request.config_mut().insert(region.clone()); } - aws_auth::set_provider( &mut request.config_mut(), _config.credentials_provider.clone(), ); - let op = smithy_http::operation::Operation::new( request, crate::operation::UpdateServiceSetting::new(), @@ -23557,7 +22138,6 @@ impl UpdateServiceSettingInput { "UpdateServiceSetting", "ssm", )); - let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -23567,7 +22147,6 @@ impl UpdateServiceSettingInput { &self, ) -> Result { let builder = http::request::Builder::new(); - Ok(builder .method("POST") .header("Content-Type", "application/x-amz-json-1.1") diff --git a/sdk/ssm/src/json_deser.rs b/sdk/ssm/src/json_deser.rs index f896107eef38..e135d19f8e8c 100644 --- a/sdk/ssm/src/json_deser.rs +++ b/sdk/ssm/src/json_deser.rs @@ -11,7 +11,6 @@ pub fn associate_ops_item_related_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_id(parsed_body.association_id); Ok(builder) } @@ -29,7 +28,6 @@ pub fn cancel_maintenance_window_execution_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_execution_id(parsed_body.window_execution_id); Ok(builder) } @@ -46,7 +44,6 @@ pub fn create_activation_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_activation_id(parsed_body.activation_id); builder = builder.set_activation_code(parsed_body.activation_code); Ok(builder) @@ -64,7 +61,6 @@ pub fn create_association_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_description(parsed_body.association_description); Ok(builder) } @@ -81,7 +77,6 @@ pub fn create_association_batch_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_successful(parsed_body.successful); builder = builder.set_failed(parsed_body.failed); Ok(builder) @@ -99,7 +94,6 @@ pub fn create_document_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_document_description(parsed_body.document_description); Ok(builder) } @@ -116,7 +110,6 @@ pub fn create_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); Ok(builder) } @@ -133,7 +126,6 @@ pub fn create_ops_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ops_item_id(parsed_body.ops_item_id); Ok(builder) } @@ -150,7 +142,6 @@ pub fn create_ops_metadata_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ops_metadata_arn(parsed_body.ops_metadata_arn); Ok(builder) } @@ -167,7 +158,6 @@ pub fn create_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); Ok(builder) } @@ -184,7 +174,6 @@ pub fn delete_inventory_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_deletion_id(parsed_body.deletion_id); builder = builder.set_type_name(parsed_body.type_name); builder = builder.set_deletion_summary(parsed_body.deletion_summary); @@ -203,7 +192,6 @@ pub fn delete_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); Ok(builder) } @@ -220,7 +208,6 @@ pub fn delete_parameters_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_deleted_parameters(parsed_body.deleted_parameters); builder = builder.set_invalid_parameters(parsed_body.invalid_parameters); Ok(builder) @@ -238,7 +225,6 @@ pub fn delete_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); Ok(builder) } @@ -259,7 +245,6 @@ pub fn deregister_patch_baseline_for_patch_group_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); builder = builder.set_patch_group(parsed_body.patch_group); Ok(builder) @@ -281,7 +266,6 @@ pub fn deregister_target_from_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_window_target_id(parsed_body.window_target_id); Ok(builder) @@ -301,7 +285,6 @@ pub fn deregister_task_from_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_window_task_id(parsed_body.window_task_id); Ok(builder) @@ -319,7 +302,6 @@ pub fn describe_activations_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_activation_list(parsed_body.activation_list); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -337,7 +319,6 @@ pub fn describe_association_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_description(parsed_body.association_description); Ok(builder) } @@ -355,7 +336,6 @@ pub fn describe_association_executions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_executions(parsed_body.association_executions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -375,7 +355,6 @@ pub fn describe_association_execution_targets_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_execution_targets(parsed_body.association_execution_targets); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -393,7 +372,6 @@ pub fn describe_automation_executions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder .set_automation_execution_metadata_list(parsed_body.automation_execution_metadata_list); builder = builder.set_next_token(parsed_body.next_token); @@ -413,7 +391,6 @@ pub fn describe_automation_step_executions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_step_executions(parsed_body.step_executions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -431,7 +408,6 @@ pub fn describe_available_patches_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_patches(parsed_body.patches); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -449,7 +425,6 @@ pub fn describe_document_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_document(parsed_body.document); Ok(builder) } @@ -466,7 +441,6 @@ pub fn describe_document_permission_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_account_ids(parsed_body.account_ids); builder = builder.set_account_sharing_info_list(parsed_body.account_sharing_info_list); builder = builder.set_next_token(parsed_body.next_token); @@ -489,7 +463,6 @@ pub fn describe_effective_instance_associations_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_associations(parsed_body.associations); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -511,7 +484,6 @@ pub fn describe_effective_patches_for_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_effective_patches(parsed_body.effective_patches); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -531,7 +503,6 @@ pub fn describe_instance_associations_status_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder .set_instance_association_status_infos(parsed_body.instance_association_status_infos); builder = builder.set_next_token(parsed_body.next_token); @@ -550,7 +521,6 @@ pub fn describe_instance_information_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_instance_information_list(parsed_body.instance_information_list); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -568,7 +538,6 @@ pub fn describe_instance_patches_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_patches(parsed_body.patches); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -586,7 +555,6 @@ pub fn describe_instance_patch_states_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_instance_patch_states(parsed_body.instance_patch_states); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -608,7 +576,6 @@ pub fn describe_instance_patch_states_for_patch_group_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_instance_patch_states(parsed_body.instance_patch_states); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -626,7 +593,6 @@ pub fn describe_inventory_deletions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_inventory_deletions(parsed_body.inventory_deletions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -646,7 +612,6 @@ pub fn describe_maintenance_window_executions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_executions(parsed_body.window_executions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -667,7 +632,6 @@ pub fn describe_maintenance_window_execution_task_invocations_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_execution_task_invocation_identities( parsed_body.window_execution_task_invocation_identities, ); @@ -691,7 +655,6 @@ pub fn describe_maintenance_window_execution_tasks_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_execution_task_identities(parsed_body.window_execution_task_identities); builder = builder.set_next_token(parsed_body.next_token); @@ -710,7 +673,6 @@ pub fn describe_maintenance_windows_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_identities(parsed_body.window_identities); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -730,7 +692,6 @@ pub fn describe_maintenance_window_schedule_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_scheduled_window_executions(parsed_body.scheduled_window_executions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -750,7 +711,6 @@ pub fn describe_maintenance_windows_for_target_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_identities(parsed_body.window_identities); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -769,7 +729,6 @@ pub fn describe_maintenance_window_targets_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_targets(parsed_body.targets); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -788,7 +747,6 @@ pub fn describe_maintenance_window_tasks_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tasks(parsed_body.tasks); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -806,7 +764,6 @@ pub fn describe_ops_items_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_token(parsed_body.next_token); builder = builder.set_ops_item_summaries(parsed_body.ops_item_summaries); Ok(builder) @@ -824,7 +781,6 @@ pub fn describe_parameters_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_parameters(parsed_body.parameters); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -842,7 +798,6 @@ pub fn describe_patch_baselines_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_identities(parsed_body.baseline_identities); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -860,7 +815,6 @@ pub fn describe_patch_groups_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_mappings(parsed_body.mappings); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -878,7 +832,6 @@ pub fn describe_patch_group_state_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_instances(parsed_body.instances); builder = builder.set_instances_with_installed_patches(parsed_body.instances_with_installed_patches); @@ -924,7 +877,6 @@ pub fn describe_patch_properties_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_properties(parsed_body.properties); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -942,7 +894,6 @@ pub fn describe_sessions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_sessions(parsed_body.sessions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -960,7 +911,6 @@ pub fn get_automation_execution_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_automation_execution(parsed_body.automation_execution); Ok(builder) } @@ -977,7 +927,6 @@ pub fn get_calendar_state_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_state(parsed_body.state); builder = builder.set_at_time(parsed_body.at_time); builder = builder.set_next_transition_time(parsed_body.next_transition_time); @@ -996,7 +945,6 @@ pub fn get_command_invocation_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_command_id(parsed_body.command_id); builder = builder.set_instance_id(parsed_body.instance_id); builder = builder.set_comment(parsed_body.comment); @@ -1029,7 +977,6 @@ pub fn get_connection_status_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_target(parsed_body.target); builder = builder.set_status(parsed_body.status); Ok(builder) @@ -1047,7 +994,6 @@ pub fn get_default_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); builder = builder.set_operating_system(parsed_body.operating_system); Ok(builder) @@ -1069,7 +1015,6 @@ pub fn get_deployable_patch_snapshot_for_instance_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_instance_id(parsed_body.instance_id); builder = builder.set_snapshot_id(parsed_body.snapshot_id); builder = builder.set_snapshot_download_url(parsed_body.snapshot_download_url); @@ -1089,7 +1034,6 @@ pub fn get_document_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_name(parsed_body.name); builder = builder.set_created_date(parsed_body.created_date); builder = builder.set_display_name(parsed_body.display_name); @@ -1118,7 +1062,6 @@ pub fn get_inventory_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_entities(parsed_body.entities); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1136,7 +1079,6 @@ pub fn get_inventory_schema_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_schemas(parsed_body.schemas); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1154,7 +1096,6 @@ pub fn get_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -1186,7 +1127,6 @@ pub fn get_maintenance_window_execution_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_execution_id(parsed_body.window_execution_id); builder = builder.set_task_ids(parsed_body.task_ids); builder = builder.set_status(parsed_body.status); @@ -1210,7 +1150,6 @@ pub fn get_maintenance_window_execution_task_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_execution_id(parsed_body.window_execution_id); builder = builder.set_task_execution_id(parsed_body.task_execution_id); builder = builder.set_task_arn(parsed_body.task_arn); @@ -1243,7 +1182,6 @@ pub fn get_maintenance_window_execution_task_invocation_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_execution_id(parsed_body.window_execution_id); builder = builder.set_task_execution_id(parsed_body.task_execution_id); builder = builder.set_invocation_id(parsed_body.invocation_id); @@ -1271,7 +1209,6 @@ pub fn get_maintenance_window_task_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_window_task_id(parsed_body.window_task_id); builder = builder.set_targets(parsed_body.targets); @@ -1301,7 +1238,6 @@ pub fn get_ops_item_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ops_item(parsed_body.ops_item); Ok(builder) } @@ -1318,7 +1254,6 @@ pub fn get_ops_metadata_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_resource_id(parsed_body.resource_id); builder = builder.set_metadata(parsed_body.metadata); builder = builder.set_next_token(parsed_body.next_token); @@ -1337,7 +1272,6 @@ pub fn get_ops_summary_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_entities(parsed_body.entities); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1355,7 +1289,6 @@ pub fn get_parameter_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_parameter(parsed_body.parameter); Ok(builder) } @@ -1372,7 +1305,6 @@ pub fn get_parameter_history_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_parameters(parsed_body.parameters); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1390,7 +1322,6 @@ pub fn get_parameters_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_parameters(parsed_body.parameters); builder = builder.set_invalid_parameters(parsed_body.invalid_parameters); Ok(builder) @@ -1408,7 +1339,6 @@ pub fn get_parameters_by_path_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_parameters(parsed_body.parameters); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1426,7 +1356,6 @@ pub fn get_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); builder = builder.set_name(parsed_body.name); builder = builder.set_operating_system(parsed_body.operating_system); @@ -1460,7 +1389,6 @@ pub fn get_patch_baseline_for_patch_group_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); builder = builder.set_patch_group(parsed_body.patch_group); builder = builder.set_operating_system(parsed_body.operating_system); @@ -1479,7 +1407,6 @@ pub fn get_service_setting_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_service_setting(parsed_body.service_setting); Ok(builder) } @@ -1496,7 +1423,6 @@ pub fn label_parameter_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_invalid_labels(parsed_body.invalid_labels); builder = builder.set_parameter_version(parsed_body.parameter_version); Ok(builder) @@ -1514,7 +1440,6 @@ pub fn list_associations_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_associations(parsed_body.associations); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1532,7 +1457,6 @@ pub fn list_association_versions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_versions(parsed_body.association_versions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1550,7 +1474,6 @@ pub fn list_command_invocations_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_command_invocations(parsed_body.command_invocations); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1568,7 +1491,6 @@ pub fn list_commands_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_commands(parsed_body.commands); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1586,7 +1508,6 @@ pub fn list_compliance_items_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_compliance_items(parsed_body.compliance_items); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1604,7 +1525,6 @@ pub fn list_compliance_summaries_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_compliance_summary_items(parsed_body.compliance_summary_items); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1622,7 +1542,6 @@ pub fn list_document_metadata_history_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_name(parsed_body.name); builder = builder.set_document_version(parsed_body.document_version); builder = builder.set_author(parsed_body.author); @@ -1643,7 +1562,6 @@ pub fn list_documents_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_document_identifiers(parsed_body.document_identifiers); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1661,7 +1579,6 @@ pub fn list_document_versions_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_document_versions(parsed_body.document_versions); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1679,7 +1596,6 @@ pub fn list_inventory_entries_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_type_name(parsed_body.type_name); builder = builder.set_instance_id(parsed_body.instance_id); builder = builder.set_schema_version(parsed_body.schema_version); @@ -1701,7 +1617,6 @@ pub fn list_ops_item_events_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_token(parsed_body.next_token); builder = builder.set_summaries(parsed_body.summaries); Ok(builder) @@ -1719,7 +1634,6 @@ pub fn list_ops_item_related_items_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_next_token(parsed_body.next_token); builder = builder.set_summaries(parsed_body.summaries); Ok(builder) @@ -1737,7 +1651,6 @@ pub fn list_ops_metadata_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ops_metadata_list(parsed_body.ops_metadata_list); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1756,7 +1669,6 @@ pub fn list_resource_compliance_summaries_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder .set_resource_compliance_summary_items(parsed_body.resource_compliance_summary_items); builder = builder.set_next_token(parsed_body.next_token); @@ -1775,7 +1687,6 @@ pub fn list_resource_data_sync_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_resource_data_sync_items(parsed_body.resource_data_sync_items); builder = builder.set_next_token(parsed_body.next_token); Ok(builder) @@ -1793,7 +1704,6 @@ pub fn list_tags_for_resource_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_tag_list(parsed_body.tag_list); Ok(builder) } @@ -1810,7 +1720,6 @@ pub fn put_inventory_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_message(parsed_body.message); Ok(builder) } @@ -1827,7 +1736,6 @@ pub fn put_parameter_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_version(parsed_body.version); builder = builder.set_tier(parsed_body.tier); Ok(builder) @@ -1845,7 +1753,6 @@ pub fn register_default_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); Ok(builder) } @@ -1864,7 +1771,6 @@ pub fn register_patch_baseline_for_patch_group_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); builder = builder.set_patch_group(parsed_body.patch_group); Ok(builder) @@ -1884,7 +1790,6 @@ pub fn register_target_with_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_target_id(parsed_body.window_target_id); Ok(builder) } @@ -1903,7 +1808,6 @@ pub fn register_task_with_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_task_id(parsed_body.window_task_id); Ok(builder) } @@ -1920,7 +1824,6 @@ pub fn reset_service_setting_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_service_setting(parsed_body.service_setting); Ok(builder) } @@ -1937,7 +1840,6 @@ pub fn resume_session_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_session_id(parsed_body.session_id); builder = builder.set_token_value(parsed_body.token_value); builder = builder.set_stream_url(parsed_body.stream_url); @@ -1956,7 +1858,6 @@ pub fn send_command_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_command(parsed_body.command); Ok(builder) } @@ -1973,7 +1874,6 @@ pub fn start_automation_execution_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_automation_execution_id(parsed_body.automation_execution_id); Ok(builder) } @@ -1990,7 +1890,6 @@ pub fn start_change_request_execution_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_automation_execution_id(parsed_body.automation_execution_id); Ok(builder) } @@ -2007,7 +1906,6 @@ pub fn start_session_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_session_id(parsed_body.session_id); builder = builder.set_token_value(parsed_body.token_value); builder = builder.set_stream_url(parsed_body.stream_url); @@ -2026,7 +1924,6 @@ pub fn terminate_session_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_session_id(parsed_body.session_id); Ok(builder) } @@ -2043,7 +1940,6 @@ pub fn unlabel_parameter_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_removed_labels(parsed_body.removed_labels); builder = builder.set_invalid_labels(parsed_body.invalid_labels); Ok(builder) @@ -2061,7 +1957,6 @@ pub fn update_association_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_description(parsed_body.association_description); Ok(builder) } @@ -2078,7 +1973,6 @@ pub fn update_association_status_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_association_description(parsed_body.association_description); Ok(builder) } @@ -2095,7 +1989,6 @@ pub fn update_document_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_document_description(parsed_body.document_description); Ok(builder) } @@ -2112,7 +2005,6 @@ pub fn update_document_default_version_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_description(parsed_body.description); Ok(builder) } @@ -2129,7 +2021,6 @@ pub fn update_maintenance_window_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_name(parsed_body.name); builder = builder.set_description(parsed_body.description); @@ -2158,7 +2049,6 @@ pub fn update_maintenance_window_target_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_window_target_id(parsed_body.window_target_id); builder = builder.set_targets(parsed_body.targets); @@ -2180,7 +2070,6 @@ pub fn update_maintenance_window_task_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_window_id(parsed_body.window_id); builder = builder.set_window_task_id(parsed_body.window_task_id); builder = builder.set_targets(parsed_body.targets); @@ -2209,7 +2098,6 @@ pub fn update_ops_metadata_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_ops_metadata_arn(parsed_body.ops_metadata_arn); Ok(builder) } @@ -2226,7 +2114,6 @@ pub fn update_patch_baseline_deser_operation( } else { serde_json::from_slice(inp)? }; - builder = builder.set_baseline_id(parsed_body.baseline_id); builder = builder.set_name(parsed_body.name); builder = builder.set_operating_system(parsed_body.operating_system); diff --git a/sdk/ssm/src/json_ser.rs b/sdk/ssm/src/json_ser.rs new file mode 100644 index 000000000000..0d044938857b --- /dev/null +++ b/sdk/ssm/src/json_ser.rs @@ -0,0 +1,4878 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_add_tags_to_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::AddTagsToResourceInput, +) { + if let Some(var_1) = &input.resource_type { + object.key("ResourceType").string(var_1.as_str()); + } + if let Some(var_2) = &input.resource_id { + object.key("ResourceId").string(var_2); + } + if let Some(var_3) = &input.tags { + let mut array_4 = object.key("Tags").start_array(); + for item_5 in var_3 { + let mut object_6 = array_4.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_6, item_5); + object_6.finish(); + } + array_4.finish(); + } +} + +pub fn serialize_structure_associate_ops_item_related_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::AssociateOpsItemRelatedItemInput, +) { + if let Some(var_7) = &input.ops_item_id { + object.key("OpsItemId").string(var_7); + } + if let Some(var_8) = &input.association_type { + object.key("AssociationType").string(var_8); + } + if let Some(var_9) = &input.resource_type { + object.key("ResourceType").string(var_9); + } + if let Some(var_10) = &input.resource_uri { + object.key("ResourceUri").string(var_10); + } +} + +pub fn serialize_structure_cancel_command_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CancelCommandInput, +) { + if let Some(var_11) = &input.command_id { + object.key("CommandId").string(var_11); + } + 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_cancel_maintenance_window_execution_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CancelMaintenanceWindowExecutionInput, +) { + if let Some(var_15) = &input.window_execution_id { + object.key("WindowExecutionId").string(var_15); + } +} + +pub fn serialize_structure_create_activation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateActivationInput, +) { + if let Some(var_16) = &input.description { + object.key("Description").string(var_16); + } + if let Some(var_17) = &input.default_instance_name { + object.key("DefaultInstanceName").string(var_17); + } + if let Some(var_18) = &input.iam_role { + object.key("IamRole").string(var_18); + } + if let Some(var_19) = &input.registration_limit { + object.key("RegistrationLimit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_19).into()), + ); + } + if let Some(var_20) = &input.expiration_date { + object + .key("ExpirationDate") + .instant(var_20, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_21) = &input.tags { + let mut array_22 = object.key("Tags").start_array(); + for item_23 in var_21 { + let mut object_24 = array_22.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_24, item_23); + object_24.finish(); + } + array_22.finish(); + } +} + +pub fn serialize_structure_create_association_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAssociationInput, +) { + if let Some(var_25) = &input.name { + object.key("Name").string(var_25); + } + if let Some(var_26) = &input.document_version { + object.key("DocumentVersion").string(var_26); + } + if let Some(var_27) = &input.instance_id { + object.key("InstanceId").string(var_27); + } + if let Some(var_28) = &input.parameters { + let mut object_29 = object.key("Parameters").start_object(); + for (key_30, value_31) in var_28 { + let mut array_32 = object_29.key(key_30).start_array(); + for item_33 in value_31 { + array_32.value().string(item_33); + } + array_32.finish(); + } + object_29.finish(); + } + if let Some(var_34) = &input.targets { + let mut array_35 = object.key("Targets").start_array(); + for item_36 in var_34 { + let mut object_37 = array_35.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_37, item_36); + object_37.finish(); + } + array_35.finish(); + } + if let Some(var_38) = &input.schedule_expression { + object.key("ScheduleExpression").string(var_38); + } + if let Some(var_39) = &input.output_location { + let mut object_40 = object.key("OutputLocation").start_object(); + crate::json_ser::serialize_structure_instance_association_output_location( + &mut object_40, + var_39, + ); + object_40.finish(); + } + if let Some(var_41) = &input.association_name { + object.key("AssociationName").string(var_41); + } + if let Some(var_42) = &input.automation_target_parameter_name { + object.key("AutomationTargetParameterName").string(var_42); + } + if let Some(var_43) = &input.max_errors { + object.key("MaxErrors").string(var_43); + } + if let Some(var_44) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_44); + } + if let Some(var_45) = &input.compliance_severity { + object.key("ComplianceSeverity").string(var_45.as_str()); + } + if let Some(var_46) = &input.sync_compliance { + object.key("SyncCompliance").string(var_46.as_str()); + } + object + .key("ApplyOnlyAtCronInterval") + .boolean(input.apply_only_at_cron_interval); + if let Some(var_47) = &input.calendar_names { + let mut array_48 = object.key("CalendarNames").start_array(); + for item_49 in var_47 { + array_48.value().string(item_49); + } + array_48.finish(); + } + if let Some(var_50) = &input.target_locations { + let mut array_51 = object.key("TargetLocations").start_array(); + for item_52 in var_50 { + let mut object_53 = array_51.value().start_object(); + crate::json_ser::serialize_structure_target_location(&mut object_53, item_52); + object_53.finish(); + } + array_51.finish(); + } +} + +pub fn serialize_structure_create_association_batch_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAssociationBatchInput, +) { + if let Some(var_54) = &input.entries { + let mut array_55 = object.key("Entries").start_array(); + for item_56 in var_54 { + let mut object_57 = array_55.value().start_object(); + crate::json_ser::serialize_structure_create_association_batch_request_entry( + &mut object_57, + item_56, + ); + object_57.finish(); + } + array_55.finish(); + } +} + +pub fn serialize_structure_create_document_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateDocumentInput, +) { + if let Some(var_58) = &input.content { + object.key("Content").string(var_58); + } + if let Some(var_59) = &input.requires { + let mut array_60 = object.key("Requires").start_array(); + for item_61 in var_59 { + let mut object_62 = array_60.value().start_object(); + crate::json_ser::serialize_structure_document_requires(&mut object_62, item_61); + object_62.finish(); + } + array_60.finish(); + } + if let Some(var_63) = &input.attachments { + let mut array_64 = object.key("Attachments").start_array(); + for item_65 in var_63 { + let mut object_66 = array_64.value().start_object(); + crate::json_ser::serialize_structure_attachments_source(&mut object_66, item_65); + object_66.finish(); + } + array_64.finish(); + } + if let Some(var_67) = &input.name { + object.key("Name").string(var_67); + } + if let Some(var_68) = &input.display_name { + object.key("DisplayName").string(var_68); + } + if let Some(var_69) = &input.version_name { + object.key("VersionName").string(var_69); + } + if let Some(var_70) = &input.document_type { + object.key("DocumentType").string(var_70.as_str()); + } + if let Some(var_71) = &input.document_format { + object.key("DocumentFormat").string(var_71.as_str()); + } + if let Some(var_72) = &input.target_type { + object.key("TargetType").string(var_72); + } + if let Some(var_73) = &input.tags { + let mut array_74 = object.key("Tags").start_array(); + for item_75 in var_73 { + let mut object_76 = array_74.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_76, item_75); + object_76.finish(); + } + array_74.finish(); + } +} + +pub fn serialize_structure_create_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateMaintenanceWindowInput, +) { + if let Some(var_77) = &input.name { + object.key("Name").string(var_77); + } + if let Some(var_78) = &input.description { + object.key("Description").string(var_78); + } + if let Some(var_79) = &input.start_date { + object.key("StartDate").string(var_79); + } + if let Some(var_80) = &input.end_date { + object.key("EndDate").string(var_80); + } + if let Some(var_81) = &input.schedule { + object.key("Schedule").string(var_81); + } + if let Some(var_82) = &input.schedule_timezone { + object.key("ScheduleTimezone").string(var_82); + } + if let Some(var_83) = &input.schedule_offset { + object.key("ScheduleOffset").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_83).into()), + ); + } + object.key("Duration").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.duration).into()), + ); + object.key("Cutoff").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.cutoff).into()), + ); + object + .key("AllowUnassociatedTargets") + .boolean(input.allow_unassociated_targets); + if let Some(var_84) = &input.client_token { + object.key("ClientToken").string(var_84); + } + if let Some(var_85) = &input.tags { + let mut array_86 = object.key("Tags").start_array(); + for item_87 in var_85 { + let mut object_88 = array_86.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_88, item_87); + object_88.finish(); + } + array_86.finish(); + } +} + +pub fn serialize_structure_create_ops_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateOpsItemInput, +) { + if let Some(var_89) = &input.description { + object.key("Description").string(var_89); + } + if let Some(var_90) = &input.ops_item_type { + object.key("OpsItemType").string(var_90); + } + if let Some(var_91) = &input.operational_data { + let mut object_92 = object.key("OperationalData").start_object(); + for (key_93, value_94) in var_91 { + let mut object_95 = object_92.key(key_93).start_object(); + crate::json_ser::serialize_structure_ops_item_data_value(&mut object_95, value_94); + object_95.finish(); + } + object_92.finish(); + } + if let Some(var_96) = &input.notifications { + let mut array_97 = object.key("Notifications").start_array(); + for item_98 in var_96 { + let mut object_99 = array_97.value().start_object(); + crate::json_ser::serialize_structure_ops_item_notification(&mut object_99, item_98); + object_99.finish(); + } + array_97.finish(); + } + if let Some(var_100) = &input.priority { + object.key("Priority").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_100).into()), + ); + } + if let Some(var_101) = &input.related_ops_items { + let mut array_102 = object.key("RelatedOpsItems").start_array(); + for item_103 in var_101 { + let mut object_104 = array_102.value().start_object(); + crate::json_ser::serialize_structure_related_ops_item(&mut object_104, item_103); + object_104.finish(); + } + array_102.finish(); + } + if let Some(var_105) = &input.source { + object.key("Source").string(var_105); + } + if let Some(var_106) = &input.title { + object.key("Title").string(var_106); + } + if let Some(var_107) = &input.tags { + let mut array_108 = object.key("Tags").start_array(); + for item_109 in var_107 { + let mut object_110 = array_108.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_110, item_109); + object_110.finish(); + } + array_108.finish(); + } + if let Some(var_111) = &input.category { + object.key("Category").string(var_111); + } + if let Some(var_112) = &input.severity { + object.key("Severity").string(var_112); + } + if let Some(var_113) = &input.actual_start_time { + object + .key("ActualStartTime") + .instant(var_113, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_114) = &input.actual_end_time { + object + .key("ActualEndTime") + .instant(var_114, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_115) = &input.planned_start_time { + object + .key("PlannedStartTime") + .instant(var_115, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_116) = &input.planned_end_time { + object + .key("PlannedEndTime") + .instant(var_116, smithy_types::instant::Format::EpochSeconds); + } +} + +pub fn serialize_structure_create_ops_metadata_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateOpsMetadataInput, +) { + if let Some(var_117) = &input.resource_id { + object.key("ResourceId").string(var_117); + } + if let Some(var_118) = &input.metadata { + let mut object_119 = object.key("Metadata").start_object(); + for (key_120, value_121) in var_118 { + let mut object_122 = object_119.key(key_120).start_object(); + crate::json_ser::serialize_structure_metadata_value(&mut object_122, value_121); + object_122.finish(); + } + object_119.finish(); + } + if let Some(var_123) = &input.tags { + let mut array_124 = object.key("Tags").start_array(); + for item_125 in var_123 { + let mut object_126 = array_124.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_126, item_125); + object_126.finish(); + } + array_124.finish(); + } +} + +pub fn serialize_structure_create_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreatePatchBaselineInput, +) { + if let Some(var_127) = &input.operating_system { + object.key("OperatingSystem").string(var_127.as_str()); + } + if let Some(var_128) = &input.name { + object.key("Name").string(var_128); + } + if let Some(var_129) = &input.global_filters { + let mut object_130 = object.key("GlobalFilters").start_object(); + crate::json_ser::serialize_structure_patch_filter_group(&mut object_130, var_129); + object_130.finish(); + } + if let Some(var_131) = &input.approval_rules { + let mut object_132 = object.key("ApprovalRules").start_object(); + crate::json_ser::serialize_structure_patch_rule_group(&mut object_132, var_131); + object_132.finish(); + } + if let Some(var_133) = &input.approved_patches { + let mut array_134 = object.key("ApprovedPatches").start_array(); + for item_135 in var_133 { + array_134.value().string(item_135); + } + array_134.finish(); + } + if let Some(var_136) = &input.approved_patches_compliance_level { + object + .key("ApprovedPatchesComplianceLevel") + .string(var_136.as_str()); + } + if let Some(var_137) = &input.approved_patches_enable_non_security { + object + .key("ApprovedPatchesEnableNonSecurity") + .boolean(*var_137); + } + if let Some(var_138) = &input.rejected_patches { + let mut array_139 = object.key("RejectedPatches").start_array(); + for item_140 in var_138 { + array_139.value().string(item_140); + } + array_139.finish(); + } + if let Some(var_141) = &input.rejected_patches_action { + object.key("RejectedPatchesAction").string(var_141.as_str()); + } + if let Some(var_142) = &input.description { + object.key("Description").string(var_142); + } + if let Some(var_143) = &input.sources { + let mut array_144 = object.key("Sources").start_array(); + for item_145 in var_143 { + let mut object_146 = array_144.value().start_object(); + crate::json_ser::serialize_structure_patch_source(&mut object_146, item_145); + object_146.finish(); + } + array_144.finish(); + } + if let Some(var_147) = &input.client_token { + object.key("ClientToken").string(var_147); + } + if let Some(var_148) = &input.tags { + let mut array_149 = object.key("Tags").start_array(); + for item_150 in var_148 { + let mut object_151 = array_149.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_151, item_150); + object_151.finish(); + } + array_149.finish(); + } +} + +pub fn serialize_structure_create_resource_data_sync_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateResourceDataSyncInput, +) { + if let Some(var_152) = &input.sync_name { + object.key("SyncName").string(var_152); + } + if let Some(var_153) = &input.s3_destination { + let mut object_154 = object.key("S3Destination").start_object(); + crate::json_ser::serialize_structure_resource_data_sync_s3_destination( + &mut object_154, + var_153, + ); + object_154.finish(); + } + if let Some(var_155) = &input.sync_type { + object.key("SyncType").string(var_155); + } + if let Some(var_156) = &input.sync_source { + let mut object_157 = object.key("SyncSource").start_object(); + crate::json_ser::serialize_structure_resource_data_sync_source(&mut object_157, var_156); + object_157.finish(); + } +} + +pub fn serialize_structure_delete_activation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteActivationInput, +) { + if let Some(var_158) = &input.activation_id { + object.key("ActivationId").string(var_158); + } +} + +pub fn serialize_structure_delete_association_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteAssociationInput, +) { + if let Some(var_159) = &input.name { + object.key("Name").string(var_159); + } + if let Some(var_160) = &input.instance_id { + object.key("InstanceId").string(var_160); + } + if let Some(var_161) = &input.association_id { + object.key("AssociationId").string(var_161); + } +} + +pub fn serialize_structure_delete_document_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteDocumentInput, +) { + if let Some(var_162) = &input.name { + object.key("Name").string(var_162); + } + if let Some(var_163) = &input.document_version { + object.key("DocumentVersion").string(var_163); + } + if let Some(var_164) = &input.version_name { + object.key("VersionName").string(var_164); + } + object.key("Force").boolean(input.force); +} + +pub fn serialize_structure_delete_inventory_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteInventoryInput, +) { + if let Some(var_165) = &input.type_name { + object.key("TypeName").string(var_165); + } + if let Some(var_166) = &input.schema_delete_option { + object.key("SchemaDeleteOption").string(var_166.as_str()); + } + object.key("DryRun").boolean(input.dry_run); + if let Some(var_167) = &input.client_token { + object.key("ClientToken").string(var_167); + } +} + +pub fn serialize_structure_delete_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteMaintenanceWindowInput, +) { + if let Some(var_168) = &input.window_id { + object.key("WindowId").string(var_168); + } +} + +pub fn serialize_structure_delete_ops_metadata_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteOpsMetadataInput, +) { + if let Some(var_169) = &input.ops_metadata_arn { + object.key("OpsMetadataArn").string(var_169); + } +} + +pub fn serialize_structure_delete_parameter_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteParameterInput, +) { + if let Some(var_170) = &input.name { + object.key("Name").string(var_170); + } +} + +pub fn serialize_structure_delete_parameters_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteParametersInput, +) { + if let Some(var_171) = &input.names { + let mut array_172 = object.key("Names").start_array(); + for item_173 in var_171 { + array_172.value().string(item_173); + } + array_172.finish(); + } +} + +pub fn serialize_structure_delete_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeletePatchBaselineInput, +) { + if let Some(var_174) = &input.baseline_id { + object.key("BaselineId").string(var_174); + } +} + +pub fn serialize_structure_delete_resource_data_sync_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteResourceDataSyncInput, +) { + if let Some(var_175) = &input.sync_name { + object.key("SyncName").string(var_175); + } + if let Some(var_176) = &input.sync_type { + object.key("SyncType").string(var_176); + } +} + +pub fn serialize_structure_deregister_managed_instance_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterManagedInstanceInput, +) { + if let Some(var_177) = &input.instance_id { + object.key("InstanceId").string(var_177); + } +} + +pub fn serialize_structure_deregister_patch_baseline_for_patch_group_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterPatchBaselineForPatchGroupInput, +) { + if let Some(var_178) = &input.baseline_id { + object.key("BaselineId").string(var_178); + } + if let Some(var_179) = &input.patch_group { + object.key("PatchGroup").string(var_179); + } +} + +pub fn serialize_structure_deregister_target_from_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterTargetFromMaintenanceWindowInput, +) { + if let Some(var_180) = &input.window_id { + object.key("WindowId").string(var_180); + } + if let Some(var_181) = &input.window_target_id { + object.key("WindowTargetId").string(var_181); + } + if let Some(var_182) = &input.safe { + object.key("Safe").boolean(*var_182); + } +} + +pub fn serialize_structure_deregister_task_from_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeregisterTaskFromMaintenanceWindowInput, +) { + if let Some(var_183) = &input.window_id { + object.key("WindowId").string(var_183); + } + if let Some(var_184) = &input.window_task_id { + object.key("WindowTaskId").string(var_184); + } +} + +pub fn serialize_structure_describe_activations_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeActivationsInput, +) { + if let Some(var_185) = &input.filters { + let mut array_186 = object.key("Filters").start_array(); + for item_187 in var_185 { + let mut object_188 = array_186.value().start_object(); + crate::json_ser::serialize_structure_describe_activations_filter( + &mut object_188, + item_187, + ); + object_188.finish(); + } + array_186.finish(); + } + if let Some(var_189) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_189).into()), + ); + } + if let Some(var_190) = &input.next_token { + object.key("NextToken").string(var_190); + } +} + +pub fn serialize_structure_describe_association_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeAssociationInput, +) { + if let Some(var_191) = &input.name { + object.key("Name").string(var_191); + } + if let Some(var_192) = &input.instance_id { + object.key("InstanceId").string(var_192); + } + if let Some(var_193) = &input.association_id { + object.key("AssociationId").string(var_193); + } + if let Some(var_194) = &input.association_version { + object.key("AssociationVersion").string(var_194); + } +} + +pub fn serialize_structure_describe_association_executions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeAssociationExecutionsInput, +) { + if let Some(var_195) = &input.association_id { + object.key("AssociationId").string(var_195); + } + if let Some(var_196) = &input.filters { + let mut array_197 = object.key("Filters").start_array(); + for item_198 in var_196 { + let mut object_199 = array_197.value().start_object(); + crate::json_ser::serialize_structure_association_execution_filter( + &mut object_199, + item_198, + ); + object_199.finish(); + } + array_197.finish(); + } + if let Some(var_200) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_200).into()), + ); + } + if let Some(var_201) = &input.next_token { + object.key("NextToken").string(var_201); + } +} + +pub fn serialize_structure_describe_association_execution_targets_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeAssociationExecutionTargetsInput, +) { + if let Some(var_202) = &input.association_id { + object.key("AssociationId").string(var_202); + } + if let Some(var_203) = &input.execution_id { + object.key("ExecutionId").string(var_203); + } + if let Some(var_204) = &input.filters { + let mut array_205 = object.key("Filters").start_array(); + for item_206 in var_204 { + let mut object_207 = array_205.value().start_object(); + crate::json_ser::serialize_structure_association_execution_targets_filter( + &mut object_207, + item_206, + ); + object_207.finish(); + } + array_205.finish(); + } + if let Some(var_208) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_208).into()), + ); + } + if let Some(var_209) = &input.next_token { + object.key("NextToken").string(var_209); + } +} + +pub fn serialize_structure_describe_automation_executions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeAutomationExecutionsInput, +) { + if let Some(var_210) = &input.filters { + let mut array_211 = object.key("Filters").start_array(); + for item_212 in var_210 { + let mut object_213 = array_211.value().start_object(); + crate::json_ser::serialize_structure_automation_execution_filter( + &mut object_213, + item_212, + ); + object_213.finish(); + } + array_211.finish(); + } + if let Some(var_214) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_214).into()), + ); + } + if let Some(var_215) = &input.next_token { + object.key("NextToken").string(var_215); + } +} + +pub fn serialize_structure_describe_automation_step_executions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeAutomationStepExecutionsInput, +) { + if let Some(var_216) = &input.automation_execution_id { + object.key("AutomationExecutionId").string(var_216); + } + if let Some(var_217) = &input.filters { + let mut array_218 = object.key("Filters").start_array(); + for item_219 in var_217 { + let mut object_220 = array_218.value().start_object(); + crate::json_ser::serialize_structure_step_execution_filter(&mut object_220, item_219); + object_220.finish(); + } + array_218.finish(); + } + if let Some(var_221) = &input.next_token { + object.key("NextToken").string(var_221); + } + if let Some(var_222) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_222).into()), + ); + } + if let Some(var_223) = &input.reverse_order { + object.key("ReverseOrder").boolean(*var_223); + } +} + +pub fn serialize_structure_describe_available_patches_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeAvailablePatchesInput, +) { + if let Some(var_224) = &input.filters { + let mut array_225 = object.key("Filters").start_array(); + for item_226 in var_224 { + let mut object_227 = array_225.value().start_object(); + crate::json_ser::serialize_structure_patch_orchestrator_filter( + &mut object_227, + item_226, + ); + object_227.finish(); + } + array_225.finish(); + } + if let Some(var_228) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_228).into()), + ); + } + if let Some(var_229) = &input.next_token { + object.key("NextToken").string(var_229); + } +} + +pub fn serialize_structure_describe_document_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeDocumentInput, +) { + if let Some(var_230) = &input.name { + object.key("Name").string(var_230); + } + if let Some(var_231) = &input.document_version { + object.key("DocumentVersion").string(var_231); + } + if let Some(var_232) = &input.version_name { + object.key("VersionName").string(var_232); + } +} + +pub fn serialize_structure_describe_document_permission_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeDocumentPermissionInput, +) { + if let Some(var_233) = &input.name { + object.key("Name").string(var_233); + } + if let Some(var_234) = &input.permission_type { + object.key("PermissionType").string(var_234.as_str()); + } + if let Some(var_235) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_235).into()), + ); + } + if let Some(var_236) = &input.next_token { + object.key("NextToken").string(var_236); + } +} + +pub fn serialize_structure_describe_effective_instance_associations_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeEffectiveInstanceAssociationsInput, +) { + if let Some(var_237) = &input.instance_id { + object.key("InstanceId").string(var_237); + } + if let Some(var_238) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_238).into()), + ); + } + if let Some(var_239) = &input.next_token { + object.key("NextToken").string(var_239); + } +} + +pub fn serialize_structure_describe_effective_patches_for_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeEffectivePatchesForPatchBaselineInput, +) { + if let Some(var_240) = &input.baseline_id { + object.key("BaselineId").string(var_240); + } + if let Some(var_241) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_241).into()), + ); + } + if let Some(var_242) = &input.next_token { + object.key("NextToken").string(var_242); + } +} + +pub fn serialize_structure_describe_instance_associations_status_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeInstanceAssociationsStatusInput, +) { + if let Some(var_243) = &input.instance_id { + object.key("InstanceId").string(var_243); + } + if let Some(var_244) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_244).into()), + ); + } + if let Some(var_245) = &input.next_token { + object.key("NextToken").string(var_245); + } +} + +pub fn serialize_structure_describe_instance_information_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeInstanceInformationInput, +) { + if let Some(var_246) = &input.instance_information_filter_list { + let mut array_247 = object.key("InstanceInformationFilterList").start_array(); + for item_248 in var_246 { + let mut object_249 = array_247.value().start_object(); + crate::json_ser::serialize_structure_instance_information_filter( + &mut object_249, + item_248, + ); + object_249.finish(); + } + array_247.finish(); + } + if let Some(var_250) = &input.filters { + let mut array_251 = object.key("Filters").start_array(); + for item_252 in var_250 { + let mut object_253 = array_251.value().start_object(); + crate::json_ser::serialize_structure_instance_information_string_filter( + &mut object_253, + item_252, + ); + object_253.finish(); + } + array_251.finish(); + } + if let Some(var_254) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_254).into()), + ); + } + if let Some(var_255) = &input.next_token { + object.key("NextToken").string(var_255); + } +} + +pub fn serialize_structure_describe_instance_patches_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeInstancePatchesInput, +) { + if let Some(var_256) = &input.instance_id { + object.key("InstanceId").string(var_256); + } + if let Some(var_257) = &input.filters { + let mut array_258 = object.key("Filters").start_array(); + for item_259 in var_257 { + let mut object_260 = array_258.value().start_object(); + crate::json_ser::serialize_structure_patch_orchestrator_filter( + &mut object_260, + item_259, + ); + object_260.finish(); + } + array_258.finish(); + } + if let Some(var_261) = &input.next_token { + object.key("NextToken").string(var_261); + } + if let Some(var_262) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_262).into()), + ); + } +} + +pub fn serialize_structure_describe_instance_patch_states_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeInstancePatchStatesInput, +) { + if let Some(var_263) = &input.instance_ids { + let mut array_264 = object.key("InstanceIds").start_array(); + for item_265 in var_263 { + array_264.value().string(item_265); + } + array_264.finish(); + } + if let Some(var_266) = &input.next_token { + object.key("NextToken").string(var_266); + } + if let Some(var_267) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_267).into()), + ); + } +} + +pub fn serialize_structure_describe_instance_patch_states_for_patch_group_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeInstancePatchStatesForPatchGroupInput, +) { + if let Some(var_268) = &input.patch_group { + object.key("PatchGroup").string(var_268); + } + if let Some(var_269) = &input.filters { + let mut array_270 = object.key("Filters").start_array(); + for item_271 in var_269 { + let mut object_272 = array_270.value().start_object(); + crate::json_ser::serialize_structure_instance_patch_state_filter( + &mut object_272, + item_271, + ); + object_272.finish(); + } + array_270.finish(); + } + if let Some(var_273) = &input.next_token { + object.key("NextToken").string(var_273); + } + if let Some(var_274) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_274).into()), + ); + } +} + +pub fn serialize_structure_describe_inventory_deletions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeInventoryDeletionsInput, +) { + if let Some(var_275) = &input.deletion_id { + object.key("DeletionId").string(var_275); + } + if let Some(var_276) = &input.next_token { + object.key("NextToken").string(var_276); + } + if let Some(var_277) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_277).into()), + ); + } +} + +pub fn serialize_structure_describe_maintenance_window_executions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowExecutionsInput, +) { + if let Some(var_278) = &input.window_id { + object.key("WindowId").string(var_278); + } + if let Some(var_279) = &input.filters { + let mut array_280 = object.key("Filters").start_array(); + for item_281 in var_279 { + let mut object_282 = array_280.value().start_object(); + crate::json_ser::serialize_structure_maintenance_window_filter( + &mut object_282, + item_281, + ); + object_282.finish(); + } + array_280.finish(); + } + if let Some(var_283) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_283).into()), + ); + } + if let Some(var_284) = &input.next_token { + object.key("NextToken").string(var_284); + } +} + +pub fn serialize_structure_describe_maintenance_window_execution_task_invocations_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowExecutionTaskInvocationsInput, +) { + if let Some(var_285) = &input.window_execution_id { + object.key("WindowExecutionId").string(var_285); + } + if let Some(var_286) = &input.task_id { + object.key("TaskId").string(var_286); + } + if let Some(var_287) = &input.filters { + let mut array_288 = object.key("Filters").start_array(); + for item_289 in var_287 { + let mut object_290 = array_288.value().start_object(); + crate::json_ser::serialize_structure_maintenance_window_filter( + &mut object_290, + item_289, + ); + object_290.finish(); + } + array_288.finish(); + } + if let Some(var_291) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_291).into()), + ); + } + if let Some(var_292) = &input.next_token { + object.key("NextToken").string(var_292); + } +} + +pub fn serialize_structure_describe_maintenance_window_execution_tasks_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowExecutionTasksInput, +) { + if let Some(var_293) = &input.window_execution_id { + object.key("WindowExecutionId").string(var_293); + } + if let Some(var_294) = &input.filters { + let mut array_295 = object.key("Filters").start_array(); + for item_296 in var_294 { + let mut object_297 = array_295.value().start_object(); + crate::json_ser::serialize_structure_maintenance_window_filter( + &mut object_297, + item_296, + ); + object_297.finish(); + } + array_295.finish(); + } + if let Some(var_298) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_298).into()), + ); + } + if let Some(var_299) = &input.next_token { + object.key("NextToken").string(var_299); + } +} + +pub fn serialize_structure_describe_maintenance_windows_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowsInput, +) { + if let Some(var_300) = &input.filters { + let mut array_301 = object.key("Filters").start_array(); + for item_302 in var_300 { + let mut object_303 = array_301.value().start_object(); + crate::json_ser::serialize_structure_maintenance_window_filter( + &mut object_303, + item_302, + ); + object_303.finish(); + } + array_301.finish(); + } + if let Some(var_304) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_304).into()), + ); + } + if let Some(var_305) = &input.next_token { + object.key("NextToken").string(var_305); + } +} + +pub fn serialize_structure_describe_maintenance_window_schedule_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowScheduleInput, +) { + if let Some(var_306) = &input.window_id { + object.key("WindowId").string(var_306); + } + if let Some(var_307) = &input.targets { + let mut array_308 = object.key("Targets").start_array(); + for item_309 in var_307 { + let mut object_310 = array_308.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_310, item_309); + object_310.finish(); + } + array_308.finish(); + } + if let Some(var_311) = &input.resource_type { + object.key("ResourceType").string(var_311.as_str()); + } + if let Some(var_312) = &input.filters { + let mut array_313 = object.key("Filters").start_array(); + for item_314 in var_312 { + let mut object_315 = array_313.value().start_object(); + crate::json_ser::serialize_structure_patch_orchestrator_filter( + &mut object_315, + item_314, + ); + object_315.finish(); + } + array_313.finish(); + } + if let Some(var_316) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_316).into()), + ); + } + if let Some(var_317) = &input.next_token { + object.key("NextToken").string(var_317); + } +} + +pub fn serialize_structure_describe_maintenance_windows_for_target_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowsForTargetInput, +) { + if let Some(var_318) = &input.targets { + let mut array_319 = object.key("Targets").start_array(); + for item_320 in var_318 { + let mut object_321 = array_319.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_321, item_320); + object_321.finish(); + } + array_319.finish(); + } + if let Some(var_322) = &input.resource_type { + object.key("ResourceType").string(var_322.as_str()); + } + if let Some(var_323) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_323).into()), + ); + } + if let Some(var_324) = &input.next_token { + object.key("NextToken").string(var_324); + } +} + +pub fn serialize_structure_describe_maintenance_window_targets_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowTargetsInput, +) { + if let Some(var_325) = &input.window_id { + object.key("WindowId").string(var_325); + } + if let Some(var_326) = &input.filters { + let mut array_327 = object.key("Filters").start_array(); + for item_328 in var_326 { + let mut object_329 = array_327.value().start_object(); + crate::json_ser::serialize_structure_maintenance_window_filter( + &mut object_329, + item_328, + ); + object_329.finish(); + } + array_327.finish(); + } + if let Some(var_330) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_330).into()), + ); + } + if let Some(var_331) = &input.next_token { + object.key("NextToken").string(var_331); + } +} + +pub fn serialize_structure_describe_maintenance_window_tasks_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeMaintenanceWindowTasksInput, +) { + if let Some(var_332) = &input.window_id { + object.key("WindowId").string(var_332); + } + if let Some(var_333) = &input.filters { + let mut array_334 = object.key("Filters").start_array(); + for item_335 in var_333 { + let mut object_336 = array_334.value().start_object(); + crate::json_ser::serialize_structure_maintenance_window_filter( + &mut object_336, + item_335, + ); + object_336.finish(); + } + array_334.finish(); + } + if let Some(var_337) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_337).into()), + ); + } + if let Some(var_338) = &input.next_token { + object.key("NextToken").string(var_338); + } +} + +pub fn serialize_structure_describe_ops_items_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeOpsItemsInput, +) { + if let Some(var_339) = &input.ops_item_filters { + let mut array_340 = object.key("OpsItemFilters").start_array(); + for item_341 in var_339 { + let mut object_342 = array_340.value().start_object(); + crate::json_ser::serialize_structure_ops_item_filter(&mut object_342, item_341); + object_342.finish(); + } + array_340.finish(); + } + if let Some(var_343) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_343).into()), + ); + } + if let Some(var_344) = &input.next_token { + object.key("NextToken").string(var_344); + } +} + +pub fn serialize_structure_describe_parameters_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeParametersInput, +) { + if let Some(var_345) = &input.filters { + let mut array_346 = object.key("Filters").start_array(); + for item_347 in var_345 { + let mut object_348 = array_346.value().start_object(); + crate::json_ser::serialize_structure_parameters_filter(&mut object_348, item_347); + object_348.finish(); + } + array_346.finish(); + } + if let Some(var_349) = &input.parameter_filters { + let mut array_350 = object.key("ParameterFilters").start_array(); + for item_351 in var_349 { + let mut object_352 = array_350.value().start_object(); + crate::json_ser::serialize_structure_parameter_string_filter(&mut object_352, item_351); + object_352.finish(); + } + array_350.finish(); + } + if let Some(var_353) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_353).into()), + ); + } + if let Some(var_354) = &input.next_token { + object.key("NextToken").string(var_354); + } +} + +pub fn serialize_structure_describe_patch_baselines_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribePatchBaselinesInput, +) { + if let Some(var_355) = &input.filters { + let mut array_356 = object.key("Filters").start_array(); + for item_357 in var_355 { + let mut object_358 = array_356.value().start_object(); + crate::json_ser::serialize_structure_patch_orchestrator_filter( + &mut object_358, + item_357, + ); + object_358.finish(); + } + array_356.finish(); + } + if let Some(var_359) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_359).into()), + ); + } + if let Some(var_360) = &input.next_token { + object.key("NextToken").string(var_360); + } +} + +pub fn serialize_structure_describe_patch_groups_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribePatchGroupsInput, +) { + if let Some(var_361) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_361).into()), + ); + } + if let Some(var_362) = &input.filters { + let mut array_363 = object.key("Filters").start_array(); + for item_364 in var_362 { + let mut object_365 = array_363.value().start_object(); + crate::json_ser::serialize_structure_patch_orchestrator_filter( + &mut object_365, + item_364, + ); + object_365.finish(); + } + array_363.finish(); + } + if let Some(var_366) = &input.next_token { + object.key("NextToken").string(var_366); + } +} + +pub fn serialize_structure_describe_patch_group_state_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribePatchGroupStateInput, +) { + if let Some(var_367) = &input.patch_group { + object.key("PatchGroup").string(var_367); + } +} + +pub fn serialize_structure_describe_patch_properties_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribePatchPropertiesInput, +) { + if let Some(var_368) = &input.operating_system { + object.key("OperatingSystem").string(var_368.as_str()); + } + if let Some(var_369) = &input.property { + object.key("Property").string(var_369.as_str()); + } + if let Some(var_370) = &input.patch_set { + object.key("PatchSet").string(var_370.as_str()); + } + if let Some(var_371) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_371).into()), + ); + } + if let Some(var_372) = &input.next_token { + object.key("NextToken").string(var_372); + } +} + +pub fn serialize_structure_describe_sessions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeSessionsInput, +) { + if let Some(var_373) = &input.state { + object.key("State").string(var_373.as_str()); + } + if let Some(var_374) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_374).into()), + ); + } + if let Some(var_375) = &input.next_token { + object.key("NextToken").string(var_375); + } + if let Some(var_376) = &input.filters { + let mut array_377 = object.key("Filters").start_array(); + for item_378 in var_376 { + let mut object_379 = array_377.value().start_object(); + crate::json_ser::serialize_structure_session_filter(&mut object_379, item_378); + object_379.finish(); + } + array_377.finish(); + } +} + +pub fn serialize_structure_disassociate_ops_item_related_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DisassociateOpsItemRelatedItemInput, +) { + if let Some(var_380) = &input.ops_item_id { + object.key("OpsItemId").string(var_380); + } + if let Some(var_381) = &input.association_id { + object.key("AssociationId").string(var_381); + } +} + +pub fn serialize_structure_get_automation_execution_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetAutomationExecutionInput, +) { + if let Some(var_382) = &input.automation_execution_id { + object.key("AutomationExecutionId").string(var_382); + } +} + +pub fn serialize_structure_get_calendar_state_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetCalendarStateInput, +) { + if let Some(var_383) = &input.calendar_names { + let mut array_384 = object.key("CalendarNames").start_array(); + for item_385 in var_383 { + array_384.value().string(item_385); + } + array_384.finish(); + } + if let Some(var_386) = &input.at_time { + object.key("AtTime").string(var_386); + } +} + +pub fn serialize_structure_get_command_invocation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetCommandInvocationInput, +) { + if let Some(var_387) = &input.command_id { + object.key("CommandId").string(var_387); + } + if let Some(var_388) = &input.instance_id { + object.key("InstanceId").string(var_388); + } + if let Some(var_389) = &input.plugin_name { + object.key("PluginName").string(var_389); + } +} + +pub fn serialize_structure_get_connection_status_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetConnectionStatusInput, +) { + if let Some(var_390) = &input.target { + object.key("Target").string(var_390); + } +} + +pub fn serialize_structure_get_default_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetDefaultPatchBaselineInput, +) { + if let Some(var_391) = &input.operating_system { + object.key("OperatingSystem").string(var_391.as_str()); + } +} + +pub fn serialize_structure_get_deployable_patch_snapshot_for_instance_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetDeployablePatchSnapshotForInstanceInput, +) { + if let Some(var_392) = &input.instance_id { + object.key("InstanceId").string(var_392); + } + if let Some(var_393) = &input.snapshot_id { + object.key("SnapshotId").string(var_393); + } + if let Some(var_394) = &input.baseline_override { + let mut object_395 = object.key("BaselineOverride").start_object(); + crate::json_ser::serialize_structure_baseline_override(&mut object_395, var_394); + object_395.finish(); + } +} + +pub fn serialize_structure_get_document_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetDocumentInput, +) { + if let Some(var_396) = &input.name { + object.key("Name").string(var_396); + } + if let Some(var_397) = &input.version_name { + object.key("VersionName").string(var_397); + } + if let Some(var_398) = &input.document_version { + object.key("DocumentVersion").string(var_398); + } + if let Some(var_399) = &input.document_format { + object.key("DocumentFormat").string(var_399.as_str()); + } +} + +pub fn serialize_structure_get_inventory_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetInventoryInput, +) { + if let Some(var_400) = &input.filters { + let mut array_401 = object.key("Filters").start_array(); + for item_402 in var_400 { + let mut object_403 = array_401.value().start_object(); + crate::json_ser::serialize_structure_inventory_filter(&mut object_403, item_402); + object_403.finish(); + } + array_401.finish(); + } + if let Some(var_404) = &input.aggregators { + let mut array_405 = object.key("Aggregators").start_array(); + for item_406 in var_404 { + let mut object_407 = array_405.value().start_object(); + crate::json_ser::serialize_structure_inventory_aggregator(&mut object_407, item_406); + object_407.finish(); + } + array_405.finish(); + } + if let Some(var_408) = &input.result_attributes { + let mut array_409 = object.key("ResultAttributes").start_array(); + for item_410 in var_408 { + let mut object_411 = array_409.value().start_object(); + crate::json_ser::serialize_structure_result_attribute(&mut object_411, item_410); + object_411.finish(); + } + array_409.finish(); + } + if let Some(var_412) = &input.next_token { + object.key("NextToken").string(var_412); + } + if let Some(var_413) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_413).into()), + ); + } +} + +pub fn serialize_structure_get_inventory_schema_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetInventorySchemaInput, +) { + if let Some(var_414) = &input.type_name { + object.key("TypeName").string(var_414); + } + if let Some(var_415) = &input.next_token { + object.key("NextToken").string(var_415); + } + if let Some(var_416) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_416).into()), + ); + } + object.key("Aggregator").boolean(input.aggregator); + if let Some(var_417) = &input.sub_type { + object.key("SubType").boolean(*var_417); + } +} + +pub fn serialize_structure_get_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetMaintenanceWindowInput, +) { + if let Some(var_418) = &input.window_id { + object.key("WindowId").string(var_418); + } +} + +pub fn serialize_structure_get_maintenance_window_execution_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetMaintenanceWindowExecutionInput, +) { + if let Some(var_419) = &input.window_execution_id { + object.key("WindowExecutionId").string(var_419); + } +} + +pub fn serialize_structure_get_maintenance_window_execution_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetMaintenanceWindowExecutionTaskInput, +) { + if let Some(var_420) = &input.window_execution_id { + object.key("WindowExecutionId").string(var_420); + } + if let Some(var_421) = &input.task_id { + object.key("TaskId").string(var_421); + } +} + +pub fn serialize_structure_get_maintenance_window_execution_task_invocation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetMaintenanceWindowExecutionTaskInvocationInput, +) { + if let Some(var_422) = &input.window_execution_id { + object.key("WindowExecutionId").string(var_422); + } + if let Some(var_423) = &input.task_id { + object.key("TaskId").string(var_423); + } + if let Some(var_424) = &input.invocation_id { + object.key("InvocationId").string(var_424); + } +} + +pub fn serialize_structure_get_maintenance_window_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetMaintenanceWindowTaskInput, +) { + if let Some(var_425) = &input.window_id { + object.key("WindowId").string(var_425); + } + if let Some(var_426) = &input.window_task_id { + object.key("WindowTaskId").string(var_426); + } +} + +pub fn serialize_structure_get_ops_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetOpsItemInput, +) { + if let Some(var_427) = &input.ops_item_id { + object.key("OpsItemId").string(var_427); + } +} + +pub fn serialize_structure_get_ops_metadata_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetOpsMetadataInput, +) { + if let Some(var_428) = &input.ops_metadata_arn { + object.key("OpsMetadataArn").string(var_428); + } + if let Some(var_429) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_429).into()), + ); + } + if let Some(var_430) = &input.next_token { + object.key("NextToken").string(var_430); + } +} + +pub fn serialize_structure_get_ops_summary_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetOpsSummaryInput, +) { + if let Some(var_431) = &input.sync_name { + object.key("SyncName").string(var_431); + } + if let Some(var_432) = &input.filters { + let mut array_433 = object.key("Filters").start_array(); + for item_434 in var_432 { + let mut object_435 = array_433.value().start_object(); + crate::json_ser::serialize_structure_ops_filter(&mut object_435, item_434); + object_435.finish(); + } + array_433.finish(); + } + if let Some(var_436) = &input.aggregators { + let mut array_437 = object.key("Aggregators").start_array(); + for item_438 in var_436 { + let mut object_439 = array_437.value().start_object(); + crate::json_ser::serialize_structure_ops_aggregator(&mut object_439, item_438); + object_439.finish(); + } + array_437.finish(); + } + if let Some(var_440) = &input.result_attributes { + let mut array_441 = object.key("ResultAttributes").start_array(); + for item_442 in var_440 { + let mut object_443 = array_441.value().start_object(); + crate::json_ser::serialize_structure_ops_result_attribute(&mut object_443, item_442); + object_443.finish(); + } + array_441.finish(); + } + if let Some(var_444) = &input.next_token { + object.key("NextToken").string(var_444); + } + if let Some(var_445) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_445).into()), + ); + } +} + +pub fn serialize_structure_get_parameter_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetParameterInput, +) { + if let Some(var_446) = &input.name { + object.key("Name").string(var_446); + } + if let Some(var_447) = &input.with_decryption { + object.key("WithDecryption").boolean(*var_447); + } +} + +pub fn serialize_structure_get_parameter_history_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetParameterHistoryInput, +) { + if let Some(var_448) = &input.name { + object.key("Name").string(var_448); + } + if let Some(var_449) = &input.with_decryption { + object.key("WithDecryption").boolean(*var_449); + } + if let Some(var_450) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_450).into()), + ); + } + if let Some(var_451) = &input.next_token { + object.key("NextToken").string(var_451); + } +} + +pub fn serialize_structure_get_parameters_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetParametersInput, +) { + if let Some(var_452) = &input.names { + let mut array_453 = object.key("Names").start_array(); + for item_454 in var_452 { + array_453.value().string(item_454); + } + array_453.finish(); + } + if let Some(var_455) = &input.with_decryption { + object.key("WithDecryption").boolean(*var_455); + } +} + +pub fn serialize_structure_get_parameters_by_path_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetParametersByPathInput, +) { + if let Some(var_456) = &input.path { + object.key("Path").string(var_456); + } + if let Some(var_457) = &input.recursive { + object.key("Recursive").boolean(*var_457); + } + if let Some(var_458) = &input.parameter_filters { + let mut array_459 = object.key("ParameterFilters").start_array(); + for item_460 in var_458 { + let mut object_461 = array_459.value().start_object(); + crate::json_ser::serialize_structure_parameter_string_filter(&mut object_461, item_460); + object_461.finish(); + } + array_459.finish(); + } + if let Some(var_462) = &input.with_decryption { + object.key("WithDecryption").boolean(*var_462); + } + if let Some(var_463) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_463).into()), + ); + } + if let Some(var_464) = &input.next_token { + object.key("NextToken").string(var_464); + } +} + +pub fn serialize_structure_get_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetPatchBaselineInput, +) { + if let Some(var_465) = &input.baseline_id { + object.key("BaselineId").string(var_465); + } +} + +pub fn serialize_structure_get_patch_baseline_for_patch_group_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetPatchBaselineForPatchGroupInput, +) { + if let Some(var_466) = &input.patch_group { + object.key("PatchGroup").string(var_466); + } + if let Some(var_467) = &input.operating_system { + object.key("OperatingSystem").string(var_467.as_str()); + } +} + +pub fn serialize_structure_get_service_setting_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetServiceSettingInput, +) { + if let Some(var_468) = &input.setting_id { + object.key("SettingId").string(var_468); + } +} + +pub fn serialize_structure_label_parameter_version_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::LabelParameterVersionInput, +) { + if let Some(var_469) = &input.name { + object.key("Name").string(var_469); + } + if let Some(var_470) = &input.parameter_version { + object.key("ParameterVersion").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_470).into()), + ); + } + if let Some(var_471) = &input.labels { + let mut array_472 = object.key("Labels").start_array(); + for item_473 in var_471 { + array_472.value().string(item_473); + } + array_472.finish(); + } +} + +pub fn serialize_structure_list_associations_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListAssociationsInput, +) { + if let Some(var_474) = &input.association_filter_list { + let mut array_475 = object.key("AssociationFilterList").start_array(); + for item_476 in var_474 { + let mut object_477 = array_475.value().start_object(); + crate::json_ser::serialize_structure_association_filter(&mut object_477, item_476); + object_477.finish(); + } + array_475.finish(); + } + if let Some(var_478) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_478).into()), + ); + } + if let Some(var_479) = &input.next_token { + object.key("NextToken").string(var_479); + } +} + +pub fn serialize_structure_list_association_versions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListAssociationVersionsInput, +) { + if let Some(var_480) = &input.association_id { + object.key("AssociationId").string(var_480); + } + if let Some(var_481) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_481).into()), + ); + } + if let Some(var_482) = &input.next_token { + object.key("NextToken").string(var_482); + } +} + +pub fn serialize_structure_list_command_invocations_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListCommandInvocationsInput, +) { + if let Some(var_483) = &input.command_id { + object.key("CommandId").string(var_483); + } + if let Some(var_484) = &input.instance_id { + object.key("InstanceId").string(var_484); + } + if let Some(var_485) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_485).into()), + ); + } + if let Some(var_486) = &input.next_token { + object.key("NextToken").string(var_486); + } + if let Some(var_487) = &input.filters { + let mut array_488 = object.key("Filters").start_array(); + for item_489 in var_487 { + let mut object_490 = array_488.value().start_object(); + crate::json_ser::serialize_structure_command_filter(&mut object_490, item_489); + object_490.finish(); + } + array_488.finish(); + } + object.key("Details").boolean(input.details); +} + +pub fn serialize_structure_list_commands_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListCommandsInput, +) { + if let Some(var_491) = &input.command_id { + object.key("CommandId").string(var_491); + } + if let Some(var_492) = &input.instance_id { + object.key("InstanceId").string(var_492); + } + if let Some(var_493) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_493).into()), + ); + } + if let Some(var_494) = &input.next_token { + object.key("NextToken").string(var_494); + } + if let Some(var_495) = &input.filters { + let mut array_496 = object.key("Filters").start_array(); + for item_497 in var_495 { + let mut object_498 = array_496.value().start_object(); + crate::json_ser::serialize_structure_command_filter(&mut object_498, item_497); + object_498.finish(); + } + array_496.finish(); + } +} + +pub fn serialize_structure_list_compliance_items_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListComplianceItemsInput, +) { + if let Some(var_499) = &input.filters { + let mut array_500 = object.key("Filters").start_array(); + for item_501 in var_499 { + let mut object_502 = array_500.value().start_object(); + crate::json_ser::serialize_structure_compliance_string_filter( + &mut object_502, + item_501, + ); + object_502.finish(); + } + array_500.finish(); + } + if let Some(var_503) = &input.resource_ids { + let mut array_504 = object.key("ResourceIds").start_array(); + for item_505 in var_503 { + array_504.value().string(item_505); + } + array_504.finish(); + } + if let Some(var_506) = &input.resource_types { + let mut array_507 = object.key("ResourceTypes").start_array(); + for item_508 in var_506 { + array_507.value().string(item_508); + } + array_507.finish(); + } + if let Some(var_509) = &input.next_token { + object.key("NextToken").string(var_509); + } + if let Some(var_510) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_510).into()), + ); + } +} + +pub fn serialize_structure_list_compliance_summaries_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListComplianceSummariesInput, +) { + if let Some(var_511) = &input.filters { + let mut array_512 = object.key("Filters").start_array(); + for item_513 in var_511 { + let mut object_514 = array_512.value().start_object(); + crate::json_ser::serialize_structure_compliance_string_filter( + &mut object_514, + item_513, + ); + object_514.finish(); + } + array_512.finish(); + } + if let Some(var_515) = &input.next_token { + object.key("NextToken").string(var_515); + } + if let Some(var_516) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_516).into()), + ); + } +} + +pub fn serialize_structure_list_document_metadata_history_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListDocumentMetadataHistoryInput, +) { + if let Some(var_517) = &input.name { + object.key("Name").string(var_517); + } + if let Some(var_518) = &input.document_version { + object.key("DocumentVersion").string(var_518); + } + if let Some(var_519) = &input.metadata { + object.key("Metadata").string(var_519.as_str()); + } + if let Some(var_520) = &input.next_token { + object.key("NextToken").string(var_520); + } + if let Some(var_521) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_521).into()), + ); + } +} + +pub fn serialize_structure_list_documents_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListDocumentsInput, +) { + if let Some(var_522) = &input.document_filter_list { + let mut array_523 = object.key("DocumentFilterList").start_array(); + for item_524 in var_522 { + let mut object_525 = array_523.value().start_object(); + crate::json_ser::serialize_structure_document_filter(&mut object_525, item_524); + object_525.finish(); + } + array_523.finish(); + } + if let Some(var_526) = &input.filters { + let mut array_527 = object.key("Filters").start_array(); + for item_528 in var_526 { + let mut object_529 = array_527.value().start_object(); + crate::json_ser::serialize_structure_document_key_values_filter( + &mut object_529, + item_528, + ); + object_529.finish(); + } + array_527.finish(); + } + if let Some(var_530) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_530).into()), + ); + } + if let Some(var_531) = &input.next_token { + object.key("NextToken").string(var_531); + } +} + +pub fn serialize_structure_list_document_versions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListDocumentVersionsInput, +) { + if let Some(var_532) = &input.name { + object.key("Name").string(var_532); + } + if let Some(var_533) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_533).into()), + ); + } + if let Some(var_534) = &input.next_token { + object.key("NextToken").string(var_534); + } +} + +pub fn serialize_structure_list_inventory_entries_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListInventoryEntriesInput, +) { + if let Some(var_535) = &input.instance_id { + object.key("InstanceId").string(var_535); + } + if let Some(var_536) = &input.type_name { + object.key("TypeName").string(var_536); + } + if let Some(var_537) = &input.filters { + let mut array_538 = object.key("Filters").start_array(); + for item_539 in var_537 { + let mut object_540 = array_538.value().start_object(); + crate::json_ser::serialize_structure_inventory_filter(&mut object_540, item_539); + object_540.finish(); + } + array_538.finish(); + } + if let Some(var_541) = &input.next_token { + object.key("NextToken").string(var_541); + } + if let Some(var_542) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_542).into()), + ); + } +} + +pub fn serialize_structure_list_ops_item_events_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListOpsItemEventsInput, +) { + if let Some(var_543) = &input.filters { + let mut array_544 = object.key("Filters").start_array(); + for item_545 in var_543 { + let mut object_546 = array_544.value().start_object(); + crate::json_ser::serialize_structure_ops_item_event_filter(&mut object_546, item_545); + object_546.finish(); + } + array_544.finish(); + } + if let Some(var_547) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_547).into()), + ); + } + if let Some(var_548) = &input.next_token { + object.key("NextToken").string(var_548); + } +} + +pub fn serialize_structure_list_ops_item_related_items_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListOpsItemRelatedItemsInput, +) { + if let Some(var_549) = &input.ops_item_id { + object.key("OpsItemId").string(var_549); + } + if let Some(var_550) = &input.filters { + let mut array_551 = object.key("Filters").start_array(); + for item_552 in var_550 { + let mut object_553 = array_551.value().start_object(); + crate::json_ser::serialize_structure_ops_item_related_items_filter( + &mut object_553, + item_552, + ); + object_553.finish(); + } + array_551.finish(); + } + if let Some(var_554) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_554).into()), + ); + } + if let Some(var_555) = &input.next_token { + object.key("NextToken").string(var_555); + } +} + +pub fn serialize_structure_list_ops_metadata_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListOpsMetadataInput, +) { + if let Some(var_556) = &input.filters { + let mut array_557 = object.key("Filters").start_array(); + for item_558 in var_556 { + let mut object_559 = array_557.value().start_object(); + crate::json_ser::serialize_structure_ops_metadata_filter(&mut object_559, item_558); + object_559.finish(); + } + array_557.finish(); + } + if let Some(var_560) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_560).into()), + ); + } + if let Some(var_561) = &input.next_token { + object.key("NextToken").string(var_561); + } +} + +pub fn serialize_structure_list_resource_compliance_summaries_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListResourceComplianceSummariesInput, +) { + if let Some(var_562) = &input.filters { + let mut array_563 = object.key("Filters").start_array(); + for item_564 in var_562 { + let mut object_565 = array_563.value().start_object(); + crate::json_ser::serialize_structure_compliance_string_filter( + &mut object_565, + item_564, + ); + object_565.finish(); + } + array_563.finish(); + } + if let Some(var_566) = &input.next_token { + object.key("NextToken").string(var_566); + } + if let Some(var_567) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_567).into()), + ); + } +} + +pub fn serialize_structure_list_resource_data_sync_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListResourceDataSyncInput, +) { + if let Some(var_568) = &input.sync_type { + object.key("SyncType").string(var_568); + } + if let Some(var_569) = &input.next_token { + object.key("NextToken").string(var_569); + } + if let Some(var_570) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_570).into()), + ); + } +} + +pub fn serialize_structure_list_tags_for_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListTagsForResourceInput, +) { + if let Some(var_571) = &input.resource_type { + object.key("ResourceType").string(var_571.as_str()); + } + if let Some(var_572) = &input.resource_id { + object.key("ResourceId").string(var_572); + } +} + +pub fn serialize_structure_modify_document_permission_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ModifyDocumentPermissionInput, +) { + if let Some(var_573) = &input.name { + object.key("Name").string(var_573); + } + if let Some(var_574) = &input.permission_type { + object.key("PermissionType").string(var_574.as_str()); + } + if let Some(var_575) = &input.account_ids_to_add { + let mut array_576 = object.key("AccountIdsToAdd").start_array(); + for item_577 in var_575 { + array_576.value().string(item_577); + } + array_576.finish(); + } + if let Some(var_578) = &input.account_ids_to_remove { + let mut array_579 = object.key("AccountIdsToRemove").start_array(); + for item_580 in var_578 { + array_579.value().string(item_580); + } + array_579.finish(); + } + if let Some(var_581) = &input.shared_document_version { + object.key("SharedDocumentVersion").string(var_581); + } +} + +pub fn serialize_structure_put_compliance_items_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutComplianceItemsInput, +) { + if let Some(var_582) = &input.resource_id { + object.key("ResourceId").string(var_582); + } + if let Some(var_583) = &input.resource_type { + object.key("ResourceType").string(var_583); + } + if let Some(var_584) = &input.compliance_type { + object.key("ComplianceType").string(var_584); + } + if let Some(var_585) = &input.execution_summary { + let mut object_586 = object.key("ExecutionSummary").start_object(); + crate::json_ser::serialize_structure_compliance_execution_summary(&mut object_586, var_585); + object_586.finish(); + } + if let Some(var_587) = &input.items { + let mut array_588 = object.key("Items").start_array(); + for item_589 in var_587 { + let mut object_590 = array_588.value().start_object(); + crate::json_ser::serialize_structure_compliance_item_entry(&mut object_590, item_589); + object_590.finish(); + } + array_588.finish(); + } + if let Some(var_591) = &input.item_content_hash { + object.key("ItemContentHash").string(var_591); + } + if let Some(var_592) = &input.upload_type { + object.key("UploadType").string(var_592.as_str()); + } +} + +pub fn serialize_structure_put_inventory_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutInventoryInput, +) { + if let Some(var_593) = &input.instance_id { + object.key("InstanceId").string(var_593); + } + if let Some(var_594) = &input.items { + let mut array_595 = object.key("Items").start_array(); + for item_596 in var_594 { + let mut object_597 = array_595.value().start_object(); + crate::json_ser::serialize_structure_inventory_item(&mut object_597, item_596); + object_597.finish(); + } + array_595.finish(); + } +} + +pub fn serialize_structure_put_parameter_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutParameterInput, +) { + if let Some(var_598) = &input.name { + object.key("Name").string(var_598); + } + if let Some(var_599) = &input.description { + object.key("Description").string(var_599); + } + if let Some(var_600) = &input.value { + object.key("Value").string(var_600); + } + if let Some(var_601) = &input.r#type { + object.key("Type").string(var_601.as_str()); + } + if let Some(var_602) = &input.key_id { + object.key("KeyId").string(var_602); + } + if let Some(var_603) = &input.overwrite { + object.key("Overwrite").boolean(*var_603); + } + if let Some(var_604) = &input.allowed_pattern { + object.key("AllowedPattern").string(var_604); + } + if let Some(var_605) = &input.tags { + let mut array_606 = object.key("Tags").start_array(); + for item_607 in var_605 { + let mut object_608 = array_606.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_608, item_607); + object_608.finish(); + } + array_606.finish(); + } + if let Some(var_609) = &input.tier { + object.key("Tier").string(var_609.as_str()); + } + if let Some(var_610) = &input.policies { + object.key("Policies").string(var_610); + } + if let Some(var_611) = &input.data_type { + object.key("DataType").string(var_611); + } +} + +pub fn serialize_structure_register_default_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterDefaultPatchBaselineInput, +) { + if let Some(var_612) = &input.baseline_id { + object.key("BaselineId").string(var_612); + } +} + +pub fn serialize_structure_register_patch_baseline_for_patch_group_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterPatchBaselineForPatchGroupInput, +) { + if let Some(var_613) = &input.baseline_id { + object.key("BaselineId").string(var_613); + } + if let Some(var_614) = &input.patch_group { + object.key("PatchGroup").string(var_614); + } +} + +pub fn serialize_structure_register_target_with_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterTargetWithMaintenanceWindowInput, +) { + if let Some(var_615) = &input.window_id { + object.key("WindowId").string(var_615); + } + if let Some(var_616) = &input.resource_type { + object.key("ResourceType").string(var_616.as_str()); + } + if let Some(var_617) = &input.targets { + let mut array_618 = object.key("Targets").start_array(); + for item_619 in var_617 { + let mut object_620 = array_618.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_620, item_619); + object_620.finish(); + } + array_618.finish(); + } + if let Some(var_621) = &input.owner_information { + object.key("OwnerInformation").string(var_621); + } + if let Some(var_622) = &input.name { + object.key("Name").string(var_622); + } + if let Some(var_623) = &input.description { + object.key("Description").string(var_623); + } + if let Some(var_624) = &input.client_token { + object.key("ClientToken").string(var_624); + } +} + +pub fn serialize_structure_register_task_with_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RegisterTaskWithMaintenanceWindowInput, +) { + if let Some(var_625) = &input.window_id { + object.key("WindowId").string(var_625); + } + if let Some(var_626) = &input.targets { + let mut array_627 = object.key("Targets").start_array(); + for item_628 in var_626 { + let mut object_629 = array_627.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_629, item_628); + object_629.finish(); + } + array_627.finish(); + } + if let Some(var_630) = &input.task_arn { + object.key("TaskArn").string(var_630); + } + if let Some(var_631) = &input.service_role_arn { + object.key("ServiceRoleArn").string(var_631); + } + if let Some(var_632) = &input.task_type { + object.key("TaskType").string(var_632.as_str()); + } + if let Some(var_633) = &input.task_parameters { + let mut object_634 = object.key("TaskParameters").start_object(); + for (key_635, value_636) in var_633 { + let mut object_637 = object_634.key(key_635).start_object(); + crate::json_ser::serialize_structure_maintenance_window_task_parameter_value_expression( + &mut object_637, + value_636, + ); + object_637.finish(); + } + object_634.finish(); + } + if let Some(var_638) = &input.task_invocation_parameters { + let mut object_639 = object.key("TaskInvocationParameters").start_object(); + crate::json_ser::serialize_structure_maintenance_window_task_invocation_parameters( + &mut object_639, + var_638, + ); + object_639.finish(); + } + if let Some(var_640) = &input.priority { + object.key("Priority").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_640).into()), + ); + } + if let Some(var_641) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_641); + } + if let Some(var_642) = &input.max_errors { + object.key("MaxErrors").string(var_642); + } + if let Some(var_643) = &input.logging_info { + let mut object_644 = object.key("LoggingInfo").start_object(); + crate::json_ser::serialize_structure_logging_info(&mut object_644, var_643); + object_644.finish(); + } + if let Some(var_645) = &input.name { + object.key("Name").string(var_645); + } + if let Some(var_646) = &input.description { + object.key("Description").string(var_646); + } + if let Some(var_647) = &input.client_token { + object.key("ClientToken").string(var_647); + } +} + +pub fn serialize_structure_remove_tags_from_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::RemoveTagsFromResourceInput, +) { + if let Some(var_648) = &input.resource_type { + object.key("ResourceType").string(var_648.as_str()); + } + if let Some(var_649) = &input.resource_id { + object.key("ResourceId").string(var_649); + } + if let Some(var_650) = &input.tag_keys { + let mut array_651 = object.key("TagKeys").start_array(); + for item_652 in var_650 { + array_651.value().string(item_652); + } + array_651.finish(); + } +} + +pub fn serialize_structure_reset_service_setting_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ResetServiceSettingInput, +) { + if let Some(var_653) = &input.setting_id { + object.key("SettingId").string(var_653); + } +} + +pub fn serialize_structure_resume_session_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ResumeSessionInput, +) { + if let Some(var_654) = &input.session_id { + object.key("SessionId").string(var_654); + } +} + +pub fn serialize_structure_send_automation_signal_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SendAutomationSignalInput, +) { + if let Some(var_655) = &input.automation_execution_id { + object.key("AutomationExecutionId").string(var_655); + } + if let Some(var_656) = &input.signal_type { + object.key("SignalType").string(var_656.as_str()); + } + if let Some(var_657) = &input.payload { + let mut object_658 = object.key("Payload").start_object(); + for (key_659, value_660) in var_657 { + let mut array_661 = object_658.key(key_659).start_array(); + for item_662 in value_660 { + array_661.value().string(item_662); + } + array_661.finish(); + } + object_658.finish(); + } +} + +pub fn serialize_structure_send_command_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SendCommandInput, +) { + if let Some(var_663) = &input.instance_ids { + let mut array_664 = object.key("InstanceIds").start_array(); + for item_665 in var_663 { + array_664.value().string(item_665); + } + array_664.finish(); + } + if let Some(var_666) = &input.targets { + let mut array_667 = object.key("Targets").start_array(); + for item_668 in var_666 { + let mut object_669 = array_667.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_669, item_668); + object_669.finish(); + } + array_667.finish(); + } + if let Some(var_670) = &input.document_name { + object.key("DocumentName").string(var_670); + } + if let Some(var_671) = &input.document_version { + object.key("DocumentVersion").string(var_671); + } + if let Some(var_672) = &input.document_hash { + object.key("DocumentHash").string(var_672); + } + if let Some(var_673) = &input.document_hash_type { + object.key("DocumentHashType").string(var_673.as_str()); + } + if let Some(var_674) = &input.timeout_seconds { + object.key("TimeoutSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_674).into()), + ); + } + if let Some(var_675) = &input.comment { + object.key("Comment").string(var_675); + } + if let Some(var_676) = &input.parameters { + let mut object_677 = object.key("Parameters").start_object(); + for (key_678, value_679) in var_676 { + let mut array_680 = object_677.key(key_678).start_array(); + for item_681 in value_679 { + array_680.value().string(item_681); + } + array_680.finish(); + } + object_677.finish(); + } + if let Some(var_682) = &input.output_s3_region { + object.key("OutputS3Region").string(var_682); + } + if let Some(var_683) = &input.output_s3_bucket_name { + object.key("OutputS3BucketName").string(var_683); + } + if let Some(var_684) = &input.output_s3_key_prefix { + object.key("OutputS3KeyPrefix").string(var_684); + } + if let Some(var_685) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_685); + } + if let Some(var_686) = &input.max_errors { + object.key("MaxErrors").string(var_686); + } + if let Some(var_687) = &input.service_role_arn { + object.key("ServiceRoleArn").string(var_687); + } + if let Some(var_688) = &input.notification_config { + let mut object_689 = object.key("NotificationConfig").start_object(); + crate::json_ser::serialize_structure_notification_config(&mut object_689, var_688); + object_689.finish(); + } + if let Some(var_690) = &input.cloud_watch_output_config { + let mut object_691 = object.key("CloudWatchOutputConfig").start_object(); + crate::json_ser::serialize_structure_cloud_watch_output_config(&mut object_691, var_690); + object_691.finish(); + } +} + +pub fn serialize_structure_start_associations_once_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartAssociationsOnceInput, +) { + if let Some(var_692) = &input.association_ids { + let mut array_693 = object.key("AssociationIds").start_array(); + for item_694 in var_692 { + array_693.value().string(item_694); + } + array_693.finish(); + } +} + +pub fn serialize_structure_start_automation_execution_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartAutomationExecutionInput, +) { + if let Some(var_695) = &input.document_name { + object.key("DocumentName").string(var_695); + } + if let Some(var_696) = &input.document_version { + object.key("DocumentVersion").string(var_696); + } + if let Some(var_697) = &input.parameters { + let mut object_698 = object.key("Parameters").start_object(); + for (key_699, value_700) in var_697 { + let mut array_701 = object_698.key(key_699).start_array(); + for item_702 in value_700 { + array_701.value().string(item_702); + } + array_701.finish(); + } + object_698.finish(); + } + if let Some(var_703) = &input.client_token { + object.key("ClientToken").string(var_703); + } + if let Some(var_704) = &input.mode { + object.key("Mode").string(var_704.as_str()); + } + if let Some(var_705) = &input.target_parameter_name { + object.key("TargetParameterName").string(var_705); + } + if let Some(var_706) = &input.targets { + let mut array_707 = object.key("Targets").start_array(); + for item_708 in var_706 { + let mut object_709 = array_707.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_709, item_708); + object_709.finish(); + } + array_707.finish(); + } + if let Some(var_710) = &input.target_maps { + let mut array_711 = object.key("TargetMaps").start_array(); + for item_712 in var_710 { + let mut object_713 = array_711.value().start_object(); + for (key_714, value_715) in item_712 { + let mut array_716 = object_713.key(key_714).start_array(); + for item_717 in value_715 { + array_716.value().string(item_717); + } + array_716.finish(); + } + object_713.finish(); + } + array_711.finish(); + } + if let Some(var_718) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_718); + } + if let Some(var_719) = &input.max_errors { + object.key("MaxErrors").string(var_719); + } + if let Some(var_720) = &input.target_locations { + let mut array_721 = object.key("TargetLocations").start_array(); + for item_722 in var_720 { + let mut object_723 = array_721.value().start_object(); + crate::json_ser::serialize_structure_target_location(&mut object_723, item_722); + object_723.finish(); + } + array_721.finish(); + } + if let Some(var_724) = &input.tags { + let mut array_725 = object.key("Tags").start_array(); + for item_726 in var_724 { + let mut object_727 = array_725.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_727, item_726); + object_727.finish(); + } + array_725.finish(); + } +} + +pub fn serialize_structure_start_change_request_execution_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartChangeRequestExecutionInput, +) { + if let Some(var_728) = &input.scheduled_time { + object + .key("ScheduledTime") + .instant(var_728, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_729) = &input.document_name { + object.key("DocumentName").string(var_729); + } + if let Some(var_730) = &input.document_version { + object.key("DocumentVersion").string(var_730); + } + if let Some(var_731) = &input.parameters { + let mut object_732 = object.key("Parameters").start_object(); + for (key_733, value_734) in var_731 { + let mut array_735 = object_732.key(key_733).start_array(); + for item_736 in value_734 { + array_735.value().string(item_736); + } + array_735.finish(); + } + object_732.finish(); + } + if let Some(var_737) = &input.change_request_name { + object.key("ChangeRequestName").string(var_737); + } + if let Some(var_738) = &input.client_token { + object.key("ClientToken").string(var_738); + } + if let Some(var_739) = &input.runbooks { + let mut array_740 = object.key("Runbooks").start_array(); + for item_741 in var_739 { + let mut object_742 = array_740.value().start_object(); + crate::json_ser::serialize_structure_runbook(&mut object_742, item_741); + object_742.finish(); + } + array_740.finish(); + } + if let Some(var_743) = &input.tags { + let mut array_744 = object.key("Tags").start_array(); + for item_745 in var_743 { + let mut object_746 = array_744.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_746, item_745); + object_746.finish(); + } + array_744.finish(); + } + if let Some(var_747) = &input.scheduled_end_time { + object + .key("ScheduledEndTime") + .instant(var_747, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_748) = &input.change_details { + object.key("ChangeDetails").string(var_748); + } +} + +pub fn serialize_structure_start_session_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartSessionInput, +) { + if let Some(var_749) = &input.target { + object.key("Target").string(var_749); + } + if let Some(var_750) = &input.document_name { + object.key("DocumentName").string(var_750); + } + if let Some(var_751) = &input.parameters { + let mut object_752 = object.key("Parameters").start_object(); + for (key_753, value_754) in var_751 { + let mut array_755 = object_752.key(key_753).start_array(); + for item_756 in value_754 { + array_755.value().string(item_756); + } + array_755.finish(); + } + object_752.finish(); + } +} + +pub fn serialize_structure_stop_automation_execution_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StopAutomationExecutionInput, +) { + if let Some(var_757) = &input.automation_execution_id { + object.key("AutomationExecutionId").string(var_757); + } + if let Some(var_758) = &input.r#type { + object.key("Type").string(var_758.as_str()); + } +} + +pub fn serialize_structure_terminate_session_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TerminateSessionInput, +) { + if let Some(var_759) = &input.session_id { + object.key("SessionId").string(var_759); + } +} + +pub fn serialize_structure_unlabel_parameter_version_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UnlabelParameterVersionInput, +) { + if let Some(var_760) = &input.name { + object.key("Name").string(var_760); + } + if let Some(var_761) = &input.parameter_version { + object.key("ParameterVersion").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_761).into()), + ); + } + if let Some(var_762) = &input.labels { + let mut array_763 = object.key("Labels").start_array(); + for item_764 in var_762 { + array_763.value().string(item_764); + } + array_763.finish(); + } +} + +pub fn serialize_structure_update_association_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAssociationInput, +) { + if let Some(var_765) = &input.association_id { + object.key("AssociationId").string(var_765); + } + if let Some(var_766) = &input.parameters { + let mut object_767 = object.key("Parameters").start_object(); + for (key_768, value_769) in var_766 { + let mut array_770 = object_767.key(key_768).start_array(); + for item_771 in value_769 { + array_770.value().string(item_771); + } + array_770.finish(); + } + object_767.finish(); + } + if let Some(var_772) = &input.document_version { + object.key("DocumentVersion").string(var_772); + } + if let Some(var_773) = &input.schedule_expression { + object.key("ScheduleExpression").string(var_773); + } + if let Some(var_774) = &input.output_location { + let mut object_775 = object.key("OutputLocation").start_object(); + crate::json_ser::serialize_structure_instance_association_output_location( + &mut object_775, + var_774, + ); + object_775.finish(); + } + if let Some(var_776) = &input.name { + object.key("Name").string(var_776); + } + if let Some(var_777) = &input.targets { + let mut array_778 = object.key("Targets").start_array(); + for item_779 in var_777 { + let mut object_780 = array_778.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_780, item_779); + object_780.finish(); + } + array_778.finish(); + } + if let Some(var_781) = &input.association_name { + object.key("AssociationName").string(var_781); + } + if let Some(var_782) = &input.association_version { + object.key("AssociationVersion").string(var_782); + } + if let Some(var_783) = &input.automation_target_parameter_name { + object.key("AutomationTargetParameterName").string(var_783); + } + if let Some(var_784) = &input.max_errors { + object.key("MaxErrors").string(var_784); + } + if let Some(var_785) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_785); + } + if let Some(var_786) = &input.compliance_severity { + object.key("ComplianceSeverity").string(var_786.as_str()); + } + if let Some(var_787) = &input.sync_compliance { + object.key("SyncCompliance").string(var_787.as_str()); + } + object + .key("ApplyOnlyAtCronInterval") + .boolean(input.apply_only_at_cron_interval); + if let Some(var_788) = &input.calendar_names { + let mut array_789 = object.key("CalendarNames").start_array(); + for item_790 in var_788 { + array_789.value().string(item_790); + } + array_789.finish(); + } + if let Some(var_791) = &input.target_locations { + let mut array_792 = object.key("TargetLocations").start_array(); + for item_793 in var_791 { + let mut object_794 = array_792.value().start_object(); + crate::json_ser::serialize_structure_target_location(&mut object_794, item_793); + object_794.finish(); + } + array_792.finish(); + } +} + +pub fn serialize_structure_update_association_status_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAssociationStatusInput, +) { + if let Some(var_795) = &input.name { + object.key("Name").string(var_795); + } + if let Some(var_796) = &input.instance_id { + object.key("InstanceId").string(var_796); + } + if let Some(var_797) = &input.association_status { + let mut object_798 = object.key("AssociationStatus").start_object(); + crate::json_ser::serialize_structure_association_status(&mut object_798, var_797); + object_798.finish(); + } +} + +pub fn serialize_structure_update_document_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateDocumentInput, +) { + if let Some(var_799) = &input.content { + object.key("Content").string(var_799); + } + if let Some(var_800) = &input.attachments { + let mut array_801 = object.key("Attachments").start_array(); + for item_802 in var_800 { + let mut object_803 = array_801.value().start_object(); + crate::json_ser::serialize_structure_attachments_source(&mut object_803, item_802); + object_803.finish(); + } + array_801.finish(); + } + if let Some(var_804) = &input.name { + object.key("Name").string(var_804); + } + if let Some(var_805) = &input.display_name { + object.key("DisplayName").string(var_805); + } + if let Some(var_806) = &input.version_name { + object.key("VersionName").string(var_806); + } + if let Some(var_807) = &input.document_version { + object.key("DocumentVersion").string(var_807); + } + if let Some(var_808) = &input.document_format { + object.key("DocumentFormat").string(var_808.as_str()); + } + if let Some(var_809) = &input.target_type { + object.key("TargetType").string(var_809); + } +} + +pub fn serialize_structure_update_document_default_version_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateDocumentDefaultVersionInput, +) { + if let Some(var_810) = &input.name { + object.key("Name").string(var_810); + } + if let Some(var_811) = &input.document_version { + object.key("DocumentVersion").string(var_811); + } +} + +pub fn serialize_structure_update_document_metadata_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateDocumentMetadataInput, +) { + if let Some(var_812) = &input.name { + object.key("Name").string(var_812); + } + if let Some(var_813) = &input.document_version { + object.key("DocumentVersion").string(var_813); + } + if let Some(var_814) = &input.document_reviews { + let mut object_815 = object.key("DocumentReviews").start_object(); + crate::json_ser::serialize_structure_document_reviews(&mut object_815, var_814); + object_815.finish(); + } +} + +pub fn serialize_structure_update_maintenance_window_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateMaintenanceWindowInput, +) { + if let Some(var_816) = &input.window_id { + object.key("WindowId").string(var_816); + } + if let Some(var_817) = &input.name { + object.key("Name").string(var_817); + } + if let Some(var_818) = &input.description { + object.key("Description").string(var_818); + } + if let Some(var_819) = &input.start_date { + object.key("StartDate").string(var_819); + } + if let Some(var_820) = &input.end_date { + object.key("EndDate").string(var_820); + } + if let Some(var_821) = &input.schedule { + object.key("Schedule").string(var_821); + } + if let Some(var_822) = &input.schedule_timezone { + object.key("ScheduleTimezone").string(var_822); + } + if let Some(var_823) = &input.schedule_offset { + object.key("ScheduleOffset").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_823).into()), + ); + } + if let Some(var_824) = &input.duration { + object.key("Duration").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_824).into()), + ); + } + if let Some(var_825) = &input.cutoff { + object.key("Cutoff").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_825).into()), + ); + } + if let Some(var_826) = &input.allow_unassociated_targets { + object.key("AllowUnassociatedTargets").boolean(*var_826); + } + if let Some(var_827) = &input.enabled { + object.key("Enabled").boolean(*var_827); + } + if let Some(var_828) = &input.replace { + object.key("Replace").boolean(*var_828); + } +} + +pub fn serialize_structure_update_maintenance_window_target_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateMaintenanceWindowTargetInput, +) { + if let Some(var_829) = &input.window_id { + object.key("WindowId").string(var_829); + } + if let Some(var_830) = &input.window_target_id { + object.key("WindowTargetId").string(var_830); + } + if let Some(var_831) = &input.targets { + let mut array_832 = object.key("Targets").start_array(); + for item_833 in var_831 { + let mut object_834 = array_832.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_834, item_833); + object_834.finish(); + } + array_832.finish(); + } + if let Some(var_835) = &input.owner_information { + object.key("OwnerInformation").string(var_835); + } + if let Some(var_836) = &input.name { + object.key("Name").string(var_836); + } + if let Some(var_837) = &input.description { + object.key("Description").string(var_837); + } + if let Some(var_838) = &input.replace { + object.key("Replace").boolean(*var_838); + } +} + +pub fn serialize_structure_update_maintenance_window_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateMaintenanceWindowTaskInput, +) { + if let Some(var_839) = &input.window_id { + object.key("WindowId").string(var_839); + } + if let Some(var_840) = &input.window_task_id { + object.key("WindowTaskId").string(var_840); + } + if let Some(var_841) = &input.targets { + let mut array_842 = object.key("Targets").start_array(); + for item_843 in var_841 { + let mut object_844 = array_842.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_844, item_843); + object_844.finish(); + } + array_842.finish(); + } + if let Some(var_845) = &input.task_arn { + object.key("TaskArn").string(var_845); + } + if let Some(var_846) = &input.service_role_arn { + object.key("ServiceRoleArn").string(var_846); + } + if let Some(var_847) = &input.task_parameters { + let mut object_848 = object.key("TaskParameters").start_object(); + for (key_849, value_850) in var_847 { + let mut object_851 = object_848.key(key_849).start_object(); + crate::json_ser::serialize_structure_maintenance_window_task_parameter_value_expression( + &mut object_851, + value_850, + ); + object_851.finish(); + } + object_848.finish(); + } + if let Some(var_852) = &input.task_invocation_parameters { + let mut object_853 = object.key("TaskInvocationParameters").start_object(); + crate::json_ser::serialize_structure_maintenance_window_task_invocation_parameters( + &mut object_853, + var_852, + ); + object_853.finish(); + } + if let Some(var_854) = &input.priority { + object.key("Priority").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_854).into()), + ); + } + if let Some(var_855) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_855); + } + if let Some(var_856) = &input.max_errors { + object.key("MaxErrors").string(var_856); + } + if let Some(var_857) = &input.logging_info { + let mut object_858 = object.key("LoggingInfo").start_object(); + crate::json_ser::serialize_structure_logging_info(&mut object_858, var_857); + object_858.finish(); + } + if let Some(var_859) = &input.name { + object.key("Name").string(var_859); + } + if let Some(var_860) = &input.description { + object.key("Description").string(var_860); + } + if let Some(var_861) = &input.replace { + object.key("Replace").boolean(*var_861); + } +} + +pub fn serialize_structure_update_managed_instance_role_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateManagedInstanceRoleInput, +) { + if let Some(var_862) = &input.instance_id { + object.key("InstanceId").string(var_862); + } + if let Some(var_863) = &input.iam_role { + object.key("IamRole").string(var_863); + } +} + +pub fn serialize_structure_update_ops_item_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateOpsItemInput, +) { + if let Some(var_864) = &input.description { + object.key("Description").string(var_864); + } + if let Some(var_865) = &input.operational_data { + let mut object_866 = object.key("OperationalData").start_object(); + for (key_867, value_868) in var_865 { + let mut object_869 = object_866.key(key_867).start_object(); + crate::json_ser::serialize_structure_ops_item_data_value(&mut object_869, value_868); + object_869.finish(); + } + object_866.finish(); + } + if let Some(var_870) = &input.operational_data_to_delete { + let mut array_871 = object.key("OperationalDataToDelete").start_array(); + for item_872 in var_870 { + array_871.value().string(item_872); + } + array_871.finish(); + } + if let Some(var_873) = &input.notifications { + let mut array_874 = object.key("Notifications").start_array(); + for item_875 in var_873 { + let mut object_876 = array_874.value().start_object(); + crate::json_ser::serialize_structure_ops_item_notification(&mut object_876, item_875); + object_876.finish(); + } + array_874.finish(); + } + if let Some(var_877) = &input.priority { + object.key("Priority").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_877).into()), + ); + } + if let Some(var_878) = &input.related_ops_items { + let mut array_879 = object.key("RelatedOpsItems").start_array(); + for item_880 in var_878 { + let mut object_881 = array_879.value().start_object(); + crate::json_ser::serialize_structure_related_ops_item(&mut object_881, item_880); + object_881.finish(); + } + array_879.finish(); + } + if let Some(var_882) = &input.status { + object.key("Status").string(var_882.as_str()); + } + if let Some(var_883) = &input.ops_item_id { + object.key("OpsItemId").string(var_883); + } + if let Some(var_884) = &input.title { + object.key("Title").string(var_884); + } + if let Some(var_885) = &input.category { + object.key("Category").string(var_885); + } + if let Some(var_886) = &input.severity { + object.key("Severity").string(var_886); + } + if let Some(var_887) = &input.actual_start_time { + object + .key("ActualStartTime") + .instant(var_887, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_888) = &input.actual_end_time { + object + .key("ActualEndTime") + .instant(var_888, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_889) = &input.planned_start_time { + object + .key("PlannedStartTime") + .instant(var_889, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_890) = &input.planned_end_time { + object + .key("PlannedEndTime") + .instant(var_890, smithy_types::instant::Format::EpochSeconds); + } +} + +pub fn serialize_structure_update_ops_metadata_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateOpsMetadataInput, +) { + if let Some(var_891) = &input.ops_metadata_arn { + object.key("OpsMetadataArn").string(var_891); + } + if let Some(var_892) = &input.metadata_to_update { + let mut object_893 = object.key("MetadataToUpdate").start_object(); + for (key_894, value_895) in var_892 { + let mut object_896 = object_893.key(key_894).start_object(); + crate::json_ser::serialize_structure_metadata_value(&mut object_896, value_895); + object_896.finish(); + } + object_893.finish(); + } + if let Some(var_897) = &input.keys_to_delete { + let mut array_898 = object.key("KeysToDelete").start_array(); + for item_899 in var_897 { + array_898.value().string(item_899); + } + array_898.finish(); + } +} + +pub fn serialize_structure_update_patch_baseline_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdatePatchBaselineInput, +) { + if let Some(var_900) = &input.baseline_id { + object.key("BaselineId").string(var_900); + } + if let Some(var_901) = &input.name { + object.key("Name").string(var_901); + } + if let Some(var_902) = &input.global_filters { + let mut object_903 = object.key("GlobalFilters").start_object(); + crate::json_ser::serialize_structure_patch_filter_group(&mut object_903, var_902); + object_903.finish(); + } + if let Some(var_904) = &input.approval_rules { + let mut object_905 = object.key("ApprovalRules").start_object(); + crate::json_ser::serialize_structure_patch_rule_group(&mut object_905, var_904); + object_905.finish(); + } + if let Some(var_906) = &input.approved_patches { + let mut array_907 = object.key("ApprovedPatches").start_array(); + for item_908 in var_906 { + array_907.value().string(item_908); + } + array_907.finish(); + } + if let Some(var_909) = &input.approved_patches_compliance_level { + object + .key("ApprovedPatchesComplianceLevel") + .string(var_909.as_str()); + } + if let Some(var_910) = &input.approved_patches_enable_non_security { + object + .key("ApprovedPatchesEnableNonSecurity") + .boolean(*var_910); + } + if let Some(var_911) = &input.rejected_patches { + let mut array_912 = object.key("RejectedPatches").start_array(); + for item_913 in var_911 { + array_912.value().string(item_913); + } + array_912.finish(); + } + if let Some(var_914) = &input.rejected_patches_action { + object.key("RejectedPatchesAction").string(var_914.as_str()); + } + if let Some(var_915) = &input.description { + object.key("Description").string(var_915); + } + if let Some(var_916) = &input.sources { + let mut array_917 = object.key("Sources").start_array(); + for item_918 in var_916 { + let mut object_919 = array_917.value().start_object(); + crate::json_ser::serialize_structure_patch_source(&mut object_919, item_918); + object_919.finish(); + } + array_917.finish(); + } + if let Some(var_920) = &input.replace { + object.key("Replace").boolean(*var_920); + } +} + +pub fn serialize_structure_update_resource_data_sync_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateResourceDataSyncInput, +) { + if let Some(var_921) = &input.sync_name { + object.key("SyncName").string(var_921); + } + if let Some(var_922) = &input.sync_type { + object.key("SyncType").string(var_922); + } + if let Some(var_923) = &input.sync_source { + let mut object_924 = object.key("SyncSource").start_object(); + crate::json_ser::serialize_structure_resource_data_sync_source(&mut object_924, var_923); + object_924.finish(); + } +} + +pub fn serialize_structure_update_service_setting_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateServiceSettingInput, +) { + if let Some(var_925) = &input.setting_id { + object.key("SettingId").string(var_925); + } + if let Some(var_926) = &input.setting_value { + object.key("SettingValue").string(var_926); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_927) = &input.key { + object.key("Key").string(var_927); + } + if let Some(var_928) = &input.value { + object.key("Value").string(var_928); + } +} + +pub fn serialize_structure_target( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Target, +) { + if let Some(var_929) = &input.key { + object.key("Key").string(var_929); + } + if let Some(var_930) = &input.values { + let mut array_931 = object.key("Values").start_array(); + for item_932 in var_930 { + array_931.value().string(item_932); + } + array_931.finish(); + } +} + +pub fn serialize_structure_instance_association_output_location( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InstanceAssociationOutputLocation, +) { + if let Some(var_933) = &input.s3_location { + let mut object_934 = object.key("S3Location").start_object(); + crate::json_ser::serialize_structure_s3_output_location(&mut object_934, var_933); + object_934.finish(); + } +} + +pub fn serialize_structure_target_location( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TargetLocation, +) { + if let Some(var_935) = &input.accounts { + let mut array_936 = object.key("Accounts").start_array(); + for item_937 in var_935 { + array_936.value().string(item_937); + } + array_936.finish(); + } + if let Some(var_938) = &input.regions { + let mut array_939 = object.key("Regions").start_array(); + for item_940 in var_938 { + array_939.value().string(item_940); + } + array_939.finish(); + } + if let Some(var_941) = &input.target_location_max_concurrency { + object.key("TargetLocationMaxConcurrency").string(var_941); + } + if let Some(var_942) = &input.target_location_max_errors { + object.key("TargetLocationMaxErrors").string(var_942); + } + if let Some(var_943) = &input.execution_role_name { + object.key("ExecutionRoleName").string(var_943); + } +} + +pub fn serialize_structure_create_association_batch_request_entry( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CreateAssociationBatchRequestEntry, +) { + if let Some(var_944) = &input.name { + object.key("Name").string(var_944); + } + if let Some(var_945) = &input.instance_id { + object.key("InstanceId").string(var_945); + } + if let Some(var_946) = &input.parameters { + let mut object_947 = object.key("Parameters").start_object(); + for (key_948, value_949) in var_946 { + let mut array_950 = object_947.key(key_948).start_array(); + for item_951 in value_949 { + array_950.value().string(item_951); + } + array_950.finish(); + } + object_947.finish(); + } + if let Some(var_952) = &input.automation_target_parameter_name { + object.key("AutomationTargetParameterName").string(var_952); + } + if let Some(var_953) = &input.document_version { + object.key("DocumentVersion").string(var_953); + } + if let Some(var_954) = &input.targets { + let mut array_955 = object.key("Targets").start_array(); + for item_956 in var_954 { + let mut object_957 = array_955.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_957, item_956); + object_957.finish(); + } + array_955.finish(); + } + if let Some(var_958) = &input.schedule_expression { + object.key("ScheduleExpression").string(var_958); + } + if let Some(var_959) = &input.output_location { + let mut object_960 = object.key("OutputLocation").start_object(); + crate::json_ser::serialize_structure_instance_association_output_location( + &mut object_960, + var_959, + ); + object_960.finish(); + } + if let Some(var_961) = &input.association_name { + object.key("AssociationName").string(var_961); + } + if let Some(var_962) = &input.max_errors { + object.key("MaxErrors").string(var_962); + } + if let Some(var_963) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_963); + } + if let Some(var_964) = &input.compliance_severity { + object.key("ComplianceSeverity").string(var_964.as_str()); + } + if let Some(var_965) = &input.sync_compliance { + object.key("SyncCompliance").string(var_965.as_str()); + } + object + .key("ApplyOnlyAtCronInterval") + .boolean(input.apply_only_at_cron_interval); + if let Some(var_966) = &input.calendar_names { + let mut array_967 = object.key("CalendarNames").start_array(); + for item_968 in var_966 { + array_967.value().string(item_968); + } + array_967.finish(); + } + if let Some(var_969) = &input.target_locations { + let mut array_970 = object.key("TargetLocations").start_array(); + for item_971 in var_969 { + let mut object_972 = array_970.value().start_object(); + crate::json_ser::serialize_structure_target_location(&mut object_972, item_971); + object_972.finish(); + } + array_970.finish(); + } +} + +pub fn serialize_structure_document_requires( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DocumentRequires, +) { + if let Some(var_973) = &input.name { + object.key("Name").string(var_973); + } + if let Some(var_974) = &input.version { + object.key("Version").string(var_974); + } +} + +pub fn serialize_structure_attachments_source( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AttachmentsSource, +) { + if let Some(var_975) = &input.key { + object.key("Key").string(var_975.as_str()); + } + if let Some(var_976) = &input.values { + let mut array_977 = object.key("Values").start_array(); + for item_978 in var_976 { + array_977.value().string(item_978); + } + array_977.finish(); + } + if let Some(var_979) = &input.name { + object.key("Name").string(var_979); + } +} + +pub fn serialize_structure_ops_item_data_value( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsItemDataValue, +) { + if let Some(var_980) = &input.value { + object.key("Value").string(var_980); + } + if let Some(var_981) = &input.r#type { + object.key("Type").string(var_981.as_str()); + } +} + +pub fn serialize_structure_ops_item_notification( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsItemNotification, +) { + if let Some(var_982) = &input.arn { + object.key("Arn").string(var_982); + } +} + +pub fn serialize_structure_related_ops_item( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::RelatedOpsItem, +) { + if let Some(var_983) = &input.ops_item_id { + object.key("OpsItemId").string(var_983); + } +} + +pub fn serialize_structure_metadata_value( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MetadataValue, +) { + if let Some(var_984) = &input.value { + object.key("Value").string(var_984); + } +} + +pub fn serialize_structure_patch_filter_group( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PatchFilterGroup, +) { + if let Some(var_985) = &input.patch_filters { + let mut array_986 = object.key("PatchFilters").start_array(); + for item_987 in var_985 { + let mut object_988 = array_986.value().start_object(); + crate::json_ser::serialize_structure_patch_filter(&mut object_988, item_987); + object_988.finish(); + } + array_986.finish(); + } +} + +pub fn serialize_structure_patch_rule_group( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PatchRuleGroup, +) { + if let Some(var_989) = &input.patch_rules { + let mut array_990 = object.key("PatchRules").start_array(); + for item_991 in var_989 { + let mut object_992 = array_990.value().start_object(); + crate::json_ser::serialize_structure_patch_rule(&mut object_992, item_991); + object_992.finish(); + } + array_990.finish(); + } +} + +pub fn serialize_structure_patch_source( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PatchSource, +) { + if let Some(var_993) = &input.name { + object.key("Name").string(var_993); + } + if let Some(var_994) = &input.products { + let mut array_995 = object.key("Products").start_array(); + for item_996 in var_994 { + array_995.value().string(item_996); + } + array_995.finish(); + } + if let Some(var_997) = &input.configuration { + object.key("Configuration").string(var_997); + } +} + +pub fn serialize_structure_resource_data_sync_s3_destination( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResourceDataSyncS3Destination, +) { + if let Some(var_998) = &input.bucket_name { + object.key("BucketName").string(var_998); + } + if let Some(var_999) = &input.prefix { + object.key("Prefix").string(var_999); + } + if let Some(var_1000) = &input.sync_format { + object.key("SyncFormat").string(var_1000.as_str()); + } + if let Some(var_1001) = &input.region { + object.key("Region").string(var_1001); + } + if let Some(var_1002) = &input.awskms_key_arn { + object.key("AWSKMSKeyARN").string(var_1002); + } + if let Some(var_1003) = &input.destination_data_sharing { + let mut object_1004 = object.key("DestinationDataSharing").start_object(); + crate::json_ser::serialize_structure_resource_data_sync_destination_data_sharing( + &mut object_1004, + var_1003, + ); + object_1004.finish(); + } +} + +pub fn serialize_structure_resource_data_sync_source( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResourceDataSyncSource, +) { + if let Some(var_1005) = &input.source_type { + object.key("SourceType").string(var_1005); + } + if let Some(var_1006) = &input.aws_organizations_source { + let mut object_1007 = object.key("AwsOrganizationsSource").start_object(); + crate::json_ser::serialize_structure_resource_data_sync_aws_organizations_source( + &mut object_1007, + var_1006, + ); + object_1007.finish(); + } + if let Some(var_1008) = &input.source_regions { + let mut array_1009 = object.key("SourceRegions").start_array(); + for item_1010 in var_1008 { + array_1009.value().string(item_1010); + } + array_1009.finish(); + } + object + .key("IncludeFutureRegions") + .boolean(input.include_future_regions); + object + .key("EnableAllOpsDataSources") + .boolean(input.enable_all_ops_data_sources); +} + +pub fn serialize_structure_describe_activations_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DescribeActivationsFilter, +) { + if let Some(var_1011) = &input.filter_key { + object.key("FilterKey").string(var_1011.as_str()); + } + if let Some(var_1012) = &input.filter_values { + let mut array_1013 = object.key("FilterValues").start_array(); + for item_1014 in var_1012 { + array_1013.value().string(item_1014); + } + array_1013.finish(); + } +} + +pub fn serialize_structure_association_execution_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AssociationExecutionFilter, +) { + if let Some(var_1015) = &input.key { + object.key("Key").string(var_1015.as_str()); + } + if let Some(var_1016) = &input.value { + object.key("Value").string(var_1016); + } + if let Some(var_1017) = &input.r#type { + object.key("Type").string(var_1017.as_str()); + } +} + +pub fn serialize_structure_association_execution_targets_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AssociationExecutionTargetsFilter, +) { + if let Some(var_1018) = &input.key { + object.key("Key").string(var_1018.as_str()); + } + if let Some(var_1019) = &input.value { + object.key("Value").string(var_1019); + } +} + +pub fn serialize_structure_automation_execution_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AutomationExecutionFilter, +) { + if let Some(var_1020) = &input.key { + object.key("Key").string(var_1020.as_str()); + } + if let Some(var_1021) = &input.values { + let mut array_1022 = object.key("Values").start_array(); + for item_1023 in var_1021 { + array_1022.value().string(item_1023); + } + array_1022.finish(); + } +} + +pub fn serialize_structure_step_execution_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::StepExecutionFilter, +) { + if let Some(var_1024) = &input.key { + object.key("Key").string(var_1024.as_str()); + } + if let Some(var_1025) = &input.values { + let mut array_1026 = object.key("Values").start_array(); + for item_1027 in var_1025 { + array_1026.value().string(item_1027); + } + array_1026.finish(); + } +} + +pub fn serialize_structure_patch_orchestrator_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PatchOrchestratorFilter, +) { + if let Some(var_1028) = &input.key { + object.key("Key").string(var_1028); + } + if let Some(var_1029) = &input.values { + let mut array_1030 = object.key("Values").start_array(); + for item_1031 in var_1029 { + array_1030.value().string(item_1031); + } + array_1030.finish(); + } +} + +pub fn serialize_structure_instance_information_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InstanceInformationFilter, +) { + if let Some(var_1032) = &input.key { + object.key("key").string(var_1032.as_str()); + } + if let Some(var_1033) = &input.value_set { + let mut array_1034 = object.key("valueSet").start_array(); + for item_1035 in var_1033 { + array_1034.value().string(item_1035); + } + array_1034.finish(); + } +} + +pub fn serialize_structure_instance_information_string_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InstanceInformationStringFilter, +) { + if let Some(var_1036) = &input.key { + object.key("Key").string(var_1036); + } + if let Some(var_1037) = &input.values { + let mut array_1038 = object.key("Values").start_array(); + for item_1039 in var_1037 { + array_1038.value().string(item_1039); + } + array_1038.finish(); + } +} + +pub fn serialize_structure_instance_patch_state_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InstancePatchStateFilter, +) { + if let Some(var_1040) = &input.key { + object.key("Key").string(var_1040); + } + if let Some(var_1041) = &input.values { + let mut array_1042 = object.key("Values").start_array(); + for item_1043 in var_1041 { + array_1042.value().string(item_1043); + } + array_1042.finish(); + } + if let Some(var_1044) = &input.r#type { + object.key("Type").string(var_1044.as_str()); + } +} + +pub fn serialize_structure_maintenance_window_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowFilter, +) { + if let Some(var_1045) = &input.key { + object.key("Key").string(var_1045); + } + if let Some(var_1046) = &input.values { + let mut array_1047 = object.key("Values").start_array(); + for item_1048 in var_1046 { + array_1047.value().string(item_1048); + } + array_1047.finish(); + } +} + +pub fn serialize_structure_ops_item_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsItemFilter, +) { + if let Some(var_1049) = &input.key { + object.key("Key").string(var_1049.as_str()); + } + if let Some(var_1050) = &input.values { + let mut array_1051 = object.key("Values").start_array(); + for item_1052 in var_1050 { + array_1051.value().string(item_1052); + } + array_1051.finish(); + } + if let Some(var_1053) = &input.operator { + object.key("Operator").string(var_1053.as_str()); + } +} + +pub fn serialize_structure_parameters_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ParametersFilter, +) { + if let Some(var_1054) = &input.key { + object.key("Key").string(var_1054.as_str()); + } + if let Some(var_1055) = &input.values { + let mut array_1056 = object.key("Values").start_array(); + for item_1057 in var_1055 { + array_1056.value().string(item_1057); + } + array_1056.finish(); + } +} + +pub fn serialize_structure_parameter_string_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ParameterStringFilter, +) { + if let Some(var_1058) = &input.key { + object.key("Key").string(var_1058); + } + if let Some(var_1059) = &input.option { + object.key("Option").string(var_1059); + } + if let Some(var_1060) = &input.values { + let mut array_1061 = object.key("Values").start_array(); + for item_1062 in var_1060 { + array_1061.value().string(item_1062); + } + array_1061.finish(); + } +} + +pub fn serialize_structure_session_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::SessionFilter, +) { + if let Some(var_1063) = &input.key { + object.key("key").string(var_1063.as_str()); + } + if let Some(var_1064) = &input.value { + object.key("value").string(var_1064); + } +} + +pub fn serialize_structure_baseline_override( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::BaselineOverride, +) { + if let Some(var_1065) = &input.operating_system { + object.key("OperatingSystem").string(var_1065.as_str()); + } + if let Some(var_1066) = &input.global_filters { + let mut object_1067 = object.key("GlobalFilters").start_object(); + crate::json_ser::serialize_structure_patch_filter_group(&mut object_1067, var_1066); + object_1067.finish(); + } + if let Some(var_1068) = &input.approval_rules { + let mut object_1069 = object.key("ApprovalRules").start_object(); + crate::json_ser::serialize_structure_patch_rule_group(&mut object_1069, var_1068); + object_1069.finish(); + } + if let Some(var_1070) = &input.approved_patches { + let mut array_1071 = object.key("ApprovedPatches").start_array(); + for item_1072 in var_1070 { + array_1071.value().string(item_1072); + } + array_1071.finish(); + } + if let Some(var_1073) = &input.approved_patches_compliance_level { + object + .key("ApprovedPatchesComplianceLevel") + .string(var_1073.as_str()); + } + if let Some(var_1074) = &input.rejected_patches { + let mut array_1075 = object.key("RejectedPatches").start_array(); + for item_1076 in var_1074 { + array_1075.value().string(item_1076); + } + array_1075.finish(); + } + if let Some(var_1077) = &input.rejected_patches_action { + object + .key("RejectedPatchesAction") + .string(var_1077.as_str()); + } + object + .key("ApprovedPatchesEnableNonSecurity") + .boolean(input.approved_patches_enable_non_security); + if let Some(var_1078) = &input.sources { + let mut array_1079 = object.key("Sources").start_array(); + for item_1080 in var_1078 { + let mut object_1081 = array_1079.value().start_object(); + crate::json_ser::serialize_structure_patch_source(&mut object_1081, item_1080); + object_1081.finish(); + } + array_1079.finish(); + } +} + +pub fn serialize_structure_inventory_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InventoryFilter, +) { + if let Some(var_1082) = &input.key { + object.key("Key").string(var_1082); + } + if let Some(var_1083) = &input.values { + let mut array_1084 = object.key("Values").start_array(); + for item_1085 in var_1083 { + array_1084.value().string(item_1085); + } + array_1084.finish(); + } + if let Some(var_1086) = &input.r#type { + object.key("Type").string(var_1086.as_str()); + } +} + +pub fn serialize_structure_inventory_aggregator( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InventoryAggregator, +) { + if let Some(var_1087) = &input.expression { + object.key("Expression").string(var_1087); + } + if let Some(var_1088) = &input.aggregators { + let mut array_1089 = object.key("Aggregators").start_array(); + for item_1090 in var_1088 { + let mut object_1091 = array_1089.value().start_object(); + crate::json_ser::serialize_structure_inventory_aggregator(&mut object_1091, item_1090); + object_1091.finish(); + } + array_1089.finish(); + } + if let Some(var_1092) = &input.groups { + let mut array_1093 = object.key("Groups").start_array(); + for item_1094 in var_1092 { + let mut object_1095 = array_1093.value().start_object(); + crate::json_ser::serialize_structure_inventory_group(&mut object_1095, item_1094); + object_1095.finish(); + } + array_1093.finish(); + } +} + +pub fn serialize_structure_result_attribute( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResultAttribute, +) { + if let Some(var_1096) = &input.type_name { + object.key("TypeName").string(var_1096); + } +} + +pub fn serialize_structure_ops_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsFilter, +) { + if let Some(var_1097) = &input.key { + object.key("Key").string(var_1097); + } + if let Some(var_1098) = &input.values { + let mut array_1099 = object.key("Values").start_array(); + for item_1100 in var_1098 { + array_1099.value().string(item_1100); + } + array_1099.finish(); + } + if let Some(var_1101) = &input.r#type { + object.key("Type").string(var_1101.as_str()); + } +} + +pub fn serialize_structure_ops_aggregator( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsAggregator, +) { + if let Some(var_1102) = &input.aggregator_type { + object.key("AggregatorType").string(var_1102); + } + if let Some(var_1103) = &input.type_name { + object.key("TypeName").string(var_1103); + } + if let Some(var_1104) = &input.attribute_name { + object.key("AttributeName").string(var_1104); + } + if let Some(var_1105) = &input.values { + let mut object_1106 = object.key("Values").start_object(); + for (key_1107, value_1108) in var_1105 { + object_1106.key(key_1107).string(value_1108); + } + object_1106.finish(); + } + if let Some(var_1109) = &input.filters { + let mut array_1110 = object.key("Filters").start_array(); + for item_1111 in var_1109 { + let mut object_1112 = array_1110.value().start_object(); + crate::json_ser::serialize_structure_ops_filter(&mut object_1112, item_1111); + object_1112.finish(); + } + array_1110.finish(); + } + if let Some(var_1113) = &input.aggregators { + let mut array_1114 = object.key("Aggregators").start_array(); + for item_1115 in var_1113 { + let mut object_1116 = array_1114.value().start_object(); + crate::json_ser::serialize_structure_ops_aggregator(&mut object_1116, item_1115); + object_1116.finish(); + } + array_1114.finish(); + } +} + +pub fn serialize_structure_ops_result_attribute( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsResultAttribute, +) { + if let Some(var_1117) = &input.type_name { + object.key("TypeName").string(var_1117); + } +} + +pub fn serialize_structure_association_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AssociationFilter, +) { + if let Some(var_1118) = &input.key { + object.key("key").string(var_1118.as_str()); + } + if let Some(var_1119) = &input.value { + object.key("value").string(var_1119); + } +} + +pub fn serialize_structure_command_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CommandFilter, +) { + if let Some(var_1120) = &input.key { + object.key("key").string(var_1120.as_str()); + } + if let Some(var_1121) = &input.value { + object.key("value").string(var_1121); + } +} + +pub fn serialize_structure_compliance_string_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ComplianceStringFilter, +) { + if let Some(var_1122) = &input.key { + object.key("Key").string(var_1122); + } + if let Some(var_1123) = &input.values { + let mut array_1124 = object.key("Values").start_array(); + for item_1125 in var_1123 { + array_1124.value().string(item_1125); + } + array_1124.finish(); + } + if let Some(var_1126) = &input.r#type { + object.key("Type").string(var_1126.as_str()); + } +} + +pub fn serialize_structure_document_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DocumentFilter, +) { + if let Some(var_1127) = &input.key { + object.key("key").string(var_1127.as_str()); + } + if let Some(var_1128) = &input.value { + object.key("value").string(var_1128); + } +} + +pub fn serialize_structure_document_key_values_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DocumentKeyValuesFilter, +) { + if let Some(var_1129) = &input.key { + object.key("Key").string(var_1129); + } + if let Some(var_1130) = &input.values { + let mut array_1131 = object.key("Values").start_array(); + for item_1132 in var_1130 { + array_1131.value().string(item_1132); + } + array_1131.finish(); + } +} + +pub fn serialize_structure_ops_item_event_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsItemEventFilter, +) { + if let Some(var_1133) = &input.key { + object.key("Key").string(var_1133.as_str()); + } + if let Some(var_1134) = &input.values { + let mut array_1135 = object.key("Values").start_array(); + for item_1136 in var_1134 { + array_1135.value().string(item_1136); + } + array_1135.finish(); + } + if let Some(var_1137) = &input.operator { + object.key("Operator").string(var_1137.as_str()); + } +} + +pub fn serialize_structure_ops_item_related_items_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsItemRelatedItemsFilter, +) { + if let Some(var_1138) = &input.key { + object.key("Key").string(var_1138.as_str()); + } + if let Some(var_1139) = &input.values { + let mut array_1140 = object.key("Values").start_array(); + for item_1141 in var_1139 { + array_1140.value().string(item_1141); + } + array_1140.finish(); + } + if let Some(var_1142) = &input.operator { + object.key("Operator").string(var_1142.as_str()); + } +} + +pub fn serialize_structure_ops_metadata_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::OpsMetadataFilter, +) { + if let Some(var_1143) = &input.key { + object.key("Key").string(var_1143); + } + if let Some(var_1144) = &input.values { + let mut array_1145 = object.key("Values").start_array(); + for item_1146 in var_1144 { + array_1145.value().string(item_1146); + } + array_1145.finish(); + } +} + +pub fn serialize_structure_compliance_execution_summary( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ComplianceExecutionSummary, +) { + if let Some(var_1147) = &input.execution_time { + object + .key("ExecutionTime") + .instant(var_1147, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_1148) = &input.execution_id { + object.key("ExecutionId").string(var_1148); + } + if let Some(var_1149) = &input.execution_type { + object.key("ExecutionType").string(var_1149); + } +} + +pub fn serialize_structure_compliance_item_entry( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ComplianceItemEntry, +) { + if let Some(var_1150) = &input.id { + object.key("Id").string(var_1150); + } + if let Some(var_1151) = &input.title { + object.key("Title").string(var_1151); + } + if let Some(var_1152) = &input.severity { + object.key("Severity").string(var_1152.as_str()); + } + if let Some(var_1153) = &input.status { + object.key("Status").string(var_1153.as_str()); + } + if let Some(var_1154) = &input.details { + let mut object_1155 = object.key("Details").start_object(); + for (key_1156, value_1157) in var_1154 { + object_1155.key(key_1156).string(value_1157); + } + object_1155.finish(); + } +} + +pub fn serialize_structure_inventory_item( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InventoryItem, +) { + if let Some(var_1158) = &input.type_name { + object.key("TypeName").string(var_1158); + } + if let Some(var_1159) = &input.schema_version { + object.key("SchemaVersion").string(var_1159); + } + if let Some(var_1160) = &input.capture_time { + object.key("CaptureTime").string(var_1160); + } + if let Some(var_1161) = &input.content_hash { + object.key("ContentHash").string(var_1161); + } + if let Some(var_1162) = &input.content { + let mut array_1163 = object.key("Content").start_array(); + for item_1164 in var_1162 { + let mut object_1165 = array_1163.value().start_object(); + for (key_1166, value_1167) in item_1164 { + object_1165.key(key_1166).string(value_1167); + } + object_1165.finish(); + } + array_1163.finish(); + } + if let Some(var_1168) = &input.context { + let mut object_1169 = object.key("Context").start_object(); + for (key_1170, value_1171) in var_1168 { + object_1169.key(key_1170).string(value_1171); + } + object_1169.finish(); + } +} + +pub fn serialize_structure_maintenance_window_task_parameter_value_expression( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowTaskParameterValueExpression, +) { + if let Some(var_1172) = &input.values { + let mut array_1173 = object.key("Values").start_array(); + for item_1174 in var_1172 { + array_1173.value().string(item_1174); + } + array_1173.finish(); + } +} + +pub fn serialize_structure_maintenance_window_task_invocation_parameters( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowTaskInvocationParameters, +) { + if let Some(var_1175) = &input.run_command { + let mut object_1176 = object.key("RunCommand").start_object(); + crate::json_ser::serialize_structure_maintenance_window_run_command_parameters( + &mut object_1176, + var_1175, + ); + object_1176.finish(); + } + if let Some(var_1177) = &input.automation { + let mut object_1178 = object.key("Automation").start_object(); + crate::json_ser::serialize_structure_maintenance_window_automation_parameters( + &mut object_1178, + var_1177, + ); + object_1178.finish(); + } + if let Some(var_1179) = &input.step_functions { + let mut object_1180 = object.key("StepFunctions").start_object(); + crate::json_ser::serialize_structure_maintenance_window_step_functions_parameters( + &mut object_1180, + var_1179, + ); + object_1180.finish(); + } + if let Some(var_1181) = &input.lambda { + let mut object_1182 = object.key("Lambda").start_object(); + crate::json_ser::serialize_structure_maintenance_window_lambda_parameters( + &mut object_1182, + var_1181, + ); + object_1182.finish(); + } +} + +pub fn serialize_structure_logging_info( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::LoggingInfo, +) { + if let Some(var_1183) = &input.s3_bucket_name { + object.key("S3BucketName").string(var_1183); + } + if let Some(var_1184) = &input.s3_key_prefix { + object.key("S3KeyPrefix").string(var_1184); + } + if let Some(var_1185) = &input.s3_region { + object.key("S3Region").string(var_1185); + } +} + +pub fn serialize_structure_notification_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::NotificationConfig, +) { + if let Some(var_1186) = &input.notification_arn { + object.key("NotificationArn").string(var_1186); + } + if let Some(var_1187) = &input.notification_events { + let mut array_1188 = object.key("NotificationEvents").start_array(); + for item_1189 in var_1187 { + array_1188.value().string(item_1189.as_str()); + } + array_1188.finish(); + } + if let Some(var_1190) = &input.notification_type { + object.key("NotificationType").string(var_1190.as_str()); + } +} + +pub fn serialize_structure_cloud_watch_output_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CloudWatchOutputConfig, +) { + if let Some(var_1191) = &input.cloud_watch_log_group_name { + object.key("CloudWatchLogGroupName").string(var_1191); + } + object + .key("CloudWatchOutputEnabled") + .boolean(input.cloud_watch_output_enabled); +} + +pub fn serialize_structure_runbook( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Runbook, +) { + if let Some(var_1192) = &input.document_name { + object.key("DocumentName").string(var_1192); + } + if let Some(var_1193) = &input.document_version { + object.key("DocumentVersion").string(var_1193); + } + if let Some(var_1194) = &input.parameters { + let mut object_1195 = object.key("Parameters").start_object(); + for (key_1196, value_1197) in var_1194 { + let mut array_1198 = object_1195.key(key_1196).start_array(); + for item_1199 in value_1197 { + array_1198.value().string(item_1199); + } + array_1198.finish(); + } + object_1195.finish(); + } + if let Some(var_1200) = &input.target_parameter_name { + object.key("TargetParameterName").string(var_1200); + } + if let Some(var_1201) = &input.targets { + let mut array_1202 = object.key("Targets").start_array(); + for item_1203 in var_1201 { + let mut object_1204 = array_1202.value().start_object(); + crate::json_ser::serialize_structure_target(&mut object_1204, item_1203); + object_1204.finish(); + } + array_1202.finish(); + } + if let Some(var_1205) = &input.max_concurrency { + object.key("MaxConcurrency").string(var_1205); + } + if let Some(var_1206) = &input.max_errors { + object.key("MaxErrors").string(var_1206); + } + if let Some(var_1207) = &input.target_locations { + let mut array_1208 = object.key("TargetLocations").start_array(); + for item_1209 in var_1207 { + let mut object_1210 = array_1208.value().start_object(); + crate::json_ser::serialize_structure_target_location(&mut object_1210, item_1209); + object_1210.finish(); + } + array_1208.finish(); + } +} + +pub fn serialize_structure_association_status( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AssociationStatus, +) { + if let Some(var_1211) = &input.date { + object + .key("Date") + .instant(var_1211, smithy_types::instant::Format::EpochSeconds); + } + if let Some(var_1212) = &input.name { + object.key("Name").string(var_1212.as_str()); + } + if let Some(var_1213) = &input.message { + object.key("Message").string(var_1213); + } + if let Some(var_1214) = &input.additional_info { + object.key("AdditionalInfo").string(var_1214); + } +} + +pub fn serialize_structure_document_reviews( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DocumentReviews, +) { + if let Some(var_1215) = &input.action { + object.key("Action").string(var_1215.as_str()); + } + if let Some(var_1216) = &input.comment { + let mut array_1217 = object.key("Comment").start_array(); + for item_1218 in var_1216 { + let mut object_1219 = array_1217.value().start_object(); + crate::json_ser::serialize_structure_document_review_comment_source( + &mut object_1219, + item_1218, + ); + object_1219.finish(); + } + array_1217.finish(); + } +} + +pub fn serialize_structure_s3_output_location( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::S3OutputLocation, +) { + if let Some(var_1220) = &input.output_s3_region { + object.key("OutputS3Region").string(var_1220); + } + if let Some(var_1221) = &input.output_s3_bucket_name { + object.key("OutputS3BucketName").string(var_1221); + } + if let Some(var_1222) = &input.output_s3_key_prefix { + object.key("OutputS3KeyPrefix").string(var_1222); + } +} + +pub fn serialize_structure_patch_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PatchFilter, +) { + if let Some(var_1223) = &input.key { + object.key("Key").string(var_1223.as_str()); + } + if let Some(var_1224) = &input.values { + let mut array_1225 = object.key("Values").start_array(); + for item_1226 in var_1224 { + array_1225.value().string(item_1226); + } + array_1225.finish(); + } +} + +pub fn serialize_structure_patch_rule( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::PatchRule, +) { + if let Some(var_1227) = &input.patch_filter_group { + let mut object_1228 = object.key("PatchFilterGroup").start_object(); + crate::json_ser::serialize_structure_patch_filter_group(&mut object_1228, var_1227); + object_1228.finish(); + } + if let Some(var_1229) = &input.compliance_level { + object.key("ComplianceLevel").string(var_1229.as_str()); + } + if let Some(var_1230) = &input.approve_after_days { + object.key("ApproveAfterDays").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_1230).into()), + ); + } + if let Some(var_1231) = &input.approve_until_date { + object.key("ApproveUntilDate").string(var_1231); + } + if let Some(var_1232) = &input.enable_non_security { + object.key("EnableNonSecurity").boolean(*var_1232); + } +} + +pub fn serialize_structure_resource_data_sync_destination_data_sharing( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResourceDataSyncDestinationDataSharing, +) { + if let Some(var_1233) = &input.destination_data_sharing_type { + object.key("DestinationDataSharingType").string(var_1233); + } +} + +pub fn serialize_structure_resource_data_sync_aws_organizations_source( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResourceDataSyncAwsOrganizationsSource, +) { + if let Some(var_1234) = &input.organization_source_type { + object.key("OrganizationSourceType").string(var_1234); + } + if let Some(var_1235) = &input.organizational_units { + let mut array_1236 = object.key("OrganizationalUnits").start_array(); + for item_1237 in var_1235 { + let mut object_1238 = array_1236.value().start_object(); + crate::json_ser::serialize_structure_resource_data_sync_organizational_unit( + &mut object_1238, + item_1237, + ); + object_1238.finish(); + } + array_1236.finish(); + } +} + +pub fn serialize_structure_inventory_group( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InventoryGroup, +) { + if let Some(var_1239) = &input.name { + object.key("Name").string(var_1239); + } + if let Some(var_1240) = &input.filters { + let mut array_1241 = object.key("Filters").start_array(); + for item_1242 in var_1240 { + let mut object_1243 = array_1241.value().start_object(); + crate::json_ser::serialize_structure_inventory_filter(&mut object_1243, item_1242); + object_1243.finish(); + } + array_1241.finish(); + } +} + +pub fn serialize_structure_maintenance_window_run_command_parameters( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowRunCommandParameters, +) { + if let Some(var_1244) = &input.comment { + object.key("Comment").string(var_1244); + } + if let Some(var_1245) = &input.cloud_watch_output_config { + let mut object_1246 = object.key("CloudWatchOutputConfig").start_object(); + crate::json_ser::serialize_structure_cloud_watch_output_config(&mut object_1246, var_1245); + object_1246.finish(); + } + if let Some(var_1247) = &input.document_hash { + object.key("DocumentHash").string(var_1247); + } + if let Some(var_1248) = &input.document_hash_type { + object.key("DocumentHashType").string(var_1248.as_str()); + } + if let Some(var_1249) = &input.document_version { + object.key("DocumentVersion").string(var_1249); + } + if let Some(var_1250) = &input.notification_config { + let mut object_1251 = object.key("NotificationConfig").start_object(); + crate::json_ser::serialize_structure_notification_config(&mut object_1251, var_1250); + object_1251.finish(); + } + if let Some(var_1252) = &input.output_s3_bucket_name { + object.key("OutputS3BucketName").string(var_1252); + } + if let Some(var_1253) = &input.output_s3_key_prefix { + object.key("OutputS3KeyPrefix").string(var_1253); + } + if let Some(var_1254) = &input.parameters { + let mut object_1255 = object.key("Parameters").start_object(); + for (key_1256, value_1257) in var_1254 { + let mut array_1258 = object_1255.key(key_1256).start_array(); + for item_1259 in value_1257 { + array_1258.value().string(item_1259); + } + array_1258.finish(); + } + object_1255.finish(); + } + if let Some(var_1260) = &input.service_role_arn { + object.key("ServiceRoleArn").string(var_1260); + } + if let Some(var_1261) = &input.timeout_seconds { + object.key("TimeoutSeconds").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_1261).into()), + ); + } +} + +pub fn serialize_structure_maintenance_window_automation_parameters( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowAutomationParameters, +) { + if let Some(var_1262) = &input.document_version { + object.key("DocumentVersion").string(var_1262); + } + if let Some(var_1263) = &input.parameters { + let mut object_1264 = object.key("Parameters").start_object(); + for (key_1265, value_1266) in var_1263 { + let mut array_1267 = object_1264.key(key_1265).start_array(); + for item_1268 in value_1266 { + array_1267.value().string(item_1268); + } + array_1267.finish(); + } + object_1264.finish(); + } +} + +pub fn serialize_structure_maintenance_window_step_functions_parameters( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowStepFunctionsParameters, +) { + if let Some(var_1269) = &input.input { + object.key("Input").string(var_1269); + } + if let Some(var_1270) = &input.name { + object.key("Name").string(var_1270); + } +} + +pub fn serialize_structure_maintenance_window_lambda_parameters( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::MaintenanceWindowLambdaParameters, +) { + if let Some(var_1271) = &input.client_context { + object.key("ClientContext").string(var_1271); + } + if let Some(var_1272) = &input.qualifier { + object.key("Qualifier").string(var_1272); + } + if let Some(var_1273) = &input.payload { + object + .key("Payload") + .string_unchecked(&smithy_http::base64::encode(var_1273)); + } +} + +pub fn serialize_structure_document_review_comment_source( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::DocumentReviewCommentSource, +) { + if let Some(var_1274) = &input.r#type { + object.key("Type").string(var_1274.as_str()); + } + if let Some(var_1275) = &input.content { + object.key("Content").string(var_1275); + } +} + +pub fn serialize_structure_resource_data_sync_organizational_unit( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ResourceDataSyncOrganizationalUnit, +) { + if let Some(var_1276) = &input.organizational_unit_id { + object.key("OrganizationalUnitId").string(var_1276); + } +} diff --git a/sdk/ssm/src/lib.rs b/sdk/ssm/src/lib.rs index 96a67a062500..c82673e5a9ba 100644 --- a/sdk/ssm/src/lib.rs +++ b/sdk/ssm/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::upper_case_acronyms)] #![allow(clippy::large_enum_variant)] #![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] //! AWS Systems Manager //!

      AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as //! collecting system inventory, applying operating system (OS) patches, automating the creation of @@ -51,6 +52,7 @@ mod idempotency_token; pub mod input; mod instant_epoch; mod json_deser; +mod json_ser; pub mod model; pub mod operation; mod operation_ser; @@ -58,6 +60,7 @@ pub mod output; mod serde_util; mod serializer; 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 = diff --git a/sdk/ssm/src/model.rs b/sdk/ssm/src/model.rs index 820298570561..dbe4900a4b9c 100644 --- a/sdk/ssm/src/model.rs +++ b/sdk/ssm/src/model.rs @@ -1,25 +1,22 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

      Information about the source of the data included in the resource data sync.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncSource { ///

      The type of data source for the resource data sync. SourceType is either /// AwsOrganizations (if an organization is present in AWS Organizations) or /// singleAccountMultiRegions.

      #[serde(rename = "SourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_type: std::option::Option, ///

      Information about the AwsOrganizationsSource resource data sync source. A sync source of /// this type can synchronize data from AWS Organizations.

      #[serde(rename = "AwsOrganizationsSource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aws_organizations_source: std::option::Option, ///

      The SyncSource AWS Regions included in the resource data sync.

      #[serde(rename = "SourceRegions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_regions: std::option::Option>, ///

      Whether to automatically synchronize and aggregate data from new AWS Regions when those @@ -146,19 +143,17 @@ impl ResourceDataSyncSource { /// this type can synchronize data from AWS Organizations or, if an AWS Organization is not present, from /// multiple AWS Regions.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncAwsOrganizationsSource { ///

      If an AWS Organization is present, this is either OrganizationalUnits or /// EntireOrganization. For OrganizationalUnits, the data is aggregated /// from a set of organization units. For EntireOrganization, the data is aggregated /// from the entire AWS Organization.

      #[serde(rename = "OrganizationSourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub organization_source_type: std::option::Option, ///

      The AWS Organizations organization units included in the sync.

      #[serde(rename = "OrganizationalUnits")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub organizational_units: std::option::Option>, @@ -233,11 +228,10 @@ impl ResourceDataSyncAwsOrganizationsSource { ///

      The AWS Organizations organizational unit data source for the sync.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncOrganizationalUnit { ///

      The AWS Organization unit ID data source for the sync.

      #[serde(rename = "OrganizationalUnitId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub organizational_unit_id: std::option::Option, } @@ -287,18 +281,16 @@ impl ResourceDataSyncOrganizationalUnit { ///

      Information about the patches to use to update the instances, including target operating /// systems and source repository. Applies to Linux instances only.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchSource { ///

      The name specified to identify the patch source.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

      The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", /// "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product /// values, see PatchFilter.

      #[serde(rename = "Products")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub products: std::option::Option>, ///

      The value of the yum repo configuration. For example:

      @@ -319,7 +311,6 @@ pub struct PatchSource { /// dnf.conf(5).

      ///
      #[serde(rename = "Configuration")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub configuration: std::option::Option, } @@ -431,7 +422,6 @@ impl std::convert::From<&str> for PatchAction { } } } - impl std::str::FromStr for PatchAction { type Err = std::convert::Infallible; @@ -439,7 +429,6 @@ impl std::str::FromStr for PatchAction { Ok(PatchAction::from(s)) } } - impl PatchAction { pub fn as_str(&self) -> &str { match self { @@ -454,19 +443,6 @@ impl AsRef for PatchAction { self.as_str() } } - -impl serde::Serialize for PatchAction { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchAction { fn deserialize(deserializer: D) -> Result where @@ -509,7 +485,6 @@ impl std::convert::From<&str> for PatchComplianceLevel { } } } - impl std::str::FromStr for PatchComplianceLevel { type Err = std::convert::Infallible; @@ -517,7 +492,6 @@ impl std::str::FromStr for PatchComplianceLevel { Ok(PatchComplianceLevel::from(s)) } } - impl PatchComplianceLevel { pub fn as_str(&self) -> &str { match self { @@ -536,19 +510,6 @@ impl AsRef for PatchComplianceLevel { self.as_str() } } - -impl serde::Serialize for PatchComplianceLevel { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchComplianceLevel { fn deserialize(deserializer: D) -> Result where @@ -561,11 +522,10 @@ impl<'de> serde::Deserialize<'de> for PatchComplianceLevel { ///

      A set of rules defining the approval rules for a patch baseline.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchRuleGroup { ///

      The rules that make up the rule group.

      #[serde(rename = "PatchRules")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch_rules: std::option::Option>, } @@ -615,16 +575,14 @@ impl PatchRuleGroup { ///

      Defines an approval rule for a patch baseline.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchRule { ///

      The patch filter group that defines the criteria for the rule.

      #[serde(rename = "PatchFilterGroup")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch_filter_group: std::option::Option, ///

      A compliance severity level for all approved patches in a patch baseline.

      #[serde(rename = "ComplianceLevel")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_level: std::option::Option, ///

      The number of days after the release date of each patch matched by the rule that the patch @@ -632,7 +590,6 @@ pub struct PatchRule { /// patches are approved seven days after they are released. Not supported on Debian Server or Ubuntu /// Server.

      #[serde(rename = "ApproveAfterDays")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub approve_after_days: std::option::Option, ///

      The cutoff date for auto approval of released patches. Any patches released on or before @@ -640,14 +597,12 @@ pub struct PatchRule { ///

      Enter dates in the format YYYY-MM-DD. For example, /// 2020-12-31.

      #[serde(rename = "ApproveUntilDate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub approve_until_date: std::option::Option, ///

      For instances identified by the approval rule filters, enables a patch baseline to apply /// non-security updates available in the specified repository. The default value is 'false'. Applies /// to Linux instances only.

      #[serde(rename = "EnableNonSecurity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub enable_non_security: std::option::Option, } @@ -758,11 +713,10 @@ impl PatchRule { ///

      A set of patch filters, typically used for approval rules.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchFilterGroup { ///

      The set of patch filters that make up the group.

      #[serde(rename = "PatchFilters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch_filters: std::option::Option>, } @@ -822,20 +776,18 @@ impl PatchFilterGroup { /// DescribePatchProperties command. For information about which patch properties can /// be used with each major operating system, see DescribePatchProperties.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchFilter { ///

      The key for the filter.

      ///

      Run the DescribePatchProperties command to view lists of valid keys for /// each operating system type.

      #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

      The value for the filter key.

      ///

      Run the DescribePatchProperties command to view lists of valid values for /// each key based on operating system type.

      #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -955,7 +907,6 @@ impl std::convert::From<&str> for PatchFilterKey { } } } - impl std::str::FromStr for PatchFilterKey { type Err = std::convert::Infallible; @@ -963,7 +914,6 @@ impl std::str::FromStr for PatchFilterKey { Ok(PatchFilterKey::from(s)) } } - impl PatchFilterKey { pub fn as_str(&self) -> &str { match self { @@ -995,19 +945,6 @@ impl AsRef for PatchFilterKey { self.as_str() } } - -impl serde::Serialize for PatchFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchFilterKey { fn deserialize(deserializer: D) -> Result where @@ -1058,7 +995,6 @@ impl std::convert::From<&str> for OperatingSystem { } } } - impl std::str::FromStr for OperatingSystem { type Err = std::convert::Infallible; @@ -1066,7 +1002,6 @@ impl std::str::FromStr for OperatingSystem { Ok(OperatingSystem::from(s)) } } - impl OperatingSystem { pub fn as_str(&self) -> &str { match self { @@ -1089,19 +1024,6 @@ impl AsRef for OperatingSystem { self.as_str() } } - -impl serde::Serialize for OperatingSystem { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OperatingSystem { fn deserialize(deserializer: D) -> Result where @@ -1114,11 +1036,10 @@ impl<'de> serde::Deserialize<'de> for OperatingSystem { ///

      Metadata to assign to an Application Manager application.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MetadataValue { ///

      Metadata value to assign to an Application Manager application.

      #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -1216,7 +1137,6 @@ impl std::convert::From<&str> for OpsItemStatus { } } } - impl std::str::FromStr for OpsItemStatus { type Err = std::convert::Infallible; @@ -1224,7 +1144,6 @@ impl std::str::FromStr for OpsItemStatus { Ok(OpsItemStatus::from(s)) } } - impl OpsItemStatus { pub fn as_str(&self) -> &str { match self { @@ -1255,19 +1174,6 @@ impl AsRef for OpsItemStatus { self.as_str() } } - -impl serde::Serialize for OpsItemStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemStatus { fn deserialize(deserializer: D) -> Result where @@ -1282,11 +1188,10 @@ impl<'de> serde::Deserialize<'de> for OpsItemStatus { /// OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for /// the impacted resource.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct RelatedOpsItem { ///

      The ID of an OpsItem related to the current OpsItem.

      #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, } @@ -1332,12 +1237,11 @@ impl RelatedOpsItem { ///

      A notification about the OpsItem.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemNotification { ///

      The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this /// OpsItem is edited or changed.

      #[serde(rename = "Arn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, } @@ -1382,17 +1286,15 @@ impl OpsItemNotification { ///

      An object that defines the value of the key and its type in the OperationalData map.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemDataValue { ///

      The value of the OperationalData key.

      #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

      The type of key-value pair. Valid types include SearchableString and /// String.

      #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -1473,7 +1375,6 @@ impl std::convert::From<&str> for OpsItemDataType { } } } - impl std::str::FromStr for OpsItemDataType { type Err = std::convert::Infallible; @@ -1481,7 +1382,6 @@ impl std::str::FromStr for OpsItemDataType { Ok(OpsItemDataType::from(s)) } } - impl OpsItemDataType { pub fn as_str(&self) -> &str { match self { @@ -1496,19 +1396,6 @@ impl AsRef for OpsItemDataType { self.as_str() } } - -impl serde::Serialize for OpsItemDataType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemDataType { fn deserialize(deserializer: D) -> Result where @@ -1528,21 +1415,18 @@ impl<'de> serde::Deserialize<'de> for OpsItemDataType { /// window task types, see MaintenanceWindowTaskInvocationParameters.

      ///
      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct LoggingInfo { ///

      The name of an S3 bucket where execution logs are stored .

      #[serde(rename = "S3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_bucket_name: std::option::Option, ///

      (Optional) The S3 bucket subfolder.

      #[serde(rename = "S3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_key_prefix: std::option::Option, ///

      The Region where the S3 bucket is located.

      #[serde(rename = "S3Region")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_region: std::option::Option, } @@ -1612,26 +1496,22 @@ impl LoggingInfo { ///

      The parameters for task execution.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowTaskInvocationParameters { ///

      The parameters for a RUN_COMMAND task type.

      #[serde(rename = "RunCommand")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub run_command: std::option::Option, ///

      The parameters for an AUTOMATION task type.

      #[serde(rename = "Automation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation: std::option::Option, ///

      The parameters for a STEP_FUNCTIONS task type.

      #[serde(rename = "StepFunctions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub step_functions: std::option::Option, ///

      The parameters for a LAMBDA task type.

      #[serde(rename = "Lambda")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub lambda: std::option::Option, } @@ -1752,13 +1632,12 @@ impl MaintenanceWindowTaskInvocationParameters { /// LoggingInfo.

      ///
      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowLambdaParameters { ///

      Pass client-specific information to the Lambda function that you are invoking. You can then /// process the client information in your Lambda function as you choose through the context /// variable.

      #[serde(rename = "ClientContext")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub client_context: std::option::Option, ///

      (Optional) Specify a Lambda function version or alias name. If you specify a function @@ -1766,13 +1645,10 @@ pub struct MaintenanceWindowLambdaParameters { /// specify an alias name, the action uses the alias ARN to invoke the Lambda function version to /// which the alias points.

      #[serde(rename = "Qualifier")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub qualifier: std::option::Option, ///

      JSON to provide to your Lambda function as input.

      #[serde(rename = "Payload")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde(serialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_ser")] #[serde(deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesblob_deser")] #[serde(default)] pub payload: std::option::Option, @@ -1863,16 +1739,14 @@ impl MaintenanceWindowLambdaParameters { /// TaskParameters and LoggingInfo.

      /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowStepFunctionsParameters { ///

      The inputs for the STEP_FUNCTIONS task.

      #[serde(rename = "Input")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub input: std::option::Option, ///

      The name of the STEP_FUNCTIONS task.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -1930,11 +1804,10 @@ impl MaintenanceWindowStepFunctionsParameters { ///

      The parameters for an AUTOMATION task type.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowAutomationParameters { ///

      The version of an Automation document to use during task execution.

      #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

      The parameters for the AUTOMATION task.

      @@ -1953,7 +1826,6 @@ pub struct MaintenanceWindowAutomationParameters { ///

      For AUTOMATION task types, Systems Manager ignores any values specified for these parameters.

      /// #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, @@ -2044,27 +1916,23 @@ impl MaintenanceWindowAutomationParameters { /// TaskInvocationParameters.

      /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowRunCommandParameters { ///

      Information about the commands to run.

      #[serde(rename = "Comment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comment: std::option::Option, ///

      Configuration options for sending command output to CloudWatch Logs.

      #[serde(rename = "CloudWatchOutputConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_watch_output_config: std::option::Option, ///

      The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes /// have been deprecated.

      #[serde(rename = "DocumentHash")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_hash: std::option::Option, ///

      SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

      #[serde(rename = "DocumentHashType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_hash_type: std::option::Option, ///

      The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a @@ -2075,28 +1943,23 @@ pub struct MaintenanceWindowRunCommandParameters { ///

      --document-version "\$LATEST"

      ///

      --document-version "3"

      #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

      Configurations for sending notifications about command status changes on a per-instance /// basis.

      #[serde(rename = "NotificationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notification_config: std::option::Option, ///

      The name of the S3 bucket.

      #[serde(rename = "OutputS3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_bucket_name: std::option::Option, ///

      The S3 bucket subfolder.

      #[serde(rename = "OutputS3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_key_prefix: std::option::Option, ///

      The parameters for the RUN_COMMAND task execution.

      #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, @@ -2104,13 +1967,11 @@ pub struct MaintenanceWindowRunCommandParameters { ///

      The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for /// maintenance window Run Command tasks.

      #[serde(rename = "ServiceRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub service_role_arn: std::option::Option, ///

      If this time is reached and the command has not already started running, it doesn't /// run.

      #[serde(rename = "TimeoutSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timeout_seconds: std::option::Option, } @@ -2323,12 +2184,11 @@ impl MaintenanceWindowRunCommandParameters { ///

      Configurations for sending notifications.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct NotificationConfig { ///

      An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes /// notifications about command status changes to this topic.

      #[serde(rename = "NotificationArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notification_arn: std::option::Option, ///

      The different events for which you can receive notifications. These events include the @@ -2337,14 +2197,12 @@ pub struct NotificationConfig { /// Manager status changes using Amazon SNS notifications in the /// AWS Systems Manager User Guide.

      #[serde(rename = "NotificationEvents")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notification_events: std::option::Option>, ///

      Command: Receive notification when the status of a command changes. Invocation: For commands /// sent to multiple instances, receive notification on a per-instance basis when the status of a /// command changes.

      #[serde(rename = "NotificationType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notification_type: std::option::Option, } @@ -2453,7 +2311,6 @@ impl std::convert::From<&str> for NotificationType { } } } - impl std::str::FromStr for NotificationType { type Err = std::convert::Infallible; @@ -2461,7 +2318,6 @@ impl std::str::FromStr for NotificationType { Ok(NotificationType::from(s)) } } - impl NotificationType { pub fn as_str(&self) -> &str { match self { @@ -2476,19 +2332,6 @@ impl AsRef for NotificationType { self.as_str() } } - -impl serde::Serialize for NotificationType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for NotificationType { fn deserialize(deserializer: D) -> Result where @@ -2531,7 +2374,6 @@ impl std::convert::From<&str> for NotificationEvent { } } } - impl std::str::FromStr for NotificationEvent { type Err = std::convert::Infallible; @@ -2539,7 +2381,6 @@ impl std::str::FromStr for NotificationEvent { Ok(NotificationEvent::from(s)) } } - impl NotificationEvent { pub fn as_str(&self) -> &str { match self { @@ -2558,19 +2399,6 @@ impl AsRef for NotificationEvent { self.as_str() } } - -impl serde::Serialize for NotificationEvent { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for NotificationEvent { fn deserialize(deserializer: D) -> Result where @@ -2605,7 +2433,6 @@ impl std::convert::From<&str> for DocumentHashType { } } } - impl std::str::FromStr for DocumentHashType { type Err = std::convert::Infallible; @@ -2613,7 +2440,6 @@ impl std::str::FromStr for DocumentHashType { Ok(DocumentHashType::from(s)) } } - impl DocumentHashType { pub fn as_str(&self) -> &str { match self { @@ -2628,19 +2454,6 @@ impl AsRef for DocumentHashType { self.as_str() } } - -impl serde::Serialize for DocumentHashType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentHashType { fn deserialize(deserializer: D) -> Result where @@ -2653,13 +2466,12 @@ impl<'de> serde::Deserialize<'de> for DocumentHashType { ///

      Configuration options for sending command output to CloudWatch Logs.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CloudWatchOutputConfig { ///

      The name of the CloudWatch log group where you want to send command output. If you don't /// specify a group name, Systems Manager automatically creates a log group for you. The log group uses the /// following naming format: aws/ssm/SystemsManagerDocumentName.

      #[serde(rename = "CloudWatchLogGroupName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_watch_log_group_name: std::option::Option, ///

      Enables Systems Manager to send command output to CloudWatch Logs.

      @@ -2731,12 +2543,11 @@ impl CloudWatchOutputConfig { ///

      Defines the values for a task parameter.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowTaskParameterValueExpression { ///

      This field contains an array of 0 or more strings, each 1 to 255 characters in /// length.

      #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -2888,12 +2699,11 @@ impl MaintenanceWindowTaskParameterValueExpression { ///

      For more information about how to send commands that target instances using /// Key,Value parameters, see Targeting multiple instances in the AWS Systems Manager User Guide.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Target { ///

      User-defined criteria for sending commands that target instances that meet the /// criteria.

      #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

      User-defined criteria that maps to Key. For example, if you specified @@ -2902,7 +2712,6 @@ pub struct Target { ///

      Depending on the type of Target, the maximum number of values for a /// Key might be lower than the global maximum of 50.

      #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -2965,16 +2774,14 @@ impl Target { ///

      Information about a document approval review.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentReviews { ///

      The action to take on a document approval review request.

      #[serde(rename = "Action")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub action: std::option::Option, ///

      A comment entered by a user in your organization about the document review request.

      #[serde(rename = "Comment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comment: std::option::Option>, } @@ -3043,18 +2850,16 @@ impl DocumentReviews { ///

      Information about comments added to a document review request.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentReviewCommentSource { ///

      The type of information added to a review request. Currently, only the value /// Comment is supported.

      #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

      The content of a comment entered by a user who requests a review of a new document version, /// or who reviews the new version.

      #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content: std::option::Option, } @@ -3137,7 +2942,6 @@ impl std::convert::From<&str> for DocumentReviewCommentType { } } } - impl std::str::FromStr for DocumentReviewCommentType { type Err = std::convert::Infallible; @@ -3145,7 +2949,6 @@ impl std::str::FromStr for DocumentReviewCommentType { Ok(DocumentReviewCommentType::from(s)) } } - impl DocumentReviewCommentType { pub fn as_str(&self) -> &str { match self { @@ -3159,19 +2962,6 @@ impl AsRef for DocumentReviewCommentType { self.as_str() } } - -impl serde::Serialize for DocumentReviewCommentType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentReviewCommentType { fn deserialize(deserializer: D) -> Result where @@ -3210,7 +3000,6 @@ impl std::convert::From<&str> for DocumentReviewAction { } } } - impl std::str::FromStr for DocumentReviewAction { type Err = std::convert::Infallible; @@ -3218,7 +3007,6 @@ impl std::str::FromStr for DocumentReviewAction { Ok(DocumentReviewAction::from(s)) } } - impl DocumentReviewAction { pub fn as_str(&self) -> &str { match self { @@ -3235,19 +3023,6 @@ impl AsRef for DocumentReviewAction { self.as_str() } } - -impl serde::Serialize for DocumentReviewAction { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentReviewAction { fn deserialize(deserializer: D) -> Result where @@ -3260,21 +3035,18 @@ impl<'de> serde::Deserialize<'de> for DocumentReviewAction { ///

      A default version of a document.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentDefaultVersionDescription { ///

      The name of the document.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

      The default version of the document.

      #[serde(rename = "DefaultVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub default_version: std::option::Option, ///

      The default version of the artifact associated with the document.

      #[serde(rename = "DefaultVersionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub default_version_name: std::option::Option, } @@ -3350,11 +3122,10 @@ impl DocumentDefaultVersionDescription { ///

      Describes a Systems Manager document.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentDescription { ///

      The SHA1 hash of the document, which you can use for verification.

      #[serde(rename = "Sha1")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sha1: std::option::Option, ///

      The Sha256 or Sha1 hash created by the system when the document was created.

      @@ -3362,7 +3133,6 @@ pub struct DocumentDescription { ///

      Sha1 hashes have been deprecated.

      /// #[serde(rename = "Hash")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub hash: std::option::Option, ///

      The hash type of the document. Valid values include Sha256 or @@ -3371,36 +3141,27 @@ pub struct DocumentDescription { ///

      Sha1 hashes have been deprecated.

      /// #[serde(rename = "HashType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub hash_type: std::option::Option, ///

      The name of the Systems Manager document.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

      The friendly name of the Systems Manager document. This value can differ for each version of the /// document. If you want to update this value, see UpdateDocument.

      #[serde(rename = "DisplayName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub display_name: std::option::Option, ///

      The version of the artifact associated with the document.

      #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version_name: std::option::Option, ///

      The AWS user account that created the document.

      #[serde(rename = "Owner")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owner: std::option::Option, ///

      The date when the document was created.

      #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -3408,76 +3169,62 @@ pub struct DocumentDescription { pub created_date: std::option::Option, ///

      The status of the Systems Manager document.

      #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

      A message returned by AWS Systems Manager that explains the Status value. For example, a /// Failed status might be explained by the StatusInformation message, /// "The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct."

      #[serde(rename = "StatusInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_information: std::option::Option, ///

      The document version.

      #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

      A description of the document.

      #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

      A description of the parameters for a document.

      #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option>, ///

      The list of OS platforms compatible with this Systems Manager document.

      #[serde(rename = "PlatformTypes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub platform_types: std::option::Option>, ///

      The type of document.

      #[serde(rename = "DocumentType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_type: std::option::Option, ///

      The schema version.

      #[serde(rename = "SchemaVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schema_version: std::option::Option, ///

      The latest version of the document.

      #[serde(rename = "LatestVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub latest_version: std::option::Option, ///

      The default version.

      #[serde(rename = "DefaultVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub default_version: std::option::Option, ///

      The document format, either JSON or YAML.

      #[serde(rename = "DocumentFormat")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_format: std::option::Option, ///

      The target type which defines the kinds of resources the document can run on. For example, /// /AWS::EC2::Instance. For a list of valid resource types, see AWS resource and property types /// reference in the AWS CloudFormation User Guide.

      #[serde(rename = "TargetType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_type: std::option::Option, ///

      The tags, or metadata, that have been applied to the document.

      #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, ///

      Details about the document attachments, including names, locations, sizes, and so on.

      #[serde(rename = "AttachmentsInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attachments_information: std::option::Option>, @@ -3485,32 +3232,26 @@ pub struct DocumentDescription { /// ApplicationConfiguration document requires an /// ApplicationConfigurationSchema document.

      #[serde(rename = "Requires")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub requires: std::option::Option>, ///

      The user in your organization who created the document.

      #[serde(rename = "Author")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub author: std::option::Option, ///

      Details about the review of a document.

      #[serde(rename = "ReviewInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub review_information: std::option::Option>, ///

      The version of the document currently approved for use in the organization.

      #[serde(rename = "ApprovedVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub approved_version: std::option::Option, ///

      The version of the document that is currently under review.

      #[serde(rename = "PendingReviewVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub pending_review_version: std::option::Option, ///

      The current status of the review.

      #[serde(rename = "ReviewStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub review_status: std::option::Option, } @@ -3980,7 +3721,6 @@ impl std::convert::From<&str> for ReviewStatus { } } } - impl std::str::FromStr for ReviewStatus { type Err = std::convert::Infallible; @@ -3988,7 +3728,6 @@ impl std::str::FromStr for ReviewStatus { Ok(ReviewStatus::from(s)) } } - impl ReviewStatus { pub fn as_str(&self) -> &str { match self { @@ -4005,19 +3744,6 @@ impl AsRef for ReviewStatus { self.as_str() } } - -impl serde::Serialize for ReviewStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ReviewStatus { fn deserialize(deserializer: D) -> Result where @@ -4030,14 +3756,10 @@ impl<'de> serde::Deserialize<'de> for ReviewStatus { ///

      Information about the result of a document review request.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ReviewInformation { ///

      The time that the reviewer took action on the document review request.

      #[serde(rename = "ReviewedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -4045,12 +3767,10 @@ pub struct ReviewInformation { pub reviewed_time: std::option::Option, ///

      The current status of the document review request.

      #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

      The reviewer assigned to take action on the document review request.

      #[serde(rename = "Reviewer")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub reviewer: std::option::Option, } @@ -4123,16 +3843,14 @@ impl ReviewInformation { ///

      An SSM document required by the current document.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentRequires { ///

      The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

      The document version required by the current document.

      #[serde(rename = "Version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, } @@ -4190,11 +3908,10 @@ impl DocumentRequires { ///

      An attribute of an attachment, such as the attachment name.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AttachmentInformation { ///

      The name of the attachment.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -4241,16 +3958,14 @@ impl AttachmentInformation { /// to documents, managed instances, maintenance windows, Parameter Store parameters, and patch /// baselines.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { ///

      The name of the tag.

      #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

      The value of the tag.

      #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -4332,7 +4047,6 @@ impl std::convert::From<&str> for DocumentFormat { } } } - impl std::str::FromStr for DocumentFormat { type Err = std::convert::Infallible; @@ -4340,7 +4054,6 @@ impl std::str::FromStr for DocumentFormat { Ok(DocumentFormat::from(s)) } } - impl DocumentFormat { pub fn as_str(&self) -> &str { match self { @@ -4356,19 +4069,6 @@ impl AsRef for DocumentFormat { self.as_str() } } - -impl serde::Serialize for DocumentFormat { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentFormat { fn deserialize(deserializer: D) -> Result where @@ -4423,7 +4123,6 @@ impl std::convert::From<&str> for DocumentType { } } } - impl std::str::FromStr for DocumentType { type Err = std::convert::Infallible; @@ -4431,7 +4130,6 @@ impl std::str::FromStr for DocumentType { Ok(DocumentType::from(s)) } } - impl DocumentType { pub fn as_str(&self) -> &str { match self { @@ -4456,19 +4154,6 @@ impl AsRef for DocumentType { self.as_str() } } - -impl serde::Serialize for DocumentType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentType { fn deserialize(deserializer: D) -> Result where @@ -4503,7 +4188,6 @@ impl std::convert::From<&str> for PlatformType { } } } - impl std::str::FromStr for PlatformType { type Err = std::convert::Infallible; @@ -4511,7 +4195,6 @@ impl std::str::FromStr for PlatformType { Ok(PlatformType::from(s)) } } - impl PlatformType { pub fn as_str(&self) -> &str { match self { @@ -4526,19 +4209,6 @@ impl AsRef for PlatformType { self.as_str() } } - -impl serde::Serialize for PlatformType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PlatformType { fn deserialize(deserializer: D) -> Result where @@ -4552,28 +4222,24 @@ impl<'de> serde::Deserialize<'de> for PlatformType { ///

      Parameters specified in a System Manager document that run on the server when the command is /// run.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentParameter { ///

      The name of the parameter.

      #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

      The type of parameter. The type can be either String or StringList.

      #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

      A description of what the parameter does, how to use it, the default value, and whether or /// not the parameter is optional.

      #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

      If specified, the default values for the parameters. Parameters without a default value are /// required. Parameters with a default value are optional.

      #[serde(rename = "DefaultValue")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub default_value: std::option::Option, } @@ -4682,7 +4348,6 @@ impl std::convert::From<&str> for DocumentParameterType { } } } - impl std::str::FromStr for DocumentParameterType { type Err = std::convert::Infallible; @@ -4690,7 +4355,6 @@ impl std::str::FromStr for DocumentParameterType { Ok(DocumentParameterType::from(s)) } } - impl DocumentParameterType { pub fn as_str(&self) -> &str { match self { @@ -4705,19 +4369,6 @@ impl AsRef for DocumentParameterType { self.as_str() } } - -impl serde::Serialize for DocumentParameterType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentParameterType { fn deserialize(deserializer: D) -> Result where @@ -4759,7 +4410,6 @@ impl std::convert::From<&str> for DocumentStatus { } } } - impl std::str::FromStr for DocumentStatus { type Err = std::convert::Infallible; @@ -4767,7 +4417,6 @@ impl std::str::FromStr for DocumentStatus { Ok(DocumentStatus::from(s)) } } - impl DocumentStatus { pub fn as_str(&self) -> &str { match self { @@ -4785,19 +4434,6 @@ impl AsRef for DocumentStatus { self.as_str() } } - -impl serde::Serialize for DocumentStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentStatus { fn deserialize(deserializer: D) -> Result where @@ -4811,12 +4447,11 @@ impl<'de> serde::Deserialize<'de> for DocumentStatus { ///

      Identifying information about a document attachment, including the file name and a key-value /// pair that identifies the location of an attachment to a document.

      #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AttachmentsSource { ///

      The key of a key-value pair that identifies the location of an attachment to a /// document.

      #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

      The value of a key-value pair that identifies the location of an attachment to a document. @@ -4854,12 +4489,10 @@ pub struct AttachmentsSource { ///

    • ///
    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The name of the document attachment file.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -4961,7 +4594,6 @@ impl std::convert::From<&str> for AttachmentsSourceKey { } } } - impl std::str::FromStr for AttachmentsSourceKey { type Err = std::convert::Infallible; @@ -4969,7 +4601,6 @@ impl std::str::FromStr for AttachmentsSourceKey { Ok(AttachmentsSourceKey::from(s)) } } - impl AttachmentsSourceKey { pub fn as_str(&self) -> &str { match self { @@ -4985,19 +4616,6 @@ impl AsRef for AttachmentsSourceKey { self.as_str() } } - -impl serde::Serialize for AttachmentsSourceKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AttachmentsSourceKey { fn deserialize(deserializer: D) -> Result where @@ -5010,29 +4628,22 @@ impl<'de> serde::Deserialize<'de> for AttachmentsSourceKey { ///

    Describes the parameters for a document.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationDescription { ///

    The name of the Systems Manager document.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The ID of the instance.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    The association version.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, ///

    The date when the association was made.

    #[serde(rename = "Date")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -5040,10 +4651,6 @@ pub struct AssociationDescription { pub date: std::option::Option, ///

    The date when the association was last updated.

    #[serde(rename = "LastUpdateAssociationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -5051,58 +4658,45 @@ pub struct AssociationDescription { pub last_update_association_date: std::option::Option, ///

    The association status.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    Information about the association.

    #[serde(rename = "Overview")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub overview: std::option::Option, ///

    The document version.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    Specify the target for the association. This target is required for associations that use an /// Automation document and target resources by using rate controls.

    #[serde(rename = "AutomationTargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_target_parameter_name: std::option::Option, ///

    A description of the parameters for a document.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, >, ///

    The association ID.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The instances targeted by the request.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    A cron expression that specifies a schedule when the association runs.

    #[serde(rename = "ScheduleExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule_expression: std::option::Option, ///

    An S3 bucket where you want to store the output details of the request.

    #[serde(rename = "OutputLocation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_location: std::option::Option, ///

    The date on which the association was last run.

    #[serde(rename = "LastExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -5110,10 +4704,6 @@ pub struct AssociationDescription { pub last_execution_date: std::option::Option, ///

    The last date on which the association was successfully run.

    #[serde(rename = "LastSuccessfulExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -5121,7 +4711,6 @@ pub struct AssociationDescription { pub last_successful_execution_date: std::option::Option, ///

    The association name.

    #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_name: std::option::Option, ///

    The number of errors that are allowed before the system stops sending requests to run the @@ -5136,7 +4725,6 @@ pub struct AssociationDescription { /// be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one /// at a time.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The maximum number of targets allowed to run the association at the same time. You can @@ -5147,12 +4735,10 @@ pub struct AssociationDescription { /// interval, the new instance will process its association within the limit specified for /// MaxConcurrency.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The severity level that is assigned to the association.

    #[serde(rename = "ComplianceSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_severity: std::option::Option, ///

    The mode for generating association compliance. You can specify AUTO or @@ -5165,7 +4751,6 @@ pub struct AssociationDescription { /// managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    ///

    By default, all associations use AUTO mode.

    #[serde(rename = "SyncCompliance")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_compliance: std::option::Option, ///

    By default, when you create a new associations, the system runs it immediately after it is @@ -5179,13 +4764,11 @@ pub struct AssociationDescription { /// Calendar is open. For more information, see /// AWS Systems Manager Change Calendar.

    #[serde(rename = "CalendarNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub calendar_names: std::option::Option>, ///

    The combination of AWS Regions and AWS accounts where you want to run the /// association.

    #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_locations: std::option::Option>, } @@ -5626,34 +5209,29 @@ impl AssociationDescription { ///

    The combination of AWS Regions and accounts targeted by the current Automation /// execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct TargetLocation { ///

    The AWS accounts targeted by the current Automation execution.

    #[serde(rename = "Accounts")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub accounts: std::option::Option>, ///

    The AWS Regions targeted by the current Automation execution.

    #[serde(rename = "Regions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub regions: std::option::Option>, ///

    The maximum number of AWS accounts and AWS regions allowed to run the Automation /// concurrently.

    #[serde(rename = "TargetLocationMaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_location_max_concurrency: std::option::Option, ///

    The maximum number of errors allowed before the system stops queueing additional Automation /// executions for the currently running Automation.

    #[serde(rename = "TargetLocationMaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_location_max_errors: std::option::Option, ///

    The Automation execution role used by the currently running Automation. If not specified, /// the default value is AWS-SystemsManager-AutomationExecutionRole.

    #[serde(rename = "ExecutionRoleName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_role_name: std::option::Option, } @@ -5798,7 +5376,6 @@ impl std::convert::From<&str> for AssociationSyncCompliance { } } } - impl std::str::FromStr for AssociationSyncCompliance { type Err = std::convert::Infallible; @@ -5806,7 +5383,6 @@ impl std::str::FromStr for AssociationSyncCompliance { Ok(AssociationSyncCompliance::from(s)) } } - impl AssociationSyncCompliance { pub fn as_str(&self) -> &str { match self { @@ -5821,19 +5397,6 @@ impl AsRef for AssociationSyncCompliance { self.as_str() } } - -impl serde::Serialize for AssociationSyncCompliance { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationSyncCompliance { fn deserialize(deserializer: D) -> Result where @@ -5874,7 +5437,6 @@ impl std::convert::From<&str> for AssociationComplianceSeverity { } } } - impl std::str::FromStr for AssociationComplianceSeverity { type Err = std::convert::Infallible; @@ -5882,7 +5444,6 @@ impl std::str::FromStr for AssociationComplianceSeverity { Ok(AssociationComplianceSeverity::from(s)) } } - impl AssociationComplianceSeverity { pub fn as_str(&self) -> &str { match self { @@ -5900,19 +5461,6 @@ impl AsRef for AssociationComplianceSeverity { self.as_str() } } - -impl serde::Serialize for AssociationComplianceSeverity { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationComplianceSeverity { fn deserialize(deserializer: D) -> Result where @@ -5927,11 +5475,10 @@ impl<'de> serde::Deserialize<'de> for AssociationComplianceSeverity { ///

    For the minimal permissions required to enable Amazon S3 output for an association, see Creating /// associations in the Systems Manager User Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceAssociationOutputLocation { ///

    An S3 bucket where you want to store the results of this request.

    #[serde(rename = "S3Location")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_location: std::option::Option, } @@ -5980,22 +5527,19 @@ impl InstanceAssociationOutputLocation { ///

    An S3 bucket where you want to store the results of this request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct S3OutputLocation { ///

    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager /// automatically determines the Region of the S3 bucket.

    #[serde(rename = "OutputS3Region")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_region: std::option::Option, ///

    The name of the S3 bucket.

    #[serde(rename = "OutputS3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_bucket_name: std::option::Option, ///

    The S3 bucket subfolder.

    #[serde(rename = "OutputS3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_key_prefix: std::option::Option, } @@ -6075,23 +5619,20 @@ impl S3OutputLocation { ///

    Information about the association.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationOverview { ///

    The status of the association. Status can be: Pending, Success, or Failed.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A detailed status of the association.

    #[serde(rename = "DetailedStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detailed_status: std::option::Option, ///

    Returns the number of targets for the association status. For example, if you created an /// association with two instances, and one of them was successful, this would return the count of /// instances by status.

    #[serde(rename = "AssociationStatusAggregatedCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_status_aggregated_count: std::option::Option>, @@ -6177,14 +5718,10 @@ impl AssociationOverview { ///

    Describes an association status.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationStatus { ///

    The date when the status changed.

    #[serde(rename = "Date")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6192,17 +5729,14 @@ pub struct AssociationStatus { pub date: std::option::Option, ///

    The status.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The reason for the status.

    #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    A user-defined string.

    #[serde(rename = "AdditionalInfo")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub additional_info: std::option::Option, } @@ -6314,7 +5848,6 @@ impl std::convert::From<&str> for AssociationStatusName { } } } - impl std::str::FromStr for AssociationStatusName { type Err = std::convert::Infallible; @@ -6322,7 +5855,6 @@ impl std::str::FromStr for AssociationStatusName { Ok(AssociationStatusName::from(s)) } } - impl AssociationStatusName { pub fn as_str(&self) -> &str { match self { @@ -6338,19 +5870,6 @@ impl AsRef for AssociationStatusName { self.as_str() } } - -impl serde::Serialize for AssociationStatusName { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationStatusName { fn deserialize(deserializer: D) -> Result where @@ -6385,7 +5904,6 @@ impl std::convert::From<&str> for StopType { } } } - impl std::str::FromStr for StopType { type Err = std::convert::Infallible; @@ -6393,7 +5911,6 @@ impl std::str::FromStr for StopType { Ok(StopType::from(s)) } } - impl StopType { pub fn as_str(&self) -> &str { match self { @@ -6408,19 +5925,6 @@ impl AsRef for StopType { self.as_str() } } - -impl serde::Serialize for StopType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StopType { fn deserialize(deserializer: D) -> Result where @@ -6438,23 +5942,20 @@ impl<'de> serde::Deserialize<'de> for StopType { /// approvals for the change request have been received.

    ///
    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Runbook { ///

    The name of the Automation runbook (Automation document) used in a runbook workflow.

    #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_name: std::option::Option, ///

    The version of the Automation runbook (Automation document) used in a /// runbook workflow.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The key-value map of execution parameters, which were supplied when calling /// StartChangeRequestExecution.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, @@ -6462,33 +5963,28 @@ pub struct Runbook { ///

    The name of the parameter used as the target resource for the rate-controlled /// runbook workflow. Required if you specify Targets.

    #[serde(rename = "TargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_parameter_name: std::option::Option, ///

    A key-value mapping to target resources that the Runbook operation performs tasks on. /// Required if you specify TargetParameterName.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The MaxConcurrency value specified by the user when the operation started, /// indicating the maximum number of resources that the runbook operation can run on at the same /// time.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The MaxErrors value specified by the user when the execution started, /// indicating the maximum number of errors that can occur during the operation before the updates /// are stopped or rolled back.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    Information about the AWS Regions and accounts targeted by the current Runbook /// operation.

    #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_locations: std::option::Option>, } @@ -6676,7 +6172,6 @@ impl std::convert::From<&str> for ExecutionMode { } } } - impl std::str::FromStr for ExecutionMode { type Err = std::convert::Infallible; @@ -6684,7 +6179,6 @@ impl std::str::FromStr for ExecutionMode { Ok(ExecutionMode::from(s)) } } - impl ExecutionMode { pub fn as_str(&self) -> &str { match self { @@ -6699,19 +6193,6 @@ impl AsRef for ExecutionMode { self.as_str() } } - -impl serde::Serialize for ExecutionMode { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ExecutionMode { fn deserialize(deserializer: D) -> Result where @@ -6724,36 +6205,28 @@ impl<'de> serde::Deserialize<'de> for ExecutionMode { ///

    Describes a command request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Command { ///

    A unique identifier for this command.

    #[serde(rename = "CommandId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub command_id: std::option::Option, ///

    The name of the document requested for execution.

    #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_name: std::option::Option, ///

    The SSM document version.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    User-specified information about the command, such as a brief description of what the /// command should do.

    #[serde(rename = "Comment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comment: std::option::Option, ///

    If this time is reached and the command has not already started running, it will not run. /// Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

    #[serde(rename = "ExpiresAfter")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6761,28 +6234,21 @@ pub struct Command { pub expires_after: std::option::Option, ///

    The parameter values to be inserted in the document when running the command.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, >, ///

    The instance IDs against which this command was requested.

    #[serde(rename = "InstanceIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_ids: std::option::Option>, ///

    An array of search criteria that targets instances using a Key,Value combination that you /// specify. Targets is required if you don't provide one or more instance IDs in the call.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The date and time the command was requested.

    #[serde(rename = "RequestedDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -6790,7 +6256,6 @@ pub struct Command { pub requested_date_time: std::option::Option, ///

    The status of the command.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A detailed status of the command execution. StatusDetails includes more information than @@ -6837,25 +6302,21 @@ pub struct Command { /// /// #[serde(rename = "StatusDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] 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.

    #[serde(rename = "OutputS3Region")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] 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.

    #[serde(rename = "OutputS3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_bucket_name: std::option::Option, ///

    The S3 directory path inside the bucket where the responses to the command executions should /// be stored. This was requested when issuing the command.

    #[serde(rename = "OutputS3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_key_prefix: std::option::Option, ///

    The maximum number of instances that are allowed to run the command at the same time. You @@ -6863,7 +6324,6 @@ pub struct Command { /// default value is 50. For more information about how to use MaxConcurrency, see Running commands /// using Systems Manager Run Command in the AWS Systems Manager User Guide.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The maximum number of errors allowed before the system stops sending the command to @@ -6871,7 +6331,6 @@ pub struct Command { /// such as 10%. The default value is 0. For more information about how to use MaxErrors, see Running commands /// using Systems Manager Run Command in the AWS Systems Manager User Guide.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The number of targets for the command.

    @@ -6891,17 +6350,14 @@ pub struct Command { ///

    The IAM service role that Run Command uses to act on your behalf when sending notifications /// about command status changes.

    #[serde(rename = "ServiceRole")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub service_role: std::option::Option, ///

    Configurations for sending notifications about command status changes.

    #[serde(rename = "NotificationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notification_config: std::option::Option, ///

    CloudWatch Logs information where you want Systems Manager to send the command output.

    #[serde(rename = "CloudWatchOutputConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_watch_output_config: std::option::Option, ///

    The TimeoutSeconds value specified for a command.

    @@ -7365,7 +6821,6 @@ impl std::convert::From<&str> for CommandStatus { } } } - impl std::str::FromStr for CommandStatus { type Err = std::convert::Infallible; @@ -7373,7 +6828,6 @@ impl std::str::FromStr for CommandStatus { Ok(CommandStatus::from(s)) } } - impl CommandStatus { pub fn as_str(&self) -> &str { match self { @@ -7393,19 +6847,6 @@ impl AsRef for CommandStatus { self.as_str() } } - -impl serde::Serialize for CommandStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CommandStatus { fn deserialize(deserializer: D) -> Result where @@ -7446,7 +6887,6 @@ impl std::convert::From<&str> for SignalType { } } } - impl std::str::FromStr for SignalType { type Err = std::convert::Infallible; @@ -7454,7 +6894,6 @@ impl std::str::FromStr for SignalType { Ok(SignalType::from(s)) } } - impl SignalType { pub fn as_str(&self) -> &str { match self { @@ -7472,19 +6911,6 @@ impl AsRef for SignalType { self.as_str() } } - -impl serde::Serialize for SignalType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SignalType { fn deserialize(deserializer: D) -> Result where @@ -7509,24 +6935,18 @@ impl<'de> serde::Deserialize<'de> for SignalType { /// the default setting. Or, use the ResetServiceSetting to change the value back /// to the original value defined by the AWS service team.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceSetting { ///

    The ID of the service setting.

    #[serde(rename = "SettingId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub setting_id: std::option::Option, ///

    The value of the service setting.

    #[serde(rename = "SettingValue")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub setting_value: std::option::Option, ///

    The last time the service setting was modified.

    #[serde(rename = "LastModifiedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -7535,12 +6955,10 @@ pub struct ServiceSetting { ///

    The ARN of the last modified user. This field is populated only if the setting value was /// overwritten.

    #[serde(rename = "LastModifiedUser")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_user: std::option::Option, ///

    The ARN of the service setting.

    #[serde(rename = "ARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

    The status of the service setting. The value can be Default, Customized or @@ -7559,7 +6977,6 @@ pub struct ServiceSetting { /// /// #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, } @@ -7718,7 +7135,6 @@ impl std::convert::From<&str> for ResourceTypeForTagging { } } } - impl std::str::FromStr for ResourceTypeForTagging { type Err = std::convert::Infallible; @@ -7726,7 +7142,6 @@ impl std::str::FromStr for ResourceTypeForTagging { Ok(ResourceTypeForTagging::from(s)) } } - impl ResourceTypeForTagging { pub fn as_str(&self) -> &str { match self { @@ -7746,19 +7161,6 @@ impl AsRef for ResourceTypeForTagging { self.as_str() } } - -impl serde::Serialize for ResourceTypeForTagging { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ResourceTypeForTagging { fn deserialize(deserializer: D) -> Result where @@ -7797,7 +7199,6 @@ impl std::convert::From<&str> for MaintenanceWindowTaskType { } } } - impl std::str::FromStr for MaintenanceWindowTaskType { type Err = std::convert::Infallible; @@ -7805,7 +7206,6 @@ impl std::str::FromStr for MaintenanceWindowTaskType { Ok(MaintenanceWindowTaskType::from(s)) } } - impl MaintenanceWindowTaskType { pub fn as_str(&self) -> &str { match self { @@ -7822,19 +7222,6 @@ impl AsRef for MaintenanceWindowTaskType { self.as_str() } } - -impl serde::Serialize for MaintenanceWindowTaskType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MaintenanceWindowTaskType { fn deserialize(deserializer: D) -> Result where @@ -7869,7 +7256,6 @@ impl std::convert::From<&str> for MaintenanceWindowResourceType { } } } - impl std::str::FromStr for MaintenanceWindowResourceType { type Err = std::convert::Infallible; @@ -7877,7 +7263,6 @@ impl std::str::FromStr for MaintenanceWindowResourceType { Ok(MaintenanceWindowResourceType::from(s)) } } - impl MaintenanceWindowResourceType { pub fn as_str(&self) -> &str { match self { @@ -7892,19 +7277,6 @@ impl AsRef for MaintenanceWindowResourceType { self.as_str() } } - -impl serde::Serialize for MaintenanceWindowResourceType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MaintenanceWindowResourceType { fn deserialize(deserializer: D) -> Result where @@ -7941,7 +7313,6 @@ impl std::convert::From<&str> for ParameterTier { } } } - impl std::str::FromStr for ParameterTier { type Err = std::convert::Infallible; @@ -7949,7 +7320,6 @@ impl std::str::FromStr for ParameterTier { Ok(ParameterTier::from(s)) } } - impl ParameterTier { pub fn as_str(&self) -> &str { match self { @@ -7965,19 +7335,6 @@ impl AsRef for ParameterTier { self.as_str() } } - -impl serde::Serialize for ParameterTier { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ParameterTier { fn deserialize(deserializer: D) -> Result where @@ -8014,7 +7371,6 @@ impl std::convert::From<&str> for ParameterType { } } } - impl std::str::FromStr for ParameterType { type Err = std::convert::Infallible; @@ -8022,7 +7378,6 @@ impl std::str::FromStr for ParameterType { Ok(ParameterType::from(s)) } } - impl ParameterType { pub fn as_str(&self) -> &str { match self { @@ -8038,19 +7393,6 @@ impl AsRef for ParameterType { self.as_str() } } - -impl serde::Serialize for ParameterType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ParameterType { fn deserialize(deserializer: D) -> Result where @@ -8063,36 +7405,31 @@ impl<'de> serde::Deserialize<'de> for ParameterType { ///

    Information collected from managed instances based on your inventory policy document

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryItem { ///

    The name of the inventory type. Default inventory item type names start with AWS. Custom /// inventory type names will start with Custom. Default inventory item types include the following: /// AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and /// AWS:WindowsUpdate.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, ///

    The schema version for the inventory item.

    #[serde(rename = "SchemaVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schema_version: std::option::Option, ///

    The time the inventory information was collected.

    #[serde(rename = "CaptureTime")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub capture_time: std::option::Option, ///

    MD5 hash of the inventory item type contents. The content hash is used to determine whether /// to update inventory information. The PutInventory API does not update the inventory item type /// contents if the MD5 hash has not changed since last update.

    #[serde(rename = "ContentHash")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content_hash: std::option::Option, ///

    The inventory data of the inventory type.

    #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content: std::option::Option< std::vec::Vec>, @@ -8101,7 +7438,6 @@ pub struct InventoryItem { /// attribute, you can specify the ExecutionId, ExecutionType, /// ComplianceType properties of the AWS:ComplianceItem type.

    #[serde(rename = "Context")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub context: std::option::Option>, @@ -8258,7 +7594,6 @@ impl std::convert::From<&str> for ComplianceUploadType { } } } - impl std::str::FromStr for ComplianceUploadType { type Err = std::convert::Infallible; @@ -8266,7 +7601,6 @@ impl std::str::FromStr for ComplianceUploadType { Ok(ComplianceUploadType::from(s)) } } - impl ComplianceUploadType { pub fn as_str(&self) -> &str { match self { @@ -8281,19 +7615,6 @@ impl AsRef for ComplianceUploadType { self.as_str() } } - -impl serde::Serialize for ComplianceUploadType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ComplianceUploadType { fn deserialize(deserializer: D) -> Result where @@ -8306,35 +7627,30 @@ impl<'de> serde::Deserialize<'de> for ComplianceUploadType { ///

    Information about a compliance item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ComplianceItemEntry { ///

    The compliance item ID. For example, if the compliance item is a Windows patch, the ID could /// be the number of the KB article.

    #[serde(rename = "Id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The title of the compliance item. For example, if the compliance item is a Windows patch, /// the title could be the title of the KB article for the patch; for example: Security Update for /// Active Directory Federation Services.

    #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub title: std::option::Option, ///

    The severity of the compliance status. Severity can be one of the following: Critical, High, /// Medium, Low, Informational, Unspecified.

    #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity: std::option::Option, ///

    The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A "Key": "Value" tag combination for the compliance item.

    #[serde(rename = "Details")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub details: std::option::Option>, @@ -8473,7 +7789,6 @@ impl std::convert::From<&str> for ComplianceStatus { } } } - impl std::str::FromStr for ComplianceStatus { type Err = std::convert::Infallible; @@ -8481,7 +7796,6 @@ impl std::str::FromStr for ComplianceStatus { Ok(ComplianceStatus::from(s)) } } - impl ComplianceStatus { pub fn as_str(&self) -> &str { match self { @@ -8496,19 +7810,6 @@ impl AsRef for ComplianceStatus { self.as_str() } } - -impl serde::Serialize for ComplianceStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ComplianceStatus { fn deserialize(deserializer: D) -> Result where @@ -8551,7 +7852,6 @@ impl std::convert::From<&str> for ComplianceSeverity { } } } - impl std::str::FromStr for ComplianceSeverity { type Err = std::convert::Infallible; @@ -8559,7 +7859,6 @@ impl std::str::FromStr for ComplianceSeverity { Ok(ComplianceSeverity::from(s)) } } - impl ComplianceSeverity { pub fn as_str(&self) -> &str { match self { @@ -8578,19 +7877,6 @@ impl AsRef for ComplianceSeverity { self.as_str() } } - -impl serde::Serialize for ComplianceSeverity { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ComplianceSeverity { fn deserialize(deserializer: D) -> Result where @@ -8605,15 +7891,11 @@ impl<'de> serde::Deserialize<'de> for ComplianceSeverity { /// example, Command), and the date/time of the execution using a datetime object that /// is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ComplianceExecutionSummary { ///

    The time the execution ran as a datetime object that is saved in the following format: /// yyyy-MM-dd'T'HH:mm:ss'Z'.

    #[serde(rename = "ExecutionTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -8622,12 +7904,10 @@ pub struct ComplianceExecutionSummary { ///

    An ID created by the system when PutComplianceItems was called. For example, /// CommandID is a valid execution ID. You can use this ID in subsequent calls.

    #[serde(rename = "ExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_id: std::option::Option, ///

    The type of execution. For example, Command is a valid execution type.

    #[serde(rename = "ExecutionType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_type: std::option::Option, } @@ -8722,7 +8002,6 @@ impl std::convert::From<&str> for DocumentPermissionType { } } } - impl std::str::FromStr for DocumentPermissionType { type Err = std::convert::Infallible; @@ -8730,7 +8009,6 @@ impl std::str::FromStr for DocumentPermissionType { Ok(DocumentPermissionType::from(s)) } } - impl DocumentPermissionType { pub fn as_str(&self) -> &str { match self { @@ -8744,19 +8022,6 @@ impl AsRef for DocumentPermissionType { self.as_str() } } - -impl serde::Serialize for DocumentPermissionType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentPermissionType { fn deserialize(deserializer: D) -> Result where @@ -8770,11 +8035,10 @@ impl<'de> serde::Deserialize<'de> for DocumentPermissionType { ///

    Information about a Resource Data Sync configuration, including its current status and last /// successful sync.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncItem { ///

    The name of the Resource Data Sync.

    #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_name: std::option::Option, ///

    The type of resource data sync. If SyncType is SyncToDestination, @@ -8782,25 +8046,18 @@ pub struct ResourceDataSyncItem { /// SyncFromSource then the resource data sync synchronizes data from AWS Organizations or from /// multiple AWS Regions.

    #[serde(rename = "SyncType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_type: std::option::Option, ///

    Information about the source where the data was synchronized.

    #[serde(rename = "SyncSource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_source: std::option::Option, ///

    Configuration information for the target S3 bucket.

    #[serde(rename = "S3Destination")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_destination: std::option::Option, ///

    The last time the configuration attempted to sync (UTC).

    #[serde(rename = "LastSyncTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -8808,10 +8065,6 @@ pub struct ResourceDataSyncItem { pub last_sync_time: std::option::Option, ///

    The last time the sync operations returned a status of SUCCESSFUL (UTC).

    #[serde(rename = "LastSuccessfulSyncTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -8819,10 +8072,6 @@ pub struct ResourceDataSyncItem { pub last_successful_sync_time: std::option::Option, ///

    The date and time the resource data sync was changed.

    #[serde(rename = "SyncLastModifiedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -8830,15 +8079,10 @@ pub struct ResourceDataSyncItem { pub sync_last_modified_time: std::option::Option, ///

    The status reported by the last sync.

    #[serde(rename = "LastStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_status: std::option::Option, ///

    The date and time the configuration was created (UTC).

    #[serde(rename = "SyncCreatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -8846,7 +8090,6 @@ pub struct ResourceDataSyncItem { pub sync_created_time: std::option::Option, ///

    The status message details reported by the last sync.

    #[serde(rename = "LastSyncStatusMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_sync_status_message: std::option::Option, } @@ -9051,7 +8294,6 @@ impl std::convert::From<&str> for LastResourceDataSyncStatus { } } } - impl std::str::FromStr for LastResourceDataSyncStatus { type Err = std::convert::Infallible; @@ -9059,7 +8301,6 @@ impl std::str::FromStr for LastResourceDataSyncStatus { Ok(LastResourceDataSyncStatus::from(s)) } } - impl LastResourceDataSyncStatus { pub fn as_str(&self) -> &str { match self { @@ -9070,24 +8311,11 @@ impl LastResourceDataSyncStatus { } } } -impl AsRef for LastResourceDataSyncStatus { - fn as_ref(&self) -> &str { - self.as_str() - } -} - -impl serde::Serialize for LastResourceDataSyncStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) +impl AsRef for LastResourceDataSyncStatus { + fn as_ref(&self) -> &str { + self.as_str() } } - impl<'de> serde::Deserialize<'de> for LastResourceDataSyncStatus { fn deserialize(deserializer: D) -> Result where @@ -9100,37 +8328,31 @@ impl<'de> serde::Deserialize<'de> for LastResourceDataSyncStatus { ///

    Information about the target S3 bucket for the Resource Data Sync.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncS3Destination { ///

    The name of the S3 bucket where the aggregated data is stored.

    #[serde(rename = "BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub bucket_name: std::option::Option, ///

    An Amazon S3 prefix for the bucket.

    #[serde(rename = "Prefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub prefix: std::option::Option, ///

    A supported sync format. The following format is currently supported: JsonSerDe

    #[serde(rename = "SyncFormat")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_format: std::option::Option, ///

    The AWS Region with the S3 bucket targeted by the Resource Data Sync.

    #[serde(rename = "Region")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] 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.

    #[serde(rename = "AWSKMSKeyARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub awskms_key_arn: std::option::Option, ///

    Enables destination data sharing. By default, this field is null.

    #[serde(rename = "DestinationDataSharing")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_data_sharing: std::option::Option, @@ -9250,11 +8472,10 @@ impl ResourceDataSyncS3Destination { /// a centralized S3 bucket. Data is synchronized to individual key prefixes in the central bucket. /// Each key prefix represents a different AWS account ID.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncDestinationDataSharing { ///

    The sharing data type. Only Organization is supported.

    #[serde(rename = "DestinationDataSharingType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub destination_data_sharing_type: std::option::Option, } @@ -9329,7 +8550,6 @@ impl std::convert::From<&str> for ResourceDataSyncS3Format { } } } - impl std::str::FromStr for ResourceDataSyncS3Format { type Err = std::convert::Infallible; @@ -9337,7 +8557,6 @@ impl std::str::FromStr for ResourceDataSyncS3Format { Ok(ResourceDataSyncS3Format::from(s)) } } - impl ResourceDataSyncS3Format { pub fn as_str(&self) -> &str { match self { @@ -9351,19 +8570,6 @@ impl AsRef for ResourceDataSyncS3Format { self.as_str() } } - -impl serde::Serialize for ResourceDataSyncS3Format { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ResourceDataSyncS3Format { fn deserialize(deserializer: D) -> Result where @@ -9388,25 +8594,22 @@ impl<'de> serde::Deserialize<'de> for ResourceDataSyncS3Format { /// TrustedAccessDisabled (You disabled Systems Manager access in the organization in /// AWS Organizations.)

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncSourceWithState { ///

    The type of data source for the resource data sync. SourceType is either /// AwsOrganizations (if an organization is present in AWS Organizations) or /// singleAccountMultiRegions.

    #[serde(rename = "SourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_type: std::option::Option, ///

    The field name in SyncSource for the /// ResourceDataSyncAwsOrganizationsSource type.

    #[serde(rename = "AwsOrganizationsSource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aws_organizations_source: std::option::Option, ///

    The SyncSource AWS Regions included in the resource data sync.

    #[serde(rename = "SourceRegions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_regions: std::option::Option>, ///

    Whether to automatically synchronize and aggregate data from new AWS Regions when those @@ -9427,7 +8630,6 @@ pub struct ResourceDataSyncSourceWithState { /// TrustedAccessDisabled: You disabled Systems Manager access in the organization in /// AWS Organizations.

    #[serde(rename = "State")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state: std::option::Option, ///

    When you create a resource data sync, if you choose one of the AWS Organizations options, then Systems Manager @@ -9572,47 +8774,39 @@ impl ResourceDataSyncSourceWithState { ///

    Compliance summary information for a specific resource.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceComplianceSummaryItem { ///

    The compliance type.

    #[serde(rename = "ComplianceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_type: std::option::Option, ///

    The resource type.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The resource ID.

    #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_id: std::option::Option, ///

    The compliance status for the resource.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The highest severity item found for the resource. The resource is compliant for this /// item.

    #[serde(rename = "OverallSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub overall_severity: std::option::Option, ///

    Information about the execution.

    #[serde(rename = "ExecutionSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_summary: std::option::Option, ///

    A list of items that are compliant for the resource.

    #[serde(rename = "CompliantSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliant_summary: std::option::Option, ///

    A list of items that aren't compliant for the resource.

    #[serde(rename = "NonCompliantSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub non_compliant_summary: std::option::Option, } @@ -9762,14 +8956,13 @@ impl ResourceComplianceSummaryItem { ///

    A summary of resources that are not compliant. The summary is organized according to /// resource type.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct NonCompliantSummary { ///

    The total number of compliance items that are not compliant.

    #[serde(rename = "NonCompliantCount")] pub non_compliant_count: i32, ///

    A summary of the non-compliance severity by compliance type

    #[serde(rename = "SeveritySummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity_summary: std::option::Option, } @@ -9831,7 +9024,7 @@ impl NonCompliantSummary { ///

    The number of managed instances found for each patch severity level defined in the request /// filter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SeveritySummary { ///

    The total number of resources or compliance items that have a severity level of critical. /// Critical severity is determined by the organization that published the compliance items.

    @@ -9971,14 +9164,13 @@ impl SeveritySummary { ///

    A summary of resources that are compliant. The summary is organized according to the /// resource count for each compliance type.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CompliantSummary { ///

    The total number of resources that are compliant.

    #[serde(rename = "CompliantCount")] pub compliant_count: i32, ///

    A summary of the compliance severity by compliance type.

    #[serde(rename = "SeveritySummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity_summary: std::option::Option, } @@ -10039,22 +9231,19 @@ impl CompliantSummary { ///

    One or more filters. Use a filter to return a more specific list of results.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ComplianceStringFilter { ///

    The name of the filter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value for which to search.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, /// LessThan, or GreaterThan.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -10160,7 +9349,6 @@ impl std::convert::From<&str> for ComplianceQueryOperatorType { } } } - impl std::str::FromStr for ComplianceQueryOperatorType { type Err = std::convert::Infallible; @@ -10168,7 +9356,6 @@ impl std::str::FromStr for ComplianceQueryOperatorType { Ok(ComplianceQueryOperatorType::from(s)) } } - impl ComplianceQueryOperatorType { pub fn as_str(&self) -> &str { match self { @@ -10186,19 +9373,6 @@ impl AsRef for ComplianceQueryOperatorType { self.as_str() } } - -impl serde::Serialize for ComplianceQueryOperatorType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ComplianceQueryOperatorType { fn deserialize(deserializer: D) -> Result where @@ -10211,24 +9385,18 @@ impl<'de> serde::Deserialize<'de> for ComplianceQueryOperatorType { ///

    Operational metadata for an application in Application Manager.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadata { ///

    The ID of the Application Manager application.

    #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_id: std::option::Option, ///

    The Amazon Resource Name (ARN) of the OpsMetadata Object or blob.

    #[serde(rename = "OpsMetadataArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_metadata_arn: std::option::Option, ///

    The date the OpsMetadata object was last updated.

    #[serde(rename = "LastModifiedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -10236,15 +9404,10 @@ pub struct OpsMetadata { pub last_modified_date: std::option::Option, ///

    The user name who last updated the OpsMetadata object.

    #[serde(rename = "LastModifiedUser")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_user: std::option::Option, ///

    The date the OpsMetadata objects was created.

    #[serde(rename = "CreationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -10353,16 +9516,14 @@ impl OpsMetadata { ///

    A filter to limit the number of OpsMetadata objects displayed.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsMetadataFilter { ///

    A filter key.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    A filter value.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -10424,44 +9585,34 @@ impl OpsMetadataFilter { ///

    Summary information about related-item resources for an OpsItem.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemRelatedItemSummary { ///

    The OpsItem ID.

    #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, ///

    The association ID.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The resource type.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The association type.

    #[serde(rename = "AssociationType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_type: std::option::Option, ///

    The Amazon Resource Name (ARN) of the related-item resource.

    #[serde(rename = "ResourceUri")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_uri: std::option::Option, ///

    Information about the user or resource that created an OpsItem event.

    #[serde(rename = "CreatedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub created_by: std::option::Option, ///

    The time the related-item association was created.

    #[serde(rename = "CreatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -10469,15 +9620,10 @@ pub struct OpsItemRelatedItemSummary { pub created_time: std::option::Option, ///

    Information about the user or resource that created an OpsItem event.

    #[serde(rename = "LastModifiedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_by: std::option::Option, ///

    The time the related-item association was last updated.

    #[serde(rename = "LastModifiedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -10634,11 +9780,10 @@ impl OpsItemRelatedItemSummary { ///

    Information about the user or resource that created an OpsItem event.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemIdentity { ///

    The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem event.

    #[serde(rename = "Arn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, } @@ -10682,23 +9827,20 @@ impl OpsItemIdentity { ///

    Describes a filter for a specific list of related-item resources.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemRelatedItemsFilter { ///

    The name of the filter key. Supported values include ResourceUri, /// ResourceType, or AssociationId.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The values for the filter.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The operator used by the filter call. The only supported operator is /// EQUAL.

    #[serde(rename = "Operator")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operator: std::option::Option, } @@ -10800,7 +9942,6 @@ impl std::convert::From<&str> for OpsItemRelatedItemsFilterOperator { } } } - impl std::str::FromStr for OpsItemRelatedItemsFilterOperator { type Err = std::convert::Infallible; @@ -10808,7 +9949,6 @@ impl std::str::FromStr for OpsItemRelatedItemsFilterOperator { Ok(OpsItemRelatedItemsFilterOperator::from(s)) } } - impl OpsItemRelatedItemsFilterOperator { pub fn as_str(&self) -> &str { match self { @@ -10822,19 +9962,6 @@ impl AsRef for OpsItemRelatedItemsFilterOperator { self.as_str() } } - -impl serde::Serialize for OpsItemRelatedItemsFilterOperator { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemRelatedItemsFilterOperator { fn deserialize(deserializer: D) -> Result where @@ -10871,7 +9998,6 @@ impl std::convert::From<&str> for OpsItemRelatedItemsFilterKey { } } } - impl std::str::FromStr for OpsItemRelatedItemsFilterKey { type Err = std::convert::Infallible; @@ -10879,7 +10005,6 @@ impl std::str::FromStr for OpsItemRelatedItemsFilterKey { Ok(OpsItemRelatedItemsFilterKey::from(s)) } } - impl OpsItemRelatedItemsFilterKey { pub fn as_str(&self) -> &str { match self { @@ -10895,19 +10020,6 @@ impl AsRef for OpsItemRelatedItemsFilterKey { self.as_str() } } - -impl serde::Serialize for OpsItemRelatedItemsFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemRelatedItemsFilterKey { fn deserialize(deserializer: D) -> Result where @@ -10921,44 +10033,34 @@ impl<'de> serde::Deserialize<'de> for OpsItemRelatedItemsFilterKey { ///

    Summary information about an OpsItem event or that associated an OpsItem with a related /// item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemEventSummary { ///

    The ID of the OpsItem.

    #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, ///

    The ID of the OpsItem event.

    #[serde(rename = "EventId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub event_id: std::option::Option, ///

    The source of the OpsItem event.

    #[serde(rename = "Source")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source: std::option::Option, ///

    The type of information provided as a detail.

    #[serde(rename = "DetailType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detail_type: std::option::Option, ///

    Specific information about the OpsItem event.

    #[serde(rename = "Detail")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detail: std::option::Option, ///

    Information about the user or resource that created the OpsItem event.

    #[serde(rename = "CreatedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub created_by: std::option::Option, ///

    The date and time the OpsItem event was created.

    #[serde(rename = "CreatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -11083,23 +10185,20 @@ impl OpsItemEventSummary { ///

    Describes a filter for a specific list of OpsItem events. You can filter event information /// by using tags. You specify tags by using a key-value pair mapping.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemEventFilter { ///

    The name of the filter key. Currently, the only supported value is /// OpsItemId.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The values for the filter, consisting of one or more OpsItem IDs.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The operator used by the filter call. Currently, the only supported value is /// Equal.

    #[serde(rename = "Operator")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operator: std::option::Option, } @@ -11201,7 +10300,6 @@ impl std::convert::From<&str> for OpsItemEventFilterOperator { } } } - impl std::str::FromStr for OpsItemEventFilterOperator { type Err = std::convert::Infallible; @@ -11209,7 +10307,6 @@ impl std::str::FromStr for OpsItemEventFilterOperator { Ok(OpsItemEventFilterOperator::from(s)) } } - impl OpsItemEventFilterOperator { pub fn as_str(&self) -> &str { match self { @@ -11223,19 +10320,6 @@ impl AsRef for OpsItemEventFilterOperator { self.as_str() } } - -impl serde::Serialize for OpsItemEventFilterOperator { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemEventFilterOperator { fn deserialize(deserializer: D) -> Result where @@ -11268,7 +10352,6 @@ impl std::convert::From<&str> for OpsItemEventFilterKey { } } } - impl std::str::FromStr for OpsItemEventFilterKey { type Err = std::convert::Infallible; @@ -11276,7 +10359,6 @@ impl std::str::FromStr for OpsItemEventFilterKey { Ok(OpsItemEventFilterKey::from(s)) } } - impl OpsItemEventFilterKey { pub fn as_str(&self) -> &str { match self { @@ -11290,19 +10372,6 @@ impl AsRef for OpsItemEventFilterKey { self.as_str() } } - -impl serde::Serialize for OpsItemEventFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemEventFilterKey { fn deserialize(deserializer: D) -> Result where @@ -11315,18 +10384,16 @@ impl<'de> serde::Deserialize<'de> for OpsItemEventFilterKey { ///

    One or more filters. Use a filter to return a more specific list of results.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryFilter { ///

    The name of the filter key.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    Inventory filter values. Example: inventory filter where instance IDs are specified as /// values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal ///

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The type of filter.

    @@ -11336,7 +10403,6 @@ pub struct InventoryFilter { /// data in the AWS Systems Manager User Guide.

    /// #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -11448,7 +10514,6 @@ impl std::convert::From<&str> for InventoryQueryOperatorType { } } } - impl std::str::FromStr for InventoryQueryOperatorType { type Err = std::convert::Infallible; @@ -11456,7 +10521,6 @@ impl std::str::FromStr for InventoryQueryOperatorType { Ok(InventoryQueryOperatorType::from(s)) } } - impl InventoryQueryOperatorType { pub fn as_str(&self) -> &str { match self { @@ -11475,19 +10539,6 @@ impl AsRef for InventoryQueryOperatorType { self.as_str() } } - -impl serde::Serialize for InventoryQueryOperatorType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryQueryOperatorType { fn deserialize(deserializer: D) -> Result where @@ -11500,36 +10551,28 @@ impl<'de> serde::Deserialize<'de> for InventoryQueryOperatorType { ///

    Version information about the document.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentVersionInfo { ///

    The document name.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The friendly name of the Systems Manager document. This value can differ for each version of the /// document. If you want to update this value, see UpdateDocument.

    #[serde(rename = "DisplayName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub display_name: std::option::Option, ///

    The document version.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The version of the artifact associated with the document. For example, "Release 12, Update /// 6". This value is unique across all versions of a document, and cannot be changed.

    #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version_name: std::option::Option, ///

    The date the document was created.

    #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -11540,25 +10583,21 @@ pub struct DocumentVersionInfo { pub is_default_version: bool, ///

    The document format, either JSON or YAML.

    #[serde(rename = "DocumentFormat")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_format: std::option::Option, ///

    The status of the Systems Manager document, such as Creating, Active, /// Failed, and Deleting.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A message returned by AWS Systems Manager that explains the Status value. For example, a /// Failed status might be explained by the StatusInformation message, /// "The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct."

    #[serde(rename = "StatusInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_information: std::option::Option, ///

    The current status of the approval review for the latest version of the document.

    #[serde(rename = "ReviewStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub review_status: std::option::Option, } @@ -11732,19 +10771,14 @@ impl DocumentVersionInfo { ///

    Describes the name of a Systems Manager document.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentIdentifier { ///

    The name of the Systems Manager document.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The date the Systems Manager document was created.

    #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -11753,73 +10787,60 @@ pub struct DocumentIdentifier { ///

    An optional field where you can specify a friendly name for the Systems Manager document. This value /// can differ for each version of the document. If you want to update this value, see UpdateDocument.

    #[serde(rename = "DisplayName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub display_name: std::option::Option, ///

    The AWS user account that created the document.

    #[serde(rename = "Owner")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owner: std::option::Option, ///

    An optional field specifying the version of the artifact associated with the document. For /// example, "Release 12, Update 6". This value is unique across all versions of a document, and /// cannot be changed.

    #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version_name: std::option::Option, ///

    The operating system platform.

    #[serde(rename = "PlatformTypes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub platform_types: std::option::Option>, ///

    The document version.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The document type.

    #[serde(rename = "DocumentType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_type: std::option::Option, ///

    The schema version.

    #[serde(rename = "SchemaVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schema_version: std::option::Option, ///

    The document format, either JSON or YAML.

    #[serde(rename = "DocumentFormat")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_format: std::option::Option, ///

    The target type which defines the kinds of resources the document can run on. For example, /// /AWS::EC2::Instance. For a list of valid resource types, see AWS resource and property types /// reference in the AWS CloudFormation User Guide.

    #[serde(rename = "TargetType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_type: std::option::Option, ///

    The tags, or metadata, that have been applied to the document.

    #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, ///

    A list of SSM documents required by a document. For example, an /// ApplicationConfiguration document requires an /// ApplicationConfigurationSchema document.

    #[serde(rename = "Requires")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub requires: std::option::Option>, ///

    The current status of a document review.

    #[serde(rename = "ReviewStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub review_status: std::option::Option, ///

    The user in your organization who created the document.

    #[serde(rename = "Author")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub author: std::option::Option, } @@ -12153,16 +11174,14 @@ impl DocumentIdentifier { /// Key=Owner,Values=Self ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentKeyValuesFilter { ///

    The name of the filter key.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value for the filter key.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -12224,16 +11243,14 @@ impl DocumentKeyValuesFilter { ///

    This data type is deprecated. Instead, use DocumentKeyValuesFilter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentFilter { ///

    The name of the filter.

    #[serde(rename = "key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value of the filter.

    #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -12320,7 +11337,6 @@ impl std::convert::From<&str> for DocumentFilterKey { } } } - impl std::str::FromStr for DocumentFilterKey { type Err = std::convert::Infallible; @@ -12328,7 +11344,6 @@ impl std::str::FromStr for DocumentFilterKey { Ok(DocumentFilterKey::from(s)) } } - impl DocumentFilterKey { pub fn as_str(&self) -> &str { match self { @@ -12345,19 +11360,6 @@ impl AsRef for DocumentFilterKey { self.as_str() } } - -impl serde::Serialize for DocumentFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentFilterKey { fn deserialize(deserializer: D) -> Result where @@ -12370,11 +11372,10 @@ impl<'de> serde::Deserialize<'de> for DocumentFilterKey { ///

    Details about the response to a document review request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentMetadataResponseInfo { ///

    Details about a reviewer's response to a document review request.

    #[serde(rename = "ReviewerResponse")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub reviewer_response: std::option::Option>, @@ -12429,14 +11430,10 @@ impl DocumentMetadataResponseInfo { ///

    Information about a reviewer's response to a document review request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DocumentReviewerResponseSource { ///

    The date and time that a reviewer entered a response to a document review request.

    #[serde(rename = "CreateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12445,10 +11442,6 @@ pub struct DocumentReviewerResponseSource { ///

    The date and time that a reviewer last updated a response to a document review /// request.

    #[serde(rename = "UpdatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -12460,17 +11453,14 @@ pub struct DocumentReviewerResponseSource { /// approved, the status of the previous version changes to REJECTED.

    ///

    Only one version of a document can be in review, or PENDING, at a time.

    #[serde(rename = "ReviewStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub review_status: std::option::Option, ///

    The comment entered by a reviewer as part of their document review response.

    #[serde(rename = "Comment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comment: std::option::Option>, ///

    The user in your organization assigned to review a document request.

    #[serde(rename = "Reviewer")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub reviewer: std::option::Option, } @@ -12600,7 +11590,6 @@ impl std::convert::From<&str> for DocumentMetadataEnum { } } } - impl std::str::FromStr for DocumentMetadataEnum { type Err = std::convert::Infallible; @@ -12608,7 +11597,6 @@ impl std::str::FromStr for DocumentMetadataEnum { Ok(DocumentMetadataEnum::from(s)) } } - impl DocumentMetadataEnum { pub fn as_str(&self) -> &str { match self { @@ -12622,19 +11610,6 @@ impl AsRef for DocumentMetadataEnum { self.as_str() } } - -impl serde::Serialize for DocumentMetadataEnum { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DocumentMetadataEnum { fn deserialize(deserializer: D) -> Result where @@ -12647,22 +11622,19 @@ impl<'de> serde::Deserialize<'de> for DocumentMetadataEnum { ///

    A summary of compliance information by compliance type.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ComplianceSummaryItem { ///

    The type of compliance item. For example, the compliance type can be Association, Patch, or /// Custom:string.

    #[serde(rename = "ComplianceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_type: std::option::Option, ///

    A list of COMPLIANT items for the specified compliance type.

    #[serde(rename = "CompliantSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliant_summary: std::option::Option, ///

    A list of NON_COMPLIANT items for the specified compliance type.

    #[serde(rename = "NonCompliantSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub non_compliant_summary: std::option::Option, } @@ -12744,59 +11716,50 @@ impl ComplianceSummaryItem { /// resource type, Items includes information about the PatchSeverity, Classification, /// and so on.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ComplianceItem { ///

    The compliance type. For example, Association (for a State Manager association), Patch, or /// Custom:string are all valid compliance types.

    #[serde(rename = "ComplianceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_type: std::option::Option, ///

    The type of resource. ManagedInstance is currently the only supported resource /// type.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    An ID for the resource. For a managed instance, this is the instance ID.

    #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_id: std::option::Option, ///

    An ID for the compliance item. For example, if the compliance item is a Windows patch, the /// ID could be the number of the KB article; for example: KB4010320.

    #[serde(rename = "Id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    A title for the compliance item. For example, if the compliance item is a Windows patch, the /// title could be the title of the KB article for the patch; for example: Security Update for Active /// Directory Federation Services.

    #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub title: std::option::Option, ///

    The status of the compliance item. An item is either COMPLIANT, NON_COMPLIANT, or an empty /// string (for Windows patches that aren't applicable).

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The severity of the compliance status. Severity can be one of the following: Critical, High, /// Medium, Low, Informational, Unspecified.

    #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity: std::option::Option, ///

    A summary for the compliance item. The summary includes an execution ID, the execution type /// (for example, command), and the execution time.

    #[serde(rename = "ExecutionSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_summary: std::option::Option, ///

    A "Key": "Value" tag combination for the compliance item.

    #[serde(rename = "Details")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub details: std::option::Option>, @@ -12975,11 +11938,10 @@ impl ComplianceItem { /// command hasn't run on the instance yet.

    /// #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CommandFilter { ///

    The name of the filter.

    #[serde(rename = "key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter value. Valid values for each filter key are as follows:

    @@ -13064,7 +12026,6 @@ pub struct CommandFilter { /// /// #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -13230,7 +12191,6 @@ impl std::convert::From<&str> for CommandFilterKey { } } } - impl std::str::FromStr for CommandFilterKey { type Err = std::convert::Infallible; @@ -13238,7 +12198,6 @@ impl std::str::FromStr for CommandFilterKey { Ok(CommandFilterKey::from(s)) } } - impl CommandFilterKey { pub fn as_str(&self) -> &str { match self { @@ -13256,19 +12215,6 @@ impl AsRef for CommandFilterKey { self.as_str() } } - -impl serde::Serialize for CommandFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CommandFilterKey { fn deserialize(deserializer: D) -> Result where @@ -13285,46 +12231,36 @@ impl<'de> serde::Deserialize<'de> for CommandFilterKey { /// instance ID. A command invocation returns status and detail information about a command you ran. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CommandInvocation { ///

    The command against which this invocation was requested.

    #[serde(rename = "CommandId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub command_id: std::option::Option, ///

    The instance ID in which this invocation was requested.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    The name of the invocation target. For EC2 instances this is the value for the aws:Name tag. /// For on-premises instances, this is the name of the instance.

    #[serde(rename = "InstanceName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_name: std::option::Option, ///

    User-specified information about the command, such as a brief description of what the /// command should do.

    #[serde(rename = "Comment")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub comment: std::option::Option, ///

    The document name that was requested for execution.

    #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_name: std::option::Option, ///

    The SSM document version.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The time and date the request was sent to this instance.

    #[serde(rename = "RequestedDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -13332,7 +12268,6 @@ pub struct CommandInvocation { pub requested_date_time: std::option::Option, ///

    Whether or not the invocation succeeded, failed, or is pending.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A detailed status of the command execution for each invocation (each instance targeted by @@ -13386,47 +12321,39 @@ pub struct CommandInvocation { /// /// #[serde(rename = "StatusDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_details: std::option::Option, ///

    Gets the trace output sent by the agent.

    #[serde(rename = "TraceOutput")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub trace_output: std::option::Option, ///

    The URL to the plugin's StdOut file in Amazon S3, if the S3 bucket was defined for the parent /// command. For an invocation, StandardOutputUrl is populated if there is just one plugin defined /// for the command, and the S3 bucket was defined for the command.

    #[serde(rename = "StandardOutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub standard_output_url: std::option::Option, ///

    The URL to the plugin's StdErr file in Amazon S3, if the S3 bucket was defined for the parent /// command. For an invocation, StandardErrorUrl is populated if there is just one plugin defined for /// the command, and the S3 bucket was defined for the command.

    #[serde(rename = "StandardErrorUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub standard_error_url: std::option::Option, #[serde(rename = "CommandPlugins")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub command_plugins: std::option::Option>, ///

    The IAM service role that Run Command uses to act on your behalf when sending notifications /// about command status changes on a per instance basis.

    #[serde(rename = "ServiceRole")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub service_role: std::option::Option, ///

    Configurations for sending notifications about command status changes on a per instance /// basis.

    #[serde(rename = "NotificationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notification_config: std::option::Option, ///

    CloudWatch Logs information where you want Systems Manager to send the command output.

    #[serde(rename = "CloudWatchOutputConfig")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_watch_output_config: std::option::Option, } @@ -13738,18 +12665,16 @@ impl CommandInvocation { ///

    Describes plugin details.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CommandPlugin { ///

    The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, /// aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or /// aws:updateSSMAgent.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The status of this plugin. You can run a document with multiple plugins.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    A detailed status of the plugin execution. StatusDetails includes more information than @@ -13802,7 +12727,6 @@ pub struct CommandPlugin { /// /// #[serde(rename = "StatusDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_details: std::option::Option, ///

    A numeric response code generated after running the plugin.

    @@ -13810,10 +12734,6 @@ pub struct CommandPlugin { pub response_code: i32, ///

    The time the plugin started running.

    #[serde(rename = "ResponseStartDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -13822,10 +12742,6 @@ pub struct CommandPlugin { ///

    The time the plugin stopped running. Could stop prematurely if, for example, a cancel /// command was sent.

    #[serde(rename = "ResponseFinishDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -13833,25 +12749,21 @@ pub struct CommandPlugin { pub response_finish_date_time: std::option::Option, ///

    Output of the plugin execution.

    #[serde(rename = "Output")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output: std::option::Option, ///

    The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for /// the command was not specified, then this string is empty.

    #[serde(rename = "StandardOutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub standard_output_url: std::option::Option, ///

    The URL for the complete text written by the plugin to stderr. If execution is not yet /// complete, then this string is empty.

    #[serde(rename = "StandardErrorUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub standard_error_url: std::option::Option, ///

    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager /// automatically determines the S3 bucket region.

    #[serde(rename = "OutputS3Region")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_region: std::option::Option, ///

    The S3 bucket where the responses to the command executions should be stored. This was @@ -13862,7 +12774,6 @@ pub struct CommandPlugin { ///

    i-02573cafcfEXAMPLE is the instance ID;

    ///

    awsrunShellScript is the name of the plugin.

    #[serde(rename = "OutputS3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_bucket_name: std::option::Option, ///

    The S3 directory path inside the bucket where the responses to the command executions should @@ -13874,7 +12785,6 @@ pub struct CommandPlugin { ///

    i-02573cafcfEXAMPLE is the instance ID;

    ///

    awsrunShellScript is the name of the plugin.

    #[serde(rename = "OutputS3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_s3_key_prefix: std::option::Option, } @@ -14173,7 +13083,6 @@ impl std::convert::From<&str> for CommandPluginStatus { } } } - impl std::str::FromStr for CommandPluginStatus { type Err = std::convert::Infallible; @@ -14181,7 +13090,6 @@ impl std::str::FromStr for CommandPluginStatus { Ok(CommandPluginStatus::from(s)) } } - impl CommandPluginStatus { pub fn as_str(&self) -> &str { match self { @@ -14200,19 +13108,6 @@ impl AsRef for CommandPluginStatus { self.as_str() } } - -impl serde::Serialize for CommandPluginStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CommandPluginStatus { fn deserialize(deserializer: D) -> Result where @@ -14259,7 +13154,6 @@ impl std::convert::From<&str> for CommandInvocationStatus { } } } - impl std::str::FromStr for CommandInvocationStatus { type Err = std::convert::Infallible; @@ -14267,7 +13161,6 @@ impl std::str::FromStr for CommandInvocationStatus { Ok(CommandInvocationStatus::from(s)) } } - impl CommandInvocationStatus { pub fn as_str(&self) -> &str { match self { @@ -14288,19 +13181,6 @@ impl AsRef for CommandInvocationStatus { self.as_str() } } - -impl serde::Serialize for CommandInvocationStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CommandInvocationStatus { fn deserialize(deserializer: D) -> Result where @@ -14313,24 +13193,18 @@ impl<'de> serde::Deserialize<'de> for CommandInvocationStatus { ///

    Information about the association version.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationVersionInfo { ///

    The ID created by the system when the association was created.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The association version.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, ///

    The date the association version was created.

    #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -14338,42 +13212,35 @@ pub struct AssociationVersionInfo { pub created_date: std::option::Option, ///

    The name specified when the association was created.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The version of a Systems Manager document used when the association version was created.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    Parameters specified when the association version was created.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, >, ///

    The targets specified for the association when the association version was created.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The cron or rate schedule specified for the association when the association version was /// created.

    #[serde(rename = "ScheduleExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule_expression: std::option::Option, ///

    The location in Amazon S3 specified for the association when the association version was /// created.

    #[serde(rename = "OutputLocation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_location: std::option::Option, ///

    The name specified for the association version when the association version was /// created.

    #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_name: std::option::Option, ///

    The number of errors that are allowed before the system stops sending requests to run the @@ -14388,7 +13255,6 @@ pub struct AssociationVersionInfo { /// be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one /// at a time.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The maximum number of targets allowed to run the association at the same time. You can @@ -14399,12 +13265,10 @@ pub struct AssociationVersionInfo { /// interval, the new instance will process its association within the limit specified for /// MaxConcurrency.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The severity level that is assigned to the association.

    #[serde(rename = "ComplianceSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_severity: std::option::Option, ///

    The mode for generating association compliance. You can specify AUTO or @@ -14417,7 +13281,6 @@ pub struct AssociationVersionInfo { /// managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    ///

    By default, all associations use AUTO mode.

    #[serde(rename = "SyncCompliance")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_compliance: std::option::Option, ///

    By default, when you create a new associations, the system runs it immediately after it is @@ -14431,13 +13294,11 @@ pub struct AssociationVersionInfo { /// that Change Calendar is open. For more information, see /// AWS Systems Manager Change Calendar.

    #[serde(rename = "CalendarNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub calendar_names: std::option::Option>, ///

    The combination of AWS Regions and AWS accounts where you wanted to run the association when /// this association version was created.

    #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_locations: std::option::Option>, } @@ -14765,45 +13626,35 @@ impl AssociationVersionInfo { ///

    Describes an association of a Systems Manager document and an instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Association { ///

    The name of the Systems Manager document.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The ID of the instance.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] 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.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The association version.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, ///

    The version of the document used in the association.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The instances targeted by the request to create an association.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The date on which the association was last run.

    #[serde(rename = "LastExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -14811,18 +13662,15 @@ pub struct Association { pub last_execution_date: std::option::Option, ///

    Information about the association.

    #[serde(rename = "Overview")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub overview: std::option::Option, ///

    A cron expression that specifies a schedule when the association runs. The schedule runs in /// Coordinated Universal Time (UTC).

    #[serde(rename = "ScheduleExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule_expression: std::option::Option, ///

    The association name.

    #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_name: std::option::Option, } @@ -15000,7 +13848,7 @@ impl Association { ///

    Describes a filter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationFilter { ///

    The name of the filter.

    /// @@ -15008,12 +13856,10 @@ pub struct AssociationFilter { /// InstanceId has been deprecated.

    ///
    #[serde(rename = "key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter value.

    #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -15112,7 +13958,6 @@ impl std::convert::From<&str> for AssociationFilterKey { } } } - impl std::str::FromStr for AssociationFilterKey { type Err = std::convert::Infallible; @@ -15120,7 +13965,6 @@ impl std::str::FromStr for AssociationFilterKey { Ok(AssociationFilterKey::from(s)) } } - impl AssociationFilterKey { pub fn as_str(&self) -> &str { match self { @@ -15141,19 +13985,6 @@ impl AsRef for AssociationFilterKey { self.as_str() } } - -impl serde::Serialize for AssociationFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationFilterKey { fn deserialize(deserializer: D) -> Result where @@ -15166,22 +13997,19 @@ impl<'de> serde::Deserialize<'de> for AssociationFilterKey { ///

    An Systems Manager parameter in Parameter Store.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Parameter { ///

    The name of the parameter.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The type of parameter. Valid values include the following: String, /// StringList, and SecureString.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    The parameter value.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    The parameter version.

    @@ -15192,21 +14020,15 @@ pub struct Parameter { ///

    parameter_name:version

    ///

    parameter_name:label

    #[serde(rename = "Selector")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub selector: std::option::Option, ///

    Applies to parameters that reference information in other AWS services. SourceResult is the /// raw result or response from the source.

    #[serde(rename = "SourceResult")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source_result: std::option::Option, ///

    Date the parameter was last changed or updated and the parameter version was created.

    #[serde(rename = "LastModifiedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -15214,13 +14036,11 @@ pub struct Parameter { pub last_modified_date: std::option::Option, ///

    The Amazon Resource Name (ARN) of the parameter.

    #[serde(rename = "ARN")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arn: std::option::Option, ///

    The data type of the parameter, such as text or aws:ec2:image. The /// default is text.

    #[serde(rename = "DataType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub data_type: std::option::Option, } @@ -15371,7 +14191,7 @@ impl Parameter { ///

    One or more filters. Use a filter to return a more specific list of results.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterStringFilter { ///

    The name of the filter.

    /// @@ -15386,7 +14206,6 @@ pub struct ParameterStringFilter { /// Systems Manager parameters in the AWS Systems Manager User Guide.

    ///
    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    For all filters used with DescribeParameters, valid options include @@ -15398,12 +14217,10 @@ pub struct ParameterStringFilter { /// Equals and BeginsWith. (Exception: For filters using /// Label as the Key name, the only valid option is Equals.)

    #[serde(rename = "Option")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub option: std::option::Option, ///

    The value you want to search for.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -15495,29 +14312,22 @@ impl ParameterStringFilter { ///

    Information about parameter usage.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterHistory { ///

    The name of the parameter.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The type of parameter used.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    The ID of the query key used for this parameter.

    #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    Date the parameter was last changed or updated.

    #[serde(rename = "LastModifiedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -15525,23 +14335,19 @@ pub struct ParameterHistory { pub last_modified_date: std::option::Option, ///

    Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

    #[serde(rename = "LastModifiedUser")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_user: std::option::Option, ///

    Information about the parameter.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The parameter value.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    Parameter names can include the following letters and symbols.

    ///

    a-zA-Z0-9_.-

    #[serde(rename = "AllowedPattern")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub allowed_pattern: std::option::Option, ///

    The parameter version.

    @@ -15549,12 +14355,10 @@ pub struct ParameterHistory { pub version: i64, ///

    Labels assigned to the parameter version.

    #[serde(rename = "Labels")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub labels: std::option::Option>, ///

    The parameter tier.

    #[serde(rename = "Tier")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tier: std::option::Option, ///

    Information about the policies assigned to a parameter.

    @@ -15562,13 +14366,11 @@ pub struct ParameterHistory { /// Assigning parameter /// policies in the AWS Systems Manager User Guide.

    #[serde(rename = "Policies")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policies: std::option::Option>, ///

    The data type of the parameter, such as text or aws:ec2:image. The /// default is text.

    #[serde(rename = "DataType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub data_type: std::option::Option, } @@ -15778,24 +14580,21 @@ impl ParameterHistory { ///

    One or more policies assigned to a parameter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterInlinePolicy { ///

    The JSON text of the policy.

    #[serde(rename = "PolicyText")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policy_text: std::option::Option, ///

    The type of policy. Parameter Store supports the following policy types: Expiration, /// ExpirationNotification, and NoChangeNotification.

    #[serde(rename = "PolicyType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policy_type: std::option::Option, ///

    The status of the policy. Policies report the following statuses: Pending (the policy has /// not been enforced or applied yet), Finished (the policy was applied), Failed (the policy was not /// applied), or InProgress (the policy is being applied now).

    #[serde(rename = "PolicyStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policy_status: std::option::Option, } @@ -15868,16 +14667,14 @@ impl ParameterInlinePolicy { ///

    The result of the query.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsEntity { ///

    The query ID.

    #[serde(rename = "Id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The data returned by the query.

    #[serde(rename = "Data")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub data: std::option::Option< std::collections::HashMap, @@ -15949,16 +14746,14 @@ impl OpsEntity { ///

    The OpsItem summaries result item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsEntityItem { ///

    The time OpsItem data was captured.

    #[serde(rename = "CaptureTime")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub capture_time: std::option::Option, ///

    The detailed data content for an OpsItem summaries result item.

    #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content: std::option::Option< std::vec::Vec>, @@ -16029,12 +14824,11 @@ impl OpsEntityItem { ///

    The OpsItem data type to return.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsResultAttribute { ///

    Name of the data type. Valid value: AWS:OpsItem, AWS:EC2InstanceInformation, /// AWS:OpsItemTrendline, or AWS:ComplianceSummary.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, } @@ -16083,37 +14877,31 @@ impl OpsResultAttribute { /// Source, CreatedTime, or Source and CreatedTime, to name a /// few.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsAggregator { ///

    Either a Range or Count aggregator for limiting an OpsItem summary.

    #[serde(rename = "AggregatorType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aggregator_type: std::option::Option, ///

    The data type name to use for viewing counts of OpsItems.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, ///

    The name of an OpsItem attribute on which to limit the count of OpsItems.

    #[serde(rename = "AttributeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attribute_name: std::option::Option, ///

    The aggregator value.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The aggregator filters.

    #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub filters: std::option::Option>, ///

    A nested aggregator for viewing counts of OpsItems.

    #[serde(rename = "Aggregators")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aggregators: std::option::Option>, } @@ -16242,21 +15030,18 @@ impl OpsAggregator { ///

    A filter for viewing OpsItem summaries.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsFilter { ///

    The name of the filter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter value.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The type of filter.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -16363,7 +15148,6 @@ impl std::convert::From<&str> for OpsFilterOperatorType { } } } - impl std::str::FromStr for OpsFilterOperatorType { type Err = std::convert::Infallible; @@ -16371,7 +15155,6 @@ impl std::str::FromStr for OpsFilterOperatorType { Ok(OpsFilterOperatorType::from(s)) } } - impl OpsFilterOperatorType { pub fn as_str(&self) -> &str { match self { @@ -16390,19 +15173,6 @@ impl AsRef for OpsFilterOperatorType { self.as_str() } } - -impl serde::Serialize for OpsFilterOperatorType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsFilterOperatorType { fn deserialize(deserializer: D) -> Result where @@ -16418,25 +15188,19 @@ impl<'de> serde::Deserialize<'de> for OpsFilterOperatorType { /// information, see AWS Systems Manager OpsCenter in the /// AWS Systems Manager User Guide.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItem { ///

    The ARN of the AWS account that created the OpsItem.

    #[serde(rename = "CreatedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub created_by: std::option::Option, ///

    The type of OpsItem. Currently, the only valid values are /aws/changerequest /// and /aws/issue.

    #[serde(rename = "OpsItemType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_type: std::option::Option, ///

    The date and time the OpsItem was created.

    #[serde(rename = "CreatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -16444,20 +15208,14 @@ pub struct OpsItem { pub created_time: std::option::Option, ///

    The OpsItem description.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The ARN of the AWS account that last updated the OpsItem.

    #[serde(rename = "LastModifiedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_by: std::option::Option, ///

    The date and time the OpsItem was last updated.

    #[serde(rename = "LastModifiedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -16466,47 +15224,39 @@ pub struct OpsItem { ///

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this /// OpsItem is edited or changed.

    #[serde(rename = "Notifications")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub notifications: std::option::Option>, ///

    The importance of this OpsItem in relation to other OpsItems in the system.

    #[serde(rename = "Priority")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub priority: std::option::Option, ///

    One or more OpsItems that share something in common with the current OpsItem. For example, /// related OpsItems can include OpsItems with similar error messages, impacted resources, or /// statuses for the impacted resource.

    #[serde(rename = "RelatedOpsItems")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub related_ops_items: std::option::Option>, ///

    The OpsItem status. Status can be Open, In Progress, or /// Resolved. For more information, see Editing OpsItem details in the AWS Systems Manager User Guide.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The ID of the OpsItem.

    #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, ///

    The version of this OpsItem. Each time the OpsItem is edited the version number increments /// by one.

    #[serde(rename = "Version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

    A short heading that describes the nature of the OpsItem and the impacted resource.

    #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub title: std::option::Option, ///

    The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of /// source.

    #[serde(rename = "Source")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source: std::option::Option, ///

    Operational data is custom data that provides useful reference details about the OpsItem. @@ -16527,7 +15277,6 @@ pub struct OpsItem { /// Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see /// Creating OpsItems manually in the AWS Systems Manager User Guide.

    #[serde(rename = "OperationalData")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operational_data: std::option::Option< std::collections::HashMap, @@ -16535,21 +15284,15 @@ pub struct OpsItem { ///

    An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, /// Security.

    #[serde(rename = "Category")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub category: std::option::Option, ///

    The severity of the OpsItem. Severity options range from 1 to 4.

    #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity: std::option::Option, ///

    The time a runbook workflow started. Currently reported only for the OpsItem type /// /aws/changerequest.

    #[serde(rename = "ActualStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -16558,10 +15301,6 @@ pub struct OpsItem { ///

    The time a runbook workflow ended. Currently reported only for the OpsItem type /// /aws/changerequest.

    #[serde(rename = "ActualEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -16570,10 +15309,6 @@ pub struct OpsItem { ///

    The time specified in a change request for a runbook workflow to start. Currently supported /// only for the OpsItem type /aws/changerequest.

    #[serde(rename = "PlannedStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -16582,10 +15317,6 @@ pub struct OpsItem { ///

    The time specified in a change request for a runbook workflow to end. Currently supported /// only for the OpsItem type /aws/changerequest.

    #[serde(rename = "PlannedEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -16957,7 +15688,6 @@ impl std::convert::From<&str> for MaintenanceWindowExecutionStatus { } } } - impl std::str::FromStr for MaintenanceWindowExecutionStatus { type Err = std::convert::Infallible; @@ -16965,7 +15695,6 @@ impl std::str::FromStr for MaintenanceWindowExecutionStatus { Ok(MaintenanceWindowExecutionStatus::from(s)) } } - impl MaintenanceWindowExecutionStatus { pub fn as_str(&self) -> &str { match self { @@ -16986,19 +15715,6 @@ impl AsRef for MaintenanceWindowExecutionStatus { self.as_str() } } - -impl serde::Serialize for MaintenanceWindowExecutionStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for MaintenanceWindowExecutionStatus { fn deserialize(deserializer: D) -> Result where @@ -17012,29 +15728,25 @@ impl<'de> serde::Deserialize<'de> for MaintenanceWindowExecutionStatus { ///

    The inventory item schema definition. Users can use this to compose inventory query /// filters.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryItemSchema { ///

    The name of the inventory type. Default inventory item type names start with AWS. Custom /// inventory type names will start with Custom. Default inventory item types include the following: /// AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and /// AWS:WindowsUpdate.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, ///

    The schema version for the inventory item.

    #[serde(rename = "Version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

    The schema attributes for inventory. This contains data type and attribute name.

    #[serde(rename = "Attributes")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub attributes: std::option::Option>, ///

    The alias name of the inventory type. The alias name is used for display purposes.

    #[serde(rename = "DisplayName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub display_name: std::option::Option, } @@ -17125,16 +15837,14 @@ impl InventoryItemSchema { ///

    Attributes are the entries within the inventory item content. It contains name and /// value.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryItemAttribute { ///

    Name of the inventory item attribute.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The data type of the inventory item attribute.

    #[serde(rename = "DataType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub data_type: std::option::Option, } @@ -17217,7 +15927,6 @@ impl std::convert::From<&str> for InventoryAttributeDataType { } } } - impl std::str::FromStr for InventoryAttributeDataType { type Err = std::convert::Infallible; @@ -17225,7 +15934,6 @@ impl std::str::FromStr for InventoryAttributeDataType { Ok(InventoryAttributeDataType::from(s)) } } - impl InventoryAttributeDataType { pub fn as_str(&self) -> &str { match self { @@ -17240,19 +15948,6 @@ impl AsRef for InventoryAttributeDataType { self.as_str() } } - -impl serde::Serialize for InventoryAttributeDataType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryAttributeDataType { fn deserialize(deserializer: D) -> Result where @@ -17265,18 +15960,16 @@ impl<'de> serde::Deserialize<'de> for InventoryAttributeDataType { ///

    Inventory query results.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryResultEntity { ///

    ID of the inventory result entity. For example, for managed instance inventory the result /// will be the managed instance ID. For EC2 instance inventory, the result will be the instance ID. ///

    #[serde(rename = "Id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The data section in the inventory result entity JSON.

    #[serde(rename = "Data")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub data: std::option::Option< std::collections::HashMap, @@ -17350,34 +16043,29 @@ impl InventoryResultEntity { ///

    The inventory result item.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryResultItem { ///

    The name of the inventory result item type.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, ///

    The schema version for the inventory result item/

    #[serde(rename = "SchemaVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schema_version: std::option::Option, ///

    The time inventory item data was captured.

    #[serde(rename = "CaptureTime")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub capture_time: std::option::Option, ///

    MD5 hash of the inventory item type contents. The content hash is used to determine whether /// to update inventory information. The PutInventory API does not update the inventory item type /// contents if the MD5 hash has not changed since last update.

    #[serde(rename = "ContentHash")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content_hash: std::option::Option, ///

    Contains all the inventory data of the item type. Results include attribute names and /// values.

    #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content: std::option::Option< std::vec::Vec>, @@ -17486,12 +16174,11 @@ impl InventoryResultItem { ///

    The inventory item result attribute.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResultAttribute { ///

    Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: /// AWS:InstanceInformation.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, } @@ -17538,22 +16225,19 @@ impl ResultAttribute { ///

    Specifies the inventory type and attribute for the aggregation execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryAggregator { ///

    The inventory type and attribute name for aggregation.

    #[serde(rename = "Expression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub expression: std::option::Option, ///

    Nested aggregators to further refine aggregation for an inventory type.

    #[serde(rename = "Aggregators")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub aggregators: std::option::Option>, ///

    A user-defined set of one or more filters on which to aggregate inventory data. Groups /// return a count of resources that match and don't match the specified criteria.

    #[serde(rename = "Groups")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub groups: std::option::Option>, } @@ -17633,18 +16317,16 @@ impl InventoryAggregator { ///

    A user-defined set of one or more filters on which to aggregate inventory data. Groups /// return a count of resources that match and don't match the specified criteria.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryGroup { ///

    The name of the group.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    Filters define the criteria for the group. The matchingCount field displays the /// number of resources that match the criteria. The notMatchingCount field displays the /// number of resources that don't match the criteria.

    #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub filters: std::option::Option>, } @@ -17706,11 +16388,10 @@ impl InventoryGroup { ///

    A structure that includes attributes that describe a document attachment.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AttachmentContent { ///

    The name of an attachment.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The size of an attachment in bytes.

    @@ -17718,17 +16399,14 @@ pub struct AttachmentContent { pub size: i64, ///

    The cryptographic hash value of the document content.

    #[serde(rename = "Hash")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub hash: std::option::Option, ///

    The hash algorithm used to calculate the hash value.

    #[serde(rename = "HashType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub hash_type: std::option::Option, ///

    The URL location of the attachment content.

    #[serde(rename = "Url")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub url: std::option::Option, } @@ -17845,7 +16523,6 @@ impl std::convert::From<&str> for AttachmentHashType { } } } - impl std::str::FromStr for AttachmentHashType { type Err = std::convert::Infallible; @@ -17853,7 +16530,6 @@ impl std::str::FromStr for AttachmentHashType { Ok(AttachmentHashType::from(s)) } } - impl AttachmentHashType { pub fn as_str(&self) -> &str { match self { @@ -17867,19 +16543,6 @@ impl AsRef for AttachmentHashType { self.as_str() } } - -impl serde::Serialize for AttachmentHashType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AttachmentHashType { fn deserialize(deserializer: D) -> Result where @@ -17892,21 +16555,18 @@ impl<'de> serde::Deserialize<'de> for AttachmentHashType { ///

    Defines the basic information about a patch baseline override.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct BaselineOverride { ///

    The operating system rule used by the patch baseline override.

    #[serde(rename = "OperatingSystem")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operating_system: std::option::Option, ///

    A set of patch filters, typically used for approval rules.

    #[serde(rename = "GlobalFilters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub global_filters: std::option::Option, ///

    A set of rules defining the approval rules for a patch baseline.

    #[serde(rename = "ApprovalRules")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub approval_rules: std::option::Option, ///

    A list of explicitly approved patches for the baseline.

    @@ -17914,13 +16574,11 @@ pub struct BaselineOverride { /// see About /// package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    #[serde(rename = "ApprovedPatches")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub approved_patches: std::option::Option>, ///

    Defines the compliance level for approved patches. When an approved patch is reported as /// missing, this value describes the severity of the compliance violation.

    #[serde(rename = "ApprovedPatchesComplianceLevel")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub approved_patches_compliance_level: std::option::Option, ///

    A list of explicitly rejected patches for the baseline.

    @@ -17928,14 +16586,12 @@ pub struct BaselineOverride { /// see About /// package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    #[serde(rename = "RejectedPatches")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rejected_patches: std::option::Option>, ///

    The action for Patch Manager to take on patches included in the RejectedPackages list. A /// patch can be allowed only if it is a dependency of another package, or blocked entirely along /// with packages that include it as a dependency.

    #[serde(rename = "RejectedPatchesAction")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub rejected_patches_action: std::option::Option, ///

    Indicates whether the list of approved patches includes non-security updates that should be @@ -17945,7 +16601,6 @@ pub struct BaselineOverride { ///

    Information about the patches to use to update the instances, including target operating /// systems and source repositories. Applies to Linux instances only.

    #[serde(rename = "Sources")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sources: std::option::Option>, } @@ -18152,7 +16807,6 @@ impl std::convert::From<&str> for ConnectionStatus { } } } - impl std::str::FromStr for ConnectionStatus { type Err = std::convert::Infallible; @@ -18160,7 +16814,6 @@ impl std::str::FromStr for ConnectionStatus { Ok(ConnectionStatus::from(s)) } } - impl ConnectionStatus { pub fn as_str(&self) -> &str { match self { @@ -18175,19 +16828,6 @@ impl AsRef for ConnectionStatus { self.as_str() } } - -impl serde::Serialize for ConnectionStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ConnectionStatus { fn deserialize(deserializer: D) -> Result where @@ -18222,7 +16862,6 @@ impl std::convert::From<&str> for CalendarState { } } } - impl std::str::FromStr for CalendarState { type Err = std::convert::Infallible; @@ -18230,7 +16869,6 @@ impl std::str::FromStr for CalendarState { Ok(CalendarState::from(s)) } } - impl CalendarState { pub fn as_str(&self) -> &str { match self { @@ -18245,19 +16883,6 @@ impl AsRef for CalendarState { self.as_str() } } - -impl serde::Serialize for CalendarState { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for CalendarState { fn deserialize(deserializer: D) -> Result where @@ -18270,29 +16895,22 @@ impl<'de> serde::Deserialize<'de> for CalendarState { ///

    Detailed information about the current state of an individual Automation execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationExecution { ///

    The execution ID.

    #[serde(rename = "AutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_execution_id: std::option::Option, ///

    The name of the Automation document used during the execution.

    #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_name: std::option::Option, ///

    The version of the document to use during execution.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The time the execution started.

    #[serde(rename = "ExecutionStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -18300,10 +16918,6 @@ pub struct AutomationExecution { pub execution_start_time: std::option::Option, ///

    The time the execution finished.

    #[serde(rename = "ExecutionEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -18311,13 +16925,11 @@ pub struct AutomationExecution { pub execution_end_time: std::option::Option, ///

    The execution status of the Automation.

    #[serde(rename = "AutomationExecutionStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_execution_status: std::option::Option, ///

    A list of details about the current state of all steps that comprise an execution. An /// Automation document contains a list of steps that are run in order.

    #[serde(rename = "StepExecutions")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub step_executions: std::option::Option>, ///

    A boolean value that indicates if the response contains the full list of the Automation step @@ -18328,61 +16940,50 @@ pub struct AutomationExecution { ///

    The key-value map of execution parameters, which were supplied when calling /// StartAutomationExecution.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, >, ///

    The list of execution outputs as defined in the automation document.

    #[serde(rename = "Outputs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub outputs: std::option::Option< std::collections::HashMap>, >, ///

    A message describing why an execution has failed, if the status is set to Failed.

    #[serde(rename = "FailureMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_message: std::option::Option, ///

    The automation execution mode.

    #[serde(rename = "Mode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub mode: std::option::Option, ///

    The AutomationExecutionId of the parent automation.

    #[serde(rename = "ParentAutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parent_automation_execution_id: std::option::Option, ///

    The Amazon Resource Name (ARN) of the user who ran the automation.

    #[serde(rename = "ExecutedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub executed_by: std::option::Option, ///

    The name of the step that is currently running.

    #[serde(rename = "CurrentStepName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub current_step_name: std::option::Option, ///

    The action of the step that is currently running.

    #[serde(rename = "CurrentAction")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub current_action: std::option::Option, ///

    The parameter name.

    #[serde(rename = "TargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_parameter_name: std::option::Option, ///

    The specified targets.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The specified key-value mapping of document parameters to target resources.

    #[serde(rename = "TargetMaps")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_maps: std::option::Option< std::vec::Vec< @@ -18391,48 +16992,37 @@ pub struct AutomationExecution { >, ///

    A list of resolved targets in the rate control execution.

    #[serde(rename = "ResolvedTargets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resolved_targets: std::option::Option, ///

    The MaxConcurrency value specified by the user when the execution started.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The MaxErrors value specified by the user when the execution started.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The target of the execution.

    #[serde(rename = "Target")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target: std::option::Option, ///

    The combination of AWS Regions and/or AWS accounts where you want to run the /// Automation.

    #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_locations: std::option::Option>, ///

    An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and /// multi-account Automation execution.

    #[serde(rename = "ProgressCounters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub progress_counters: std::option::Option, ///

    The subtype of the Automation operation. Currently, the only supported value is /// ChangeRequest.

    #[serde(rename = "AutomationSubtype")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_subtype: std::option::Option, ///

    The date and time the Automation operation is scheduled to start.

    #[serde(rename = "ScheduledTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -18445,22 +17035,18 @@ pub struct AutomationExecution { /// approvals for the change request have been received.

    /// #[serde(rename = "Runbooks")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub runbooks: std::option::Option>, ///

    The ID of an OpsItem that is created to represent a Change Manager change request.

    #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, ///

    The ID of a State Manager association used in the Automation operation.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The name of the Change Manager change request.

    #[serde(rename = "ChangeRequestName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub change_request_name: std::option::Option, } @@ -19009,7 +17595,6 @@ impl std::convert::From<&str> for AutomationSubtype { } } } - impl std::str::FromStr for AutomationSubtype { type Err = std::convert::Infallible; @@ -19017,7 +17602,6 @@ impl std::str::FromStr for AutomationSubtype { Ok(AutomationSubtype::from(s)) } } - impl AutomationSubtype { pub fn as_str(&self) -> &str { match self { @@ -19031,19 +17615,6 @@ impl AsRef for AutomationSubtype { self.as_str() } } - -impl serde::Serialize for AutomationSubtype { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AutomationSubtype { fn deserialize(deserializer: D) -> Result where @@ -19057,7 +17628,7 @@ impl<'de> serde::Deserialize<'de> for AutomationSubtype { ///

    An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and /// multi-account Automation execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ProgressCounters { ///

    The total number of steps run in all specified AWS Regions and accounts for the current /// Automation execution.

    @@ -19175,12 +17746,11 @@ impl ProgressCounters { ///

    Information about targets that resolved during the Automation execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ResolvedTargets { ///

    A list of parameter values sent to targets that resolved during the Automation /// execution.

    #[serde(rename = "ParameterValues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameter_values: std::option::Option>, ///

    A boolean value indicating whether the resolved target list is truncated.

    @@ -19245,40 +17815,31 @@ impl ResolvedTargets { ///

    Detailed information about an the execution state of an Automation step.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StepExecution { ///

    The name of this execution step.

    #[serde(rename = "StepName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub step_name: std::option::Option, ///

    The action this step performs. The action determines the behavior of the step.

    #[serde(rename = "Action")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub action: std::option::Option, ///

    The timeout seconds of the step.

    #[serde(rename = "TimeoutSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub timeout_seconds: std::option::Option, ///

    The action to take if the step fails. The default value is Abort.

    #[serde(rename = "OnFailure")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub on_failure: std::option::Option, ///

    The maximum number of tries to run the action of the step. The default value is 1.

    #[serde(rename = "MaxAttempts")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_attempts: std::option::Option, ///

    If a step has begun execution, this contains the time the step started. If the step is in /// Pending status, this field is not populated.

    #[serde(rename = "ExecutionStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -19287,10 +17848,6 @@ pub struct StepExecution { ///

    If a step has finished execution, this contains the time the execution ended. If the step /// has not yet concluded, this field is not populated.

    #[serde(rename = "ExecutionEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -19298,50 +17855,41 @@ pub struct StepExecution { pub execution_end_time: std::option::Option, ///

    The execution status for this step.

    #[serde(rename = "StepStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub step_status: std::option::Option, ///

    The response code returned by the execution of the step.

    #[serde(rename = "ResponseCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response_code: std::option::Option, ///

    Fully-resolved values passed into the step before execution.

    #[serde(rename = "Inputs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub inputs: std::option::Option>, ///

    Returned values from the execution of the step.

    #[serde(rename = "Outputs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub outputs: std::option::Option< std::collections::HashMap>, >, ///

    A message associated with the response code for an execution.

    #[serde(rename = "Response")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub response: std::option::Option, ///

    If a step failed, this message explains why the execution failed.

    #[serde(rename = "FailureMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_message: std::option::Option, ///

    Information about the Automation failure.

    #[serde(rename = "FailureDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_details: std::option::Option, ///

    The unique ID of a step execution.

    #[serde(rename = "StepExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub step_execution_id: std::option::Option, ///

    A user-specified list of parameters to override when running a step.

    #[serde(rename = "OverriddenParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub overridden_parameters: std::option::Option< std::collections::HashMap>, @@ -19349,18 +17897,15 @@ pub struct StepExecution { ///

    The flag which can be used to end automation no matter whether the step succeeds or /// fails.

    #[serde(rename = "IsEnd")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub is_end: std::option::Option, ///

    The next step after the step succeeds.

    #[serde(rename = "NextStep")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub next_step: std::option::Option, ///

    The flag which can be used to help decide whether the failure of current step leads to the /// Automation failure.

    #[serde(rename = "IsCritical")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub is_critical: std::option::Option, ///

    Strategies used when step fails, we support Continue and Abort. Abort will fail the @@ -19368,18 +17913,15 @@ pub struct StepExecution { /// automation to run the next step. With conditional branching, we add step:stepName to support the /// automation to go to another specific step.

    #[serde(rename = "ValidNextSteps")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub valid_next_steps: std::option::Option>, ///

    The targets for the step execution.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The combination of AWS Regions and accounts targeted by the current Automation /// execution.

    #[serde(rename = "TargetLocation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_location: std::option::Option, } @@ -19747,23 +18289,20 @@ impl StepExecution { ///

    Information about an Automation failure.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FailureDetails { ///

    The stage of the Automation execution when the failure occurred. The stages include the /// following: InputValidation, PreVerification, Invocation, PostVerification.

    #[serde(rename = "FailureStage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_stage: std::option::Option, ///

    The type of Automation failure. Failure types include the following: Action, Permission, /// Throttling, Verification, Internal.

    #[serde(rename = "FailureType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_type: std::option::Option, ///

    Detailed information about the Automation step failure.

    #[serde(rename = "Details")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub details: std::option::Option< std::collections::HashMap>, @@ -19909,7 +18448,6 @@ impl std::convert::From<&str> for AutomationExecutionStatus { } } } - impl std::str::FromStr for AutomationExecutionStatus { type Err = std::convert::Infallible; @@ -19917,7 +18455,6 @@ impl std::str::FromStr for AutomationExecutionStatus { Ok(AutomationExecutionStatus::from(s)) } } - impl AutomationExecutionStatus { pub fn as_str(&self) -> &str { match self { @@ -19954,19 +18491,6 @@ impl AsRef for AutomationExecutionStatus { self.as_str() } } - -impl serde::Serialize for AutomationExecutionStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AutomationExecutionStatus { fn deserialize(deserializer: D) -> Result where @@ -19979,29 +18503,22 @@ impl<'de> serde::Deserialize<'de> for AutomationExecutionStatus { ///

    Information about a Session Manager connection to an instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Session { ///

    The ID of the session.

    #[serde(rename = "SessionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub session_id: std::option::Option, ///

    The instance that the Session Manager session connected to.

    #[serde(rename = "Target")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target: std::option::Option, ///

    The status of the session. For example, "Connected" or "Terminated".

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The date and time, in ISO-8601 Extended format, when the session began.

    #[serde(rename = "StartDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -20009,10 +18526,6 @@ pub struct Session { pub start_date: std::option::Option, ///

    The date and time, in ISO-8601 Extended format, when the session was terminated.

    #[serde(rename = "EndDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -20021,22 +18534,18 @@ pub struct Session { ///

    The name of the Session Manager SSM document used to define the parameters and plugin settings for the /// session. For example, SSM-SessionManagerRunShell.

    #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_name: std::option::Option, ///

    The ID of the AWS user account that started the session.

    #[serde(rename = "Owner")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owner: std::option::Option, ///

    Reserved for future use.

    #[serde(rename = "Details")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub details: std::option::Option, ///

    Reserved for future use.

    #[serde(rename = "OutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_url: std::option::Option, } @@ -20182,16 +18691,14 @@ impl Session { ///

    Reserved for future use.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SessionManagerOutputUrl { ///

    Reserved for future use.

    #[serde(rename = "S3OutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_output_url: std::option::Option, ///

    Reserved for future use.

    #[serde(rename = "CloudWatchOutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cloud_watch_output_url: std::option::Option, } @@ -20282,7 +18789,6 @@ impl std::convert::From<&str> for SessionStatus { } } } - impl std::str::FromStr for SessionStatus { type Err = std::convert::Infallible; @@ -20290,7 +18796,6 @@ impl std::str::FromStr for SessionStatus { Ok(SessionStatus::from(s)) } } - impl SessionStatus { pub fn as_str(&self) -> &str { match self { @@ -20309,19 +18814,6 @@ impl AsRef for SessionStatus { self.as_str() } } - -impl serde::Serialize for SessionStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SessionStatus { fn deserialize(deserializer: D) -> Result where @@ -20334,11 +18826,10 @@ impl<'de> serde::Deserialize<'de> for SessionStatus { ///

    Describes a filter for Session Manager information.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct SessionFilter { ///

    The name of the filter.

    #[serde(rename = "key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter value. Valid values for each filter key are as follows:

    @@ -20386,7 +18877,6 @@ pub struct SessionFilter { /// /// #[serde(rename = "value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -20517,7 +19007,6 @@ impl std::convert::From<&str> for SessionFilterKey { } } } - impl std::str::FromStr for SessionFilterKey { type Err = std::convert::Infallible; @@ -20525,7 +19014,6 @@ impl std::str::FromStr for SessionFilterKey { Ok(SessionFilterKey::from(s)) } } - impl SessionFilterKey { pub fn as_str(&self) -> &str { match self { @@ -20544,19 +19032,6 @@ impl AsRef for SessionFilterKey { self.as_str() } } - -impl serde::Serialize for SessionFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for SessionFilterKey { fn deserialize(deserializer: D) -> Result where @@ -20591,7 +19066,6 @@ impl std::convert::From<&str> for SessionState { } } } - impl std::str::FromStr for SessionState { type Err = std::convert::Infallible; @@ -20599,7 +19073,6 @@ impl std::str::FromStr for SessionState { Ok(SessionState::from(s)) } } - impl SessionState { pub fn as_str(&self) -> &str { match self { @@ -20609,24 +19082,11 @@ impl SessionState { } } } -impl AsRef for SessionState { - fn as_ref(&self) -> &str { - self.as_str() - } -} - -impl serde::Serialize for SessionState { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) +impl AsRef for SessionState { + fn as_ref(&self) -> &str { + self.as_str() } } - impl<'de> serde::Deserialize<'de> for SessionState { fn deserialize(deserializer: D) -> Result where @@ -20661,7 +19121,6 @@ impl std::convert::From<&str> for PatchSet { } } } - impl std::str::FromStr for PatchSet { type Err = std::convert::Infallible; @@ -20669,7 +19128,6 @@ impl std::str::FromStr for PatchSet { Ok(PatchSet::from(s)) } } - impl PatchSet { pub fn as_str(&self) -> &str { match self { @@ -20684,19 +19142,6 @@ impl AsRef for PatchSet { self.as_str() } } - -impl serde::Serialize for PatchSet { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchSet { fn deserialize(deserializer: D) -> Result where @@ -20739,7 +19184,6 @@ impl std::convert::From<&str> for PatchProperty { } } } - impl std::str::FromStr for PatchProperty { type Err = std::convert::Infallible; @@ -20747,7 +19191,6 @@ impl std::str::FromStr for PatchProperty { Ok(PatchProperty::from(s)) } } - impl PatchProperty { pub fn as_str(&self) -> &str { match self { @@ -20766,19 +19209,6 @@ impl AsRef for PatchProperty { self.as_str() } } - -impl serde::Serialize for PatchProperty { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchProperty { fn deserialize(deserializer: D) -> Result where @@ -20792,16 +19222,14 @@ impl<'de> serde::Deserialize<'de> for PatchProperty { ///

    The mapping between a patch group and the patch baseline the patch group is registered /// with.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchGroupPatchBaselineMapping { ///

    The name of the patch group registered with the patch baseline.

    #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch_group: std::option::Option, ///

    The patch baseline the patch group is registered with.

    #[serde(rename = "BaselineIdentity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub baseline_identity: std::option::Option, } @@ -20862,27 +19290,23 @@ impl PatchGroupPatchBaselineMapping { ///

    Defines the basic information about a patch baseline.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchBaselineIdentity { ///

    The ID of the patch baseline.

    #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub baseline_id: std::option::Option, ///

    The name of the patch baseline.

    #[serde(rename = "BaselineName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub baseline_name: std::option::Option, ///

    Defines the operating system the patch baseline applies to. The Default value is WINDOWS. ///

    #[serde(rename = "OperatingSystem")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operating_system: std::option::Option, ///

    The description of the patch baseline.

    #[serde(rename = "BaselineDescription")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub baseline_description: std::option::Option, ///

    Whether this is the default baseline. Note that Systems Manager supports creating multiple default @@ -20990,16 +19414,14 @@ impl PatchBaselineIdentity { ///

    Defines a filter used in Patch Manager APIs.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchOrchestratorFilter { ///

    The key for the filter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value for the filter.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -21062,30 +19484,23 @@ impl PatchOrchestratorFilter { ///

    Metadata includes information like the ARN of the last user and the date/time the parameter /// was last used.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParameterMetadata { ///

    The parameter name.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The type of parameter. Valid parameter types include the following: String, /// StringList, and SecureString.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    The ID of the query key used for this parameter.

    #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key_id: std::option::Option, ///

    Date the parameter was last changed or updated.

    #[serde(rename = "LastModifiedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21093,18 +19508,15 @@ pub struct ParameterMetadata { pub last_modified_date: std::option::Option, ///

    Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

    #[serde(rename = "LastModifiedUser")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_user: std::option::Option, ///

    Description of the parameter actions.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    A parameter name can include only the following letters and symbols.

    ///

    a-zA-Z0-9_.-

    #[serde(rename = "AllowedPattern")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub allowed_pattern: std::option::Option, ///

    The parameter version.

    @@ -21112,18 +19524,15 @@ pub struct ParameterMetadata { pub version: i64, ///

    The parameter tier.

    #[serde(rename = "Tier")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tier: std::option::Option, ///

    A list of policies associated with a parameter.

    #[serde(rename = "Policies")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub policies: std::option::Option>, ///

    The data type of the parameter, such as text or aws:ec2:image. The /// default is text.

    #[serde(rename = "DataType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub data_type: std::option::Option, } @@ -21306,16 +19715,14 @@ impl ParameterMetadata { ///

    This data type is deprecated. Instead, use ParameterStringFilter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ParametersFilter { ///

    The name of the filter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter values.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -21404,7 +19811,6 @@ impl std::convert::From<&str> for ParametersFilterKey { } } } - impl std::str::FromStr for ParametersFilterKey { type Err = std::convert::Infallible; @@ -21412,7 +19818,6 @@ impl std::str::FromStr for ParametersFilterKey { Ok(ParametersFilterKey::from(s)) } } - impl ParametersFilterKey { pub fn as_str(&self) -> &str { match self { @@ -21428,19 +19833,6 @@ impl AsRef for ParametersFilterKey { self.as_str() } } - -impl serde::Serialize for ParametersFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ParametersFilterKey { fn deserialize(deserializer: D) -> Result where @@ -21453,19 +19845,14 @@ impl<'de> serde::Deserialize<'de> for ParametersFilterKey { ///

    A count of OpsItems.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemSummary { ///

    The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

    #[serde(rename = "CreatedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub created_by: std::option::Option, ///

    The date and time the OpsItem was created.

    #[serde(rename = "CreatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21473,15 +19860,10 @@ pub struct OpsItemSummary { pub created_time: std::option::Option, ///

    The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

    #[serde(rename = "LastModifiedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_modified_by: std::option::Option, ///

    The date and time the OpsItem was last updated.

    #[serde(rename = "LastModifiedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21489,61 +19871,48 @@ pub struct OpsItemSummary { pub last_modified_time: std::option::Option, ///

    The importance of this OpsItem in relation to other OpsItems in the system.

    #[serde(rename = "Priority")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub priority: std::option::Option, ///

    The impacted AWS resource.

    #[serde(rename = "Source")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub source: std::option::Option, ///

    The OpsItem status. Status can be Open, In Progress, or /// Resolved.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The ID of the OpsItem.

    #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, ///

    A short heading that describes the nature of the OpsItem and the impacted resource.

    #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub title: std::option::Option, ///

    Operational data is custom data that provides useful reference details about the OpsItem. ///

    #[serde(rename = "OperationalData")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operational_data: std::option::Option< std::collections::HashMap, >, ///

    A list of OpsItems by category.

    #[serde(rename = "Category")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub category: std::option::Option, ///

    A list of OpsItems by severity.

    #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity: std::option::Option, ///

    The type of OpsItem. Currently, the only valid values are /aws/changerequest /// and /aws/issue.

    #[serde(rename = "OpsItemType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_type: std::option::Option, ///

    The time a runbook workflow started. Currently reported only for the OpsItem type /// /aws/changerequest.

    #[serde(rename = "ActualStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21552,10 +19921,6 @@ pub struct OpsItemSummary { ///

    The time a runbook workflow ended. Currently reported only for the OpsItem type /// /aws/changerequest.

    #[serde(rename = "ActualEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21564,10 +19929,6 @@ pub struct OpsItemSummary { ///

    The time specified in a change request for a runbook workflow to start. Currently supported /// only for the OpsItem type /aws/changerequest.

    #[serde(rename = "PlannedStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21576,10 +19937,6 @@ pub struct OpsItemSummary { ///

    The time specified in a change request for a runbook workflow to end. Currently supported /// only for the OpsItem type /aws/changerequest.

    #[serde(rename = "PlannedEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -21856,21 +20213,18 @@ impl OpsItemSummary { ///

    Describes an OpsItem filter.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItemFilter { ///

    The name of the filter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter value.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The operator used by the filter call.

    #[serde(rename = "Operator")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operator: std::option::Option, } @@ -21973,7 +20327,6 @@ impl std::convert::From<&str> for OpsItemFilterOperator { } } } - impl std::str::FromStr for OpsItemFilterOperator { type Err = std::convert::Infallible; @@ -21981,7 +20334,6 @@ impl std::str::FromStr for OpsItemFilterOperator { Ok(OpsItemFilterOperator::from(s)) } } - impl OpsItemFilterOperator { pub fn as_str(&self) -> &str { match self { @@ -21998,19 +20350,6 @@ impl AsRef for OpsItemFilterOperator { self.as_str() } } - -impl serde::Serialize for OpsItemFilterOperator { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemFilterOperator { fn deserialize(deserializer: D) -> Result where @@ -22095,7 +20434,6 @@ impl std::convert::From<&str> for OpsItemFilterKey { } } } - impl std::str::FromStr for OpsItemFilterKey { type Err = std::convert::Infallible; @@ -22103,7 +20441,6 @@ impl std::str::FromStr for OpsItemFilterKey { Ok(OpsItemFilterKey::from(s)) } } - impl OpsItemFilterKey { pub fn as_str(&self) -> &str { match self { @@ -22144,19 +20481,6 @@ impl AsRef for OpsItemFilterKey { self.as_str() } } - -impl serde::Serialize for OpsItemFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for OpsItemFilterKey { fn deserialize(deserializer: D) -> Result where @@ -22169,36 +20493,31 @@ impl<'de> serde::Deserialize<'de> for OpsItemFilterKey { ///

    Information about a task defined for a maintenance window.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowTask { ///

    The ID of the maintenance window where the task is registered.

    #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_id: std::option::Option, ///

    The task ID.

    #[serde(rename = "WindowTaskId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_task_id: std::option::Option, ///

    The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, /// TaskArn is the Systems Manager document name or ARN. For LAMBDA tasks, it's the function name /// or ARN. For STEP_FUNCTIONS tasks, it's the state machine ARN.

    #[serde(rename = "TaskArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_arn: std::option::Option, ///

    The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or /// STEP_FUNCTIONS.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, ///

    The targets (either instances or tags). Instances are specified using /// Key=instanceids,Values=,. Tags are specified using /// Key=,Values=.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The parameters that should be passed to the task when it is run.

    @@ -22210,7 +20529,6 @@ pub struct MaintenanceWindowTask { /// types, see MaintenanceWindowTaskInvocationParameters.

    /// #[serde(rename = "TaskParameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_parameters: std::option::Option< std::collections::HashMap< @@ -22231,33 +20549,27 @@ pub struct MaintenanceWindowTask { /// window task types, see MaintenanceWindowTaskInvocationParameters.

    /// #[serde(rename = "LoggingInfo")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub logging_info: std::option::Option, ///

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for /// maintenance window Run Command tasks.

    #[serde(rename = "ServiceRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub service_role_arn: std::option::Option, ///

    The maximum number of targets this task can be run for, in parallel.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The maximum number of errors allowed before this task stops being scheduled.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The task name.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    A description of the task.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, } @@ -22493,16 +20805,14 @@ impl MaintenanceWindowTask { ///

    Filter used in the request. Supported filter keys are Name and Enabled.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowFilter { ///

    The name of the filter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter values.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -22564,21 +20874,18 @@ impl MaintenanceWindowFilter { ///

    The target registered with the maintenance window.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowTarget { ///

    The ID of the maintenance window to register the target with.

    #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_id: std::option::Option, ///

    The ID of the target.

    #[serde(rename = "WindowTargetId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_target_id: std::option::Option, ///

    The type of target that is being registered with the maintenance window.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The targets, either instances or tags.

    @@ -22590,23 +20897,19 @@ pub struct MaintenanceWindowTarget { ///

    /// Key=,Values=.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    A user-provided value that will be included in any CloudWatch events that are raised while /// running tasks for these targets in this maintenance window.

    #[serde(rename = "OwnerInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owner_information: std::option::Option, ///

    The name for the maintenance window target.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    A description for the target.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, } @@ -22738,16 +21041,14 @@ impl MaintenanceWindowTarget { ///

    The maintenance window to which the specified target belongs.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowIdentityForTarget { ///

    The ID of the maintenance window.

    #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_id: std::option::Option, ///

    The name of the maintenance window.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, } @@ -22805,22 +21106,19 @@ impl MaintenanceWindowIdentityForTarget { ///

    Information about a scheduled execution for a maintenance window.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct ScheduledWindowExecution { ///

    The ID of the maintenance window to be run.

    #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_id: std::option::Option, ///

    The name of the maintenance window to be run.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be /// run.

    #[serde(rename = "ExecutionTime")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_time: std::option::Option, } @@ -22891,21 +21189,18 @@ impl ScheduledWindowExecution { ///

    Information about the maintenance window.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowIdentity { ///

    The ID of the maintenance window.

    #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_id: std::option::Option, ///

    The name of the maintenance window.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    A description of the maintenance window.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    Indicates whether the maintenance window is enabled.

    @@ -22920,37 +21215,31 @@ pub struct MaintenanceWindowIdentity { pub cutoff: i32, ///

    The schedule of the maintenance window in the form of a cron or rate expression.

    #[serde(rename = "Schedule")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule: std::option::Option, ///

    The time zone that the scheduled maintenance window executions are based on, in Internet /// Assigned Numbers Authority (IANA) format.

    #[serde(rename = "ScheduleTimezone")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule_timezone: std::option::Option, ///

    The number of days to wait to run a maintenance window after the scheduled CRON expression /// date and time.

    #[serde(rename = "ScheduleOffset")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule_offset: std::option::Option, ///

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled /// to become inactive.

    #[serde(rename = "EndDate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub end_date: std::option::Option, ///

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled /// to become active.

    #[serde(rename = "StartDate")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub start_date: std::option::Option, ///

    The next time the maintenance window will actually run, taking into account any specified /// times for the maintenance window to become active or inactive.

    #[serde(rename = "NextExecutionTime")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub next_execution_time: std::option::Option, } @@ -23141,35 +21430,27 @@ impl MaintenanceWindowIdentity { ///

    Information about a task execution performed as part of a maintenance window /// execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowExecutionTaskIdentity { ///

    The ID of the maintenance window execution that ran the task.

    #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_execution_id: std::option::Option, ///

    The ID of the specific task execution in the maintenance window execution.

    #[serde(rename = "TaskExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_execution_id: std::option::Option, ///

    The status of the task execution.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The details explaining the status of the task execution. Only available for certain status /// values.

    #[serde(rename = "StatusDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_details: std::option::Option, ///

    The time the task execution started.

    #[serde(rename = "StartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23177,10 +21458,6 @@ pub struct MaintenanceWindowExecutionTaskIdentity { pub start_time: std::option::Option, ///

    The time the task execution finished.

    #[serde(rename = "EndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23188,12 +21465,10 @@ pub struct MaintenanceWindowExecutionTaskIdentity { pub end_time: std::option::Option, ///

    The ARN of the task that ran.

    #[serde(rename = "TaskArn")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_arn: std::option::Option, ///

    The type of task that ran.

    #[serde(rename = "TaskType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_type: std::option::Option, } @@ -23337,56 +21612,44 @@ impl MaintenanceWindowExecutionTaskIdentity { ///

    Describes the information about a task invocation for a particular target as part of a task /// execution performed as part of a maintenance window execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowExecutionTaskInvocationIdentity { ///

    The ID of the maintenance window execution that ran the task.

    #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_execution_id: std::option::Option, ///

    The ID of the specific task execution in the maintenance window execution.

    #[serde(rename = "TaskExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_execution_id: std::option::Option, ///

    The ID of the task invocation.

    #[serde(rename = "InvocationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub invocation_id: std::option::Option, ///

    The ID of the action performed in the service that actually handled the task invocation. If /// the task type is RUN_COMMAND, this value is the command ID.

    #[serde(rename = "ExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_id: std::option::Option, ///

    The task type.

    #[serde(rename = "TaskType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub task_type: std::option::Option, ///

    The parameters that were provided for the invocation when it was run.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option, ///

    The status of the task invocation.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The details explaining the status of the task invocation. Only available for certain Status /// values.

    #[serde(rename = "StatusDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_details: std::option::Option, ///

    The time the invocation started.

    #[serde(rename = "StartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23394,10 +21657,6 @@ pub struct MaintenanceWindowExecutionTaskInvocationIdentity { pub start_time: std::option::Option, ///

    The time the invocation finished.

    #[serde(rename = "EndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23406,13 +21665,11 @@ pub struct MaintenanceWindowExecutionTaskInvocationIdentity { ///

    User-provided value that was specified when the target was registered with the maintenance /// window. This was also included in any CloudWatch events raised during the task invocation.

    #[serde(rename = "OwnerInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owner_information: std::option::Option, ///

    The ID of the target definition in this maintenance window the invocation was performed /// for.

    #[serde(rename = "WindowTargetId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_target_id: std::option::Option, } @@ -23613,34 +21870,26 @@ impl MaintenanceWindowExecutionTaskInvocationIdentity { ///

    Describes the information about an execution of a maintenance window.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct MaintenanceWindowExecution { ///

    The ID of the maintenance window.

    #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_id: std::option::Option, ///

    The ID of the maintenance window execution.

    #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub window_execution_id: std::option::Option, ///

    The status of the execution.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    The details explaining the Status. Only available for certain status values.

    #[serde(rename = "StatusDetails")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status_details: std::option::Option, ///

    The time the execution started.

    #[serde(rename = "StartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23648,10 +21897,6 @@ pub struct MaintenanceWindowExecution { pub start_time: std::option::Option, ///

    The time the execution finished.

    #[serde(rename = "EndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23766,24 +22011,18 @@ impl MaintenanceWindowExecution { ///

    Status information returned by the DeleteInventory action.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryDeletionStatusItem { ///

    The deletion ID returned by the DeleteInventory action.

    #[serde(rename = "DeletionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub deletion_id: std::option::Option, ///

    The name of the inventory data type.

    #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub type_name: std::option::Option, ///

    The UTC timestamp when the delete operation started.

    #[serde(rename = "DeletionStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23791,26 +22030,19 @@ pub struct InventoryDeletionStatusItem { pub deletion_start_time: std::option::Option, ///

    The status of the operation. Possible values are InProgress and Complete.

    #[serde(rename = "LastStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_status: std::option::Option, ///

    Information about the status.

    #[serde(rename = "LastStatusMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub last_status_message: std::option::Option, ///

    Information about the delete operation. For more information about this summary, see Understanding the delete inventory summary in the /// AWS Systems Manager User Guide.

    #[serde(rename = "DeletionSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub deletion_summary: std::option::Option, ///

    The UTC timestamp of when the last status report.

    #[serde(rename = "LastStatusUpdateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -23947,7 +22179,7 @@ impl InventoryDeletionStatusItem { ///

    Information about the delete operation.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryDeletionSummary { ///

    The total number of items to delete. This count does not change during the delete /// operation.

    @@ -23958,7 +22190,6 @@ pub struct InventoryDeletionSummary { pub remaining_count: i32, ///

    A list of counts and versions for deleted items.

    #[serde(rename = "SummaryItems")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub summary_items: std::option::Option>, @@ -24038,11 +22269,10 @@ impl InventoryDeletionSummary { ///

    Either a count, remaining count, or a version number in a delete inventory summary.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InventoryDeletionSummaryItem { ///

    The inventory type version.

    #[serde(rename = "Version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

    A count of the number of deleted items.

    @@ -24140,7 +22370,6 @@ impl std::convert::From<&str> for InventoryDeletionStatus { } } } - impl std::str::FromStr for InventoryDeletionStatus { type Err = std::convert::Infallible; @@ -24148,7 +22377,6 @@ impl std::str::FromStr for InventoryDeletionStatus { Ok(InventoryDeletionStatus::from(s)) } } - impl InventoryDeletionStatus { pub fn as_str(&self) -> &str { match self { @@ -24163,19 +22391,6 @@ impl AsRef for InventoryDeletionStatus { self.as_str() } } - -impl serde::Serialize for InventoryDeletionStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventoryDeletionStatus { fn deserialize(deserializer: D) -> Result where @@ -24190,28 +22405,24 @@ impl<'de> serde::Deserialize<'de> for InventoryDeletionStatus { /// about the number of installed, missing, not applicable, and failed patches along with metadata /// about the operation when this information was gathered for the instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstancePatchState { ///

    The ID of the managed instance the high-level patch compliance information was collected /// for.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    The name of the patch group the managed instance belongs to.

    #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch_group: std::option::Option, ///

    The ID of the patch baseline used to patch the instance.

    #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub baseline_id: std::option::Option, ///

    The ID of the patch baseline snapshot used during the patching operation when this /// compliance data was collected.

    #[serde(rename = "SnapshotId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub snapshot_id: std::option::Option, ///

    An https URL or an Amazon S3 path-style URL to a list of patches to be installed. This patch @@ -24221,13 +22432,11 @@ pub struct InstancePatchState { ///

    For more information about the InstallOverrideList parameter, see About the /// SSM document AWS-RunPatchBaseline in the AWS Systems Manager User Guide.

    #[serde(rename = "InstallOverrideList")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub install_override_list: std::option::Option, ///

    Placeholder information. This field will always be empty in the current release of the /// service.

    #[serde(rename = "OwnerInformation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub owner_information: std::option::Option, ///

    The number of patches from the patch baseline that are installed on the instance.

    @@ -24240,7 +22449,6 @@ pub struct InstancePatchState { ///

    The number of patches installed by Patch Manager since the last time the instance was /// rebooted.

    #[serde(rename = "InstalledPendingRebootCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub installed_pending_reboot_count: std::option::Option, ///

    The number of patches installed on an instance that are specified in a @@ -24253,7 +22461,6 @@ pub struct InstancePatchState { /// always be 0 (zero).

    /// #[serde(rename = "InstalledRejectedCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub installed_rejected_count: std::option::Option, ///

    The number of patches from the patch baseline that are applicable for the instance but @@ -24267,7 +22474,6 @@ pub struct InstancePatchState { ///

    The number of patches beyond the supported limit of NotApplicableCount that are /// not reported by name to Systems Manager Inventory.

    #[serde(rename = "UnreportedNotApplicableCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub unreported_not_applicable_count: std::option::Option, ///

    The number of patches from the patch baseline that aren't applicable for the instance and @@ -24278,10 +22484,6 @@ pub struct InstancePatchState { pub not_applicable_count: i32, ///

    The time the most recent patching operation was started on the instance.

    #[serde(rename = "OperationStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -24289,10 +22491,6 @@ pub struct InstancePatchState { pub operation_start_time: std::option::Option, ///

    The time the most recent patching operation completed on the instance.

    #[serde(rename = "OperationEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -24301,16 +22499,11 @@ pub struct InstancePatchState { ///

    The type of patching operation that was performed: SCAN (assess patch /// compliance state) or INSTALL (install missing patches).

    #[serde(rename = "Operation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub operation: std::option::Option, ///

    The time of the last attempt to patch the instance with NoReboot specified as /// the reboot option.

    #[serde(rename = "LastNoRebootInstallOperationTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -24337,7 +22530,6 @@ pub struct InstancePatchState { /// /// #[serde(rename = "RebootOption")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub reboot_option: std::option::Option, ///

    The number of instances where patches that are specified as "Critical" for compliance @@ -24345,7 +22537,6 @@ pub struct InstancePatchState { /// installation, were rejected, or were installed but awaiting a required instance reboot. The /// status of these instances is NON_COMPLIANT.

    #[serde(rename = "CriticalNonCompliantCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub critical_non_compliant_count: std::option::Option, ///

    The number of instances where patches that are specified as "Security" in a patch advisory @@ -24353,14 +22544,12 @@ pub struct InstancePatchState { /// were installed but awaiting a required instance reboot. The status of these instances is /// NON_COMPLIANT.

    #[serde(rename = "SecurityNonCompliantCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub security_non_compliant_count: std::option::Option, ///

    The number of instances with patches installed that are specified as other than "Critical" /// or "Security" but are not compliant with the patch baseline. The status of these instances is /// NON_COMPLIANT.

    #[serde(rename = "OtherNonCompliantCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub other_non_compliant_count: std::option::Option, } @@ -24773,7 +22962,6 @@ impl std::convert::From<&str> for RebootOption { } } } - impl std::str::FromStr for RebootOption { type Err = std::convert::Infallible; @@ -24781,7 +22969,6 @@ impl std::str::FromStr for RebootOption { Ok(RebootOption::from(s)) } } - impl RebootOption { pub fn as_str(&self) -> &str { match self { @@ -24796,19 +22983,6 @@ impl AsRef for RebootOption { self.as_str() } } - -impl serde::Serialize for RebootOption { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for RebootOption { fn deserialize(deserializer: D) -> Result where @@ -24843,7 +23017,6 @@ impl std::convert::From<&str> for PatchOperationType { } } } - impl std::str::FromStr for PatchOperationType { type Err = std::convert::Infallible; @@ -24851,7 +23024,6 @@ impl std::str::FromStr for PatchOperationType { Ok(PatchOperationType::from(s)) } } - impl PatchOperationType { pub fn as_str(&self) -> &str { match self { @@ -24866,19 +23038,6 @@ impl AsRef for PatchOperationType { self.as_str() } } - -impl serde::Serialize for PatchOperationType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchOperationType { fn deserialize(deserializer: D) -> Result where @@ -24892,23 +23051,20 @@ impl<'de> serde::Deserialize<'de> for PatchOperationType { ///

    Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to /// scope down the information returned by the API.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstancePatchStateFilter { ///

    The key for the filter. Supported values are FailedCount, InstalledCount, /// InstalledOtherCount, MissingCount and NotApplicableCount.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value for the filter, must be an integer greater than or equal to 0.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, ///

    The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or /// GreaterThan.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -25013,7 +23169,6 @@ impl std::convert::From<&str> for InstancePatchStateOperatorType { } } } - impl std::str::FromStr for InstancePatchStateOperatorType { type Err = std::convert::Infallible; @@ -25021,7 +23176,6 @@ impl std::str::FromStr for InstancePatchStateOperatorType { Ok(InstancePatchStateOperatorType::from(s)) } } - impl InstancePatchStateOperatorType { pub fn as_str(&self) -> &str { match self { @@ -25038,19 +23192,6 @@ impl AsRef for InstancePatchStateOperatorType { self.as_str() } } - -impl serde::Serialize for InstancePatchStateOperatorType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InstancePatchStateOperatorType { fn deserialize(deserializer: D) -> Result where @@ -25064,42 +23205,33 @@ impl<'de> serde::Deserialize<'de> for InstancePatchStateOperatorType { ///

    Information about the state of a patch on a particular instance as it relates to the patch /// baseline used to patch the instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchComplianceData { ///

    The title of the patch.

    #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub title: std::option::Option, ///

    The operating system-specific ID of the patch.

    #[serde(rename = "KBId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kb_id: std::option::Option, ///

    The classification of the patch (for example, SecurityUpdates, Updates, /// CriticalUpdates).

    #[serde(rename = "Classification")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub classification: std::option::Option, ///

    The severity of the patch (for example, Critical, Important, Moderate).

    #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity: std::option::Option, ///

    The state of the patch on the instance, such as INSTALLED or FAILED.

    ///

    For descriptions of each patch state, see About patch compliance in the AWS Systems Manager User Guide.

    #[serde(rename = "State")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub state: std::option::Option, ///

    The date/time the patch was installed on the instance. Note that not all operating systems /// provide this level of information.

    #[serde(rename = "InstalledTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -25108,7 +23240,6 @@ pub struct PatchComplianceData { ///

    The IDs of one or more Common Vulnerabilities and Exposure (CVE) issues that are resolved by /// the patch.

    #[serde(rename = "CVEIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cve_ids: std::option::Option, } @@ -25268,7 +23399,6 @@ impl std::convert::From<&str> for PatchComplianceDataState { } } } - impl std::str::FromStr for PatchComplianceDataState { type Err = std::convert::Infallible; @@ -25276,7 +23406,6 @@ impl std::str::FromStr for PatchComplianceDataState { Ok(PatchComplianceDataState::from(s)) } } - impl PatchComplianceDataState { pub fn as_str(&self) -> &str { match self { @@ -25296,19 +23425,6 @@ impl AsRef for PatchComplianceDataState { self.as_str() } } - -impl serde::Serialize for PatchComplianceDataState { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchComplianceDataState { fn deserialize(deserializer: D) -> Result where @@ -25321,11 +23437,10 @@ impl<'de> serde::Deserialize<'de> for PatchComplianceDataState { ///

    Describes a filter for a specific list of instances.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceInformation { ///

    The instance ID.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    Connection status of SSM Agent.

    @@ -25333,15 +23448,10 @@ pub struct InstanceInformation { ///

    The status Inactive has been deprecated and is no longer in use.

    /// #[serde(rename = "PingStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ping_status: std::option::Option, ///

    The date and time when the agent last pinged the Systems Manager service.

    #[serde(rename = "LastPingDateTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -25349,7 +23459,6 @@ pub struct InstanceInformation { pub last_ping_date_time: std::option::Option, ///

    The version of SSM Agent running on your Linux instance.

    #[serde(rename = "AgentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub agent_version: std::option::Option, ///

    Indicates whether the latest version of SSM Agent is running on your Linux Managed Instance. @@ -25357,27 +23466,22 @@ pub struct InstanceInformation { /// instances, because some older versions of Windows Server use the EC2Config service to process SSM /// requests.

    #[serde(rename = "IsLatestVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub is_latest_version: std::option::Option, ///

    The operating system platform type.

    #[serde(rename = "PlatformType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub platform_type: std::option::Option, ///

    The name of the operating system platform running on your instance.

    #[serde(rename = "PlatformName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub platform_name: std::option::Option, ///

    The version of the OS platform running on your instance.

    #[serde(rename = "PlatformVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub platform_version: std::option::Option, ///

    The activation ID created by Systems Manager when the server or VM was registered.

    #[serde(rename = "ActivationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub activation_id: std::option::Option, ///

    The Amazon Identity and Access Management (IAM) role assigned to the on-premises Systems Manager @@ -25386,15 +23490,10 @@ pub struct InstanceInformation { /// see DescribeInstances in the /// Amazon EC2 API Reference or describe-instances in the AWS CLI Command Reference.

    #[serde(rename = "IamRole")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub iam_role: std::option::Option, ///

    The date the server or VM was registered with AWS as a managed instance.

    #[serde(rename = "RegistrationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -25402,7 +23501,6 @@ pub struct InstanceInformation { pub registration_date: std::option::Option, ///

    The type of instance. Instances are either EC2 instances or managed instances.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The name assigned to an on-premises server or virtual machine (VM) when it is activated as a @@ -25415,30 +23513,22 @@ pub struct InstanceInformation { /// DescribeInstances action. For information, see DescribeInstances in the /// Amazon EC2 API Reference or describe-instances in the AWS CLI Command Reference.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The IP address of the managed instance.

    #[serde(rename = "IPAddress")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ip_address: std::option::Option, ///

    The fully qualified host name of the managed instance.

    #[serde(rename = "ComputerName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub computer_name: std::option::Option, ///

    The status of the association.

    #[serde(rename = "AssociationStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_status: std::option::Option, ///

    The date the association was last run.

    #[serde(rename = "LastAssociationExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -25446,10 +23536,6 @@ pub struct InstanceInformation { pub last_association_execution_date: std::option::Option, ///

    The last date the association was successfully run.

    #[serde(rename = "LastSuccessfulAssociationExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -25457,7 +23543,6 @@ pub struct InstanceInformation { pub last_successful_association_execution_date: std::option::Option, ///

    Information about the association.

    #[serde(rename = "AssociationOverview")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_overview: std::option::Option, @@ -25783,16 +23868,14 @@ impl InstanceInformation { ///

    Status information about the aggregated associations.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceAggregatedAssociationOverview { ///

    Detailed status information about the aggregated associations.

    #[serde(rename = "DetailedStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detailed_status: std::option::Option, ///

    The number of associations for the instance(s).

    #[serde(rename = "InstanceAssociationStatusAggregatedCount")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_association_status_aggregated_count: std::option::Option>, @@ -25893,7 +23976,6 @@ impl std::convert::From<&str> for ResourceType { } } } - impl std::str::FromStr for ResourceType { type Err = std::convert::Infallible; @@ -25901,7 +23983,6 @@ impl std::str::FromStr for ResourceType { Ok(ResourceType::from(s)) } } - impl ResourceType { pub fn as_str(&self) -> &str { match self { @@ -25917,19 +23998,6 @@ impl AsRef for ResourceType { self.as_str() } } - -impl serde::Serialize for ResourceType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for ResourceType { fn deserialize(deserializer: D) -> Result where @@ -25966,7 +24034,6 @@ impl std::convert::From<&str> for PingStatus { } } } - impl std::str::FromStr for PingStatus { type Err = std::convert::Infallible; @@ -25974,7 +24041,6 @@ impl std::str::FromStr for PingStatus { Ok(PingStatus::from(s)) } } - impl PingStatus { pub fn as_str(&self) -> &str { match self { @@ -25990,19 +24056,6 @@ impl AsRef for PingStatus { self.as_str() } } - -impl serde::Serialize for PingStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PingStatus { fn deserialize(deserializer: D) -> Result where @@ -26015,7 +24068,7 @@ impl<'de> serde::Deserialize<'de> for PingStatus { ///

    The filters to describe or get information about your managed instances.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceInformationStringFilter { ///

    The filter key name to describe your instances. For example:

    ///

    "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag @@ -26028,12 +24081,10 @@ pub struct InstanceInformationStringFilter { /// tagKey, abc:keyname.

    /// #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter values.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -26108,16 +24159,14 @@ impl InstanceInformationStringFilter { /// InstanceInformationFilterList method is a legacy method and does not support tags. ///

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceInformationFilter { ///

    The name of the filter.

    #[serde(rename = "key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The filter values.

    #[serde(rename = "valueSet")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value_set: std::option::Option>, } @@ -26216,7 +24265,6 @@ impl std::convert::From<&str> for InstanceInformationFilterKey { } } } - impl std::str::FromStr for InstanceInformationFilterKey { type Err = std::convert::Infallible; @@ -26224,7 +24272,6 @@ impl std::str::FromStr for InstanceInformationFilterKey { Ok(InstanceInformationFilterKey::from(s)) } } - impl InstanceInformationFilterKey { pub fn as_str(&self) -> &str { match self { @@ -26245,19 +24292,6 @@ impl AsRef for InstanceInformationFilterKey { self.as_str() } } - -impl serde::Serialize for InstanceInformationFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InstanceInformationFilterKey { fn deserialize(deserializer: D) -> Result where @@ -26270,39 +24304,30 @@ impl<'de> serde::Deserialize<'de> for InstanceInformationFilterKey { ///

    Status information about the instance association.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceAssociationStatusInfo { ///

    The association ID.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The name of the association.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The association document versions.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The version of the association applied to the instance.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, ///

    The instance ID where the association was created.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    The date the instance association ran.

    #[serde(rename = "ExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -26310,32 +24335,26 @@ pub struct InstanceAssociationStatusInfo { pub execution_date: std::option::Option, ///

    Status information about the instance association.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    Detailed status information about the instance association.

    #[serde(rename = "DetailedStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detailed_status: std::option::Option, ///

    Summary information about association execution.

    #[serde(rename = "ExecutionSummary")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_summary: std::option::Option, ///

    An error code returned by the request to create the association.

    #[serde(rename = "ErrorCode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub error_code: std::option::Option, ///

    A URL for an S3 bucket where you want to store the results of this request.

    #[serde(rename = "OutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_url: std::option::Option, ///

    The name of the association applied to the instance.

    #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_name: std::option::Option, } @@ -26534,11 +24553,10 @@ impl InstanceAssociationStatusInfo { ///

    The URL of S3 bucket where you want to store the results of this request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceAssociationOutputUrl { ///

    The URL of S3 bucket where you want to store the results of this request.

    #[serde(rename = "S3OutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub s3_output_url: std::option::Option, } @@ -26587,11 +24605,10 @@ impl InstanceAssociationOutputUrl { ///

    A URL for the S3 bucket where you want to store the results of this request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct S3OutputUrl { ///

    A URL for an S3 bucket where you want to store the results of this request.

    #[serde(rename = "OutputUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_url: std::option::Option, } @@ -26640,19 +24657,17 @@ impl S3OutputUrl { /// the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly /// rejected and the date the patch was or will be approved.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct EffectivePatch { ///

    Provides metadata for a patch, including information such as the KB ID, severity, /// classification and a URL for where more information can be obtained about the patch.

    #[serde(rename = "Patch")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch: std::option::Option, ///

    The status of the patch in a patch baseline. This includes information about whether the /// patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly /// rejected and the date the patch was or will be approved.

    #[serde(rename = "PatchStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub patch_status: std::option::Option, } @@ -26716,26 +24731,20 @@ impl EffectivePatch { ///

    Information about the approval status of a patch.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct PatchStatus { ///

    The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, /// EXPLICIT_REJECTED).

    #[serde(rename = "DeploymentStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub deployment_status: std::option::Option, ///

    The compliance severity level for a patch.

    #[serde(rename = "ComplianceLevel")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_level: std::option::Option, ///

    The date the patch was approved (or will be approved if the status is /// PENDING_APPROVAL).

    #[serde(rename = "ApprovalDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -26845,7 +24854,6 @@ impl std::convert::From<&str> for PatchDeploymentStatus { } } } - impl std::str::FromStr for PatchDeploymentStatus { type Err = std::convert::Infallible; @@ -26853,7 +24861,6 @@ impl std::str::FromStr for PatchDeploymentStatus { Ok(PatchDeploymentStatus::from(s)) } } - impl PatchDeploymentStatus { pub fn as_str(&self) -> &str { match self { @@ -26870,19 +24877,6 @@ impl AsRef for PatchDeploymentStatus { self.as_str() } } - -impl serde::Serialize for PatchDeploymentStatus { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for PatchDeploymentStatus { fn deserialize(deserializer: D) -> Result where @@ -26895,22 +24889,17 @@ impl<'de> serde::Deserialize<'de> for PatchDeploymentStatus { ///

    Represents metadata about a patch.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Patch { ///

    The ID of the patch. Applies to Windows patches only.

    /// ///

    This ID is not the same as the Microsoft Knowledge Base ID.

    ///
    #[serde(rename = "Id")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub id: std::option::Option, ///

    The date the patch was released.

    #[serde(rename = "ReleaseDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -26918,85 +24907,70 @@ pub struct Patch { pub release_date: std::option::Option, ///

    The title of the patch.

    #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub title: std::option::Option, ///

    The description of the patch.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    The URL where more information can be obtained about the patch.

    #[serde(rename = "ContentUrl")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content_url: std::option::Option, ///

    The name of the vendor providing the patch.

    #[serde(rename = "Vendor")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub vendor: std::option::Option, ///

    The product family the patch is applicable for. For example, Windows or /// Amazon Linux 2.

    #[serde(rename = "ProductFamily")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub product_family: std::option::Option, ///

    The specific product the patch is applicable for. For example, /// WindowsServer2016 or AmazonLinux2018.03.

    #[serde(rename = "Product")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub product: std::option::Option, ///

    The classification of the patch. For example, SecurityUpdates, /// Updates, or CriticalUpdates.

    #[serde(rename = "Classification")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub classification: std::option::Option, ///

    The severity of the patch, such as Critical, Important, or /// Moderate. Applies to Windows patches only.

    #[serde(rename = "MsrcSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub msrc_severity: std::option::Option, ///

    The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.

    #[serde(rename = "KbNumber")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub kb_number: std::option::Option, ///

    The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. /// For example, MS14-045. Applies to Windows patches only.

    #[serde(rename = "MsrcNumber")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub msrc_number: std::option::Option, ///

    The language of the patch if it's language-specific.

    #[serde(rename = "Language")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub language: std::option::Option, ///

    The Advisory ID of the patch. For example, RHSA-2020:3779. Applies to /// Linux-based instances only.

    #[serde(rename = "AdvisoryIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub advisory_ids: std::option::Option>, ///

    The Bugzilla ID of the patch. For example, 1600646. Applies to Linux-based /// instances only.

    #[serde(rename = "BugzillaIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub bugzilla_ids: std::option::Option>, ///

    The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, /// CVE-2011-3192. Applies to Linux-based instances only.

    #[serde(rename = "CVEIds")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub cve_ids: std::option::Option>, ///

    The name of the patch. Applies to Linux-based instances only.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The epoch of the patch. For example in @@ -27008,34 +24982,29 @@ pub struct Patch { /// example-pkg-1.710.10-2.7.abcd.x86_64, the version number is indicated by /// -1. Applies to Linux-based instances only.

    #[serde(rename = "Version")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub version: std::option::Option, ///

    The particular release of a patch. For example, in /// pkg-example-EE-20180914-2.2.amzn1.noarch, the release is 2.amaz1. /// Applies to Linux-based instances only.

    #[serde(rename = "Release")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub release: std::option::Option, ///

    The architecture of the patch. For example, in /// example-pkg-0.710.10-2.7.abcd.x86_64, the architecture is indicated by /// x86_64. Applies to Linux-based instances only.

    #[serde(rename = "Arch")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub arch: std::option::Option, ///

    The severity level of the patch. For example, CRITICAL or /// MODERATE.

    #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub severity: std::option::Option, ///

    The source patch repository for the operating system and version, such as /// trusty-security for Ubuntu Server 14.04 LTE and focal-security for /// Ubuntu Server 20.04 LTE. Applies to Linux-based instances only.

    #[serde(rename = "Repository")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub repository: std::option::Option, } @@ -27376,26 +25345,22 @@ impl Patch { ///

    One or more association documents on the instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceAssociation { ///

    The association ID.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The instance ID.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    The content of the association document for the instance(s).

    #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub content: std::option::Option, ///

    Version information for the association on the instance.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, } @@ -27481,16 +25446,14 @@ impl InstanceAssociation { ///

    Information includes the AWS account ID where the current document is shared and the version /// shared with that account.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AccountSharingInfo { ///

    The AWS account ID where the current document is shared.

    #[serde(rename = "AccountId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub account_id: std::option::Option, ///

    The version of the current document shared with the account.

    #[serde(rename = "SharedDocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub shared_document_version: std::option::Option, } @@ -27551,17 +25514,15 @@ impl AccountSharingInfo { ///

    A filter to limit the amount of step execution information returned by the call.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct StepExecutionFilter { ///

    One or more keys to limit the results. Valid filter keys include the following: StepName, /// Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The values of the filter key.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -27657,7 +25618,6 @@ impl std::convert::From<&str> for StepExecutionFilterKey { } } } - impl std::str::FromStr for StepExecutionFilterKey { type Err = std::convert::Infallible; @@ -27665,7 +25625,6 @@ impl std::str::FromStr for StepExecutionFilterKey { Ok(StepExecutionFilterKey::from(s)) } } - impl StepExecutionFilterKey { pub fn as_str(&self) -> &str { match self { @@ -27684,19 +25643,6 @@ impl AsRef for StepExecutionFilterKey { self.as_str() } } - -impl serde::Serialize for StepExecutionFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for StepExecutionFilterKey { fn deserialize(deserializer: D) -> Result where @@ -27709,34 +25655,26 @@ impl<'de> serde::Deserialize<'de> for StepExecutionFilterKey { ///

    Details about a specific Automation execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationExecutionMetadata { ///

    The execution ID.

    #[serde(rename = "AutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_execution_id: std::option::Option, ///

    The name of the Automation document used during execution.

    #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_name: std::option::Option, ///

    The document version used during the execution.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The status of the execution.

    #[serde(rename = "AutomationExecutionStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_execution_status: std::option::Option, ///

    The time the execution started.

    #[serde(rename = "ExecutionStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -27745,10 +25683,6 @@ pub struct AutomationExecutionMetadata { ///

    The time the execution finished. This is not populated if the execution is still in /// progress.

    #[serde(rename = "ExecutionEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -27756,59 +25690,48 @@ pub struct AutomationExecutionMetadata { pub execution_end_time: std::option::Option, ///

    The IAM role ARN of the user who ran the Automation.

    #[serde(rename = "ExecutedBy")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub executed_by: std::option::Option, ///

    An S3 bucket where execution information is stored.

    #[serde(rename = "LogFile")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub log_file: std::option::Option, ///

    The list of execution outputs as defined in the Automation document.

    #[serde(rename = "Outputs")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub outputs: std::option::Option< std::collections::HashMap>, >, ///

    The Automation execution mode.

    #[serde(rename = "Mode")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub mode: std::option::Option, ///

    The ExecutionId of the parent Automation.

    #[serde(rename = "ParentAutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parent_automation_execution_id: std::option::Option, ///

    The name of the step that is currently running.

    #[serde(rename = "CurrentStepName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub current_step_name: std::option::Option, ///

    The action of the step that is currently running.

    #[serde(rename = "CurrentAction")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub current_action: std::option::Option, ///

    The list of execution outputs as defined in the Automation document.

    #[serde(rename = "FailureMessage")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub failure_message: std::option::Option, ///

    The list of execution outputs as defined in the Automation document.

    #[serde(rename = "TargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_parameter_name: std::option::Option, ///

    The targets defined by the user when starting the Automation.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    The specified key-value mapping of document parameters to target resources.

    #[serde(rename = "TargetMaps")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_maps: std::option::Option< std::vec::Vec< @@ -27817,22 +25740,18 @@ pub struct AutomationExecutionMetadata { >, ///

    A list of targets that resolved during the execution.

    #[serde(rename = "ResolvedTargets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resolved_targets: std::option::Option, ///

    The MaxConcurrency value specified by the user when starting the Automation.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The MaxErrors value specified by the user when starting the Automation.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The list of execution outputs as defined in the Automation document.

    #[serde(rename = "Target")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target: std::option::Option, ///

    Use this filter with DescribeAutomationExecutions. Specify either Local or @@ -27840,21 +25759,15 @@ pub struct AutomationExecutionMetadata { /// more information, see Running Automation workflows in multiple AWS Regions and accounts in the /// AWS Systems Manager User Guide.

    #[serde(rename = "AutomationType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_type: std::option::Option, ///

    The subtype of the Automation operation. Currently, the only supported value is /// ChangeRequest.

    #[serde(rename = "AutomationSubtype")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_subtype: std::option::Option, ///

    The date and time the Automation operation is scheduled to start.

    #[serde(rename = "ScheduledTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -27867,22 +25780,18 @@ pub struct AutomationExecutionMetadata { /// approvals for the change request have been received.

    /// #[serde(rename = "Runbooks")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub runbooks: std::option::Option>, ///

    The ID of an OpsItem that is created to represent a Change Manager change request.

    #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub ops_item_id: std::option::Option, ///

    The ID of a State Manager association used in the Automation operation.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The name of the Change Manager change request.

    #[serde(rename = "ChangeRequestName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub change_request_name: std::option::Option, } @@ -28377,7 +26286,6 @@ impl std::convert::From<&str> for AutomationType { } } } - impl std::str::FromStr for AutomationType { type Err = std::convert::Infallible; @@ -28385,7 +26293,6 @@ impl std::str::FromStr for AutomationType { Ok(AutomationType::from(s)) } } - impl AutomationType { pub fn as_str(&self) -> &str { match self { @@ -28400,19 +26307,6 @@ impl AsRef for AutomationType { self.as_str() } } - -impl serde::Serialize for AutomationType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AutomationType { fn deserialize(deserializer: D) -> Result where @@ -28426,16 +26320,14 @@ impl<'de> serde::Deserialize<'de> for AutomationType { ///

    A filter used to match specific automation executions. This is used to limit the scope of /// Automation execution information returned.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AutomationExecutionFilter { ///

    One or more keys to limit the results.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The values used to limit the execution information associated with the filter's key.

    #[serde(rename = "Values")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub values: std::option::Option>, } @@ -28542,7 +26434,6 @@ impl std::convert::From<&str> for AutomationExecutionFilterKey { } } } - impl std::str::FromStr for AutomationExecutionFilterKey { type Err = std::convert::Infallible; @@ -28550,7 +26441,6 @@ impl std::str::FromStr for AutomationExecutionFilterKey { Ok(AutomationExecutionFilterKey::from(s)) } } - impl AutomationExecutionFilterKey { pub fn as_str(&self) -> &str { match self { @@ -28575,19 +26465,6 @@ impl AsRef for AutomationExecutionFilterKey { self.as_str() } } - -impl serde::Serialize for AutomationExecutionFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AutomationExecutionFilterKey { fn deserialize(deserializer: D) -> Result where @@ -28600,49 +26477,38 @@ impl<'de> serde::Deserialize<'de> for AutomationExecutionFilterKey { ///

    Includes information about the specified association execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationExecutionTarget { ///

    The association ID.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The association version.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, ///

    The execution ID.

    #[serde(rename = "ExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_id: std::option::Option, ///

    The resource ID, for example, the instance ID where the association ran.

    #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_id: std::option::Option, ///

    The resource type, for example, instance.

    #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_type: std::option::Option, ///

    The association execution status.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    Detailed information about the execution status.

    #[serde(rename = "DetailedStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detailed_status: std::option::Option, ///

    The date of the last execution.

    #[serde(rename = "LastExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -28650,7 +26516,6 @@ pub struct AssociationExecutionTarget { pub last_execution_date: std::option::Option, ///

    The location where the association details are saved.

    #[serde(rename = "OutputSource")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_source: std::option::Option, } @@ -28804,17 +26669,15 @@ impl AssociationExecutionTarget { ///

    Information about the source where the association execution details are stored.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct OutputSource { ///

    The ID of the output source, for example the URL of an S3 bucket.

    #[serde(rename = "OutputSourceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_source_id: std::option::Option, ///

    The type of source where the association execution details are stored, for example, /// Amazon S3.

    #[serde(rename = "OutputSourceType")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_source_type: std::option::Option, } @@ -28879,16 +26742,14 @@ impl OutputSource { ///

    Filters for the association execution.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationExecutionTargetsFilter { ///

    The key value used in the request.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value specified for the key.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, } @@ -28973,7 +26834,6 @@ impl std::convert::From<&str> for AssociationExecutionTargetsFilterKey { } } } - impl std::str::FromStr for AssociationExecutionTargetsFilterKey { type Err = std::convert::Infallible; @@ -28981,7 +26841,6 @@ impl std::str::FromStr for AssociationExecutionTargetsFilterKey { Ok(AssociationExecutionTargetsFilterKey::from(s)) } } - impl AssociationExecutionTargetsFilterKey { pub fn as_str(&self) -> &str { match self { @@ -28997,19 +26856,6 @@ impl AsRef for AssociationExecutionTargetsFilterKey { self.as_str() } } - -impl serde::Serialize for AssociationExecutionTargetsFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationExecutionTargetsFilterKey { fn deserialize(deserializer: D) -> Result where @@ -29022,39 +26868,30 @@ impl<'de> serde::Deserialize<'de> for AssociationExecutionTargetsFilterKey { ///

    Includes information about the specified association.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationExecution { ///

    The association ID.

    #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_id: std::option::Option, ///

    The association version.

    #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_version: std::option::Option, ///

    The execution ID for the association.

    #[serde(rename = "ExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub execution_id: std::option::Option, ///

    The status of the association execution.

    #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub status: std::option::Option, ///

    Detailed status information about the execution.

    #[serde(rename = "DetailedStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub detailed_status: std::option::Option, ///

    The time the execution started.

    #[serde(rename = "CreatedTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -29062,10 +26899,6 @@ pub struct AssociationExecution { pub created_time: std::option::Option, ///

    The date of the last execution.

    #[serde(rename = "LastExecutionDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -29073,7 +26906,6 @@ pub struct AssociationExecution { pub last_execution_date: std::option::Option, ///

    An aggregate status of the resources in the execution based on the status type.

    #[serde(rename = "ResourceCountByStatus")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub resource_count_by_status: std::option::Option, } @@ -29215,21 +27047,18 @@ impl AssociationExecution { ///

    Filters used in the request.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct AssociationExecutionFilter { ///

    The key value used in the request.

    #[serde(rename = "Key")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub key: std::option::Option, ///

    The value specified for the key.

    #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub value: std::option::Option, ///

    The filter type specified in the request.

    #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub r#type: std::option::Option, } @@ -29329,7 +27158,6 @@ impl std::convert::From<&str> for AssociationFilterOperatorType { } } } - impl std::str::FromStr for AssociationFilterOperatorType { type Err = std::convert::Infallible; @@ -29337,7 +27165,6 @@ impl std::str::FromStr for AssociationFilterOperatorType { Ok(AssociationFilterOperatorType::from(s)) } } - impl AssociationFilterOperatorType { pub fn as_str(&self) -> &str { match self { @@ -29353,19 +27180,6 @@ impl AsRef for AssociationFilterOperatorType { self.as_str() } } - -impl serde::Serialize for AssociationFilterOperatorType { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationFilterOperatorType { fn deserialize(deserializer: D) -> Result where @@ -29402,7 +27216,6 @@ impl std::convert::From<&str> for AssociationExecutionFilterKey { } } } - impl std::str::FromStr for AssociationExecutionFilterKey { type Err = std::convert::Infallible; @@ -29410,7 +27223,6 @@ impl std::str::FromStr for AssociationExecutionFilterKey { Ok(AssociationExecutionFilterKey::from(s)) } } - impl AssociationExecutionFilterKey { pub fn as_str(&self) -> &str { match self { @@ -29426,19 +27238,6 @@ impl AsRef for AssociationExecutionFilterKey { self.as_str() } } - -impl serde::Serialize for AssociationExecutionFilterKey { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for AssociationExecutionFilterKey { fn deserialize(deserializer: D) -> Result where @@ -29453,27 +27252,23 @@ impl<'de> serde::Deserialize<'de> for AssociationExecutionFilterKey { /// so that you can configure those servers or VMs using Run Command. A server or VM that has been /// registered with AWS is called a managed instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct Activation { ///

    The ID created by Systems Manager when you submitted the activation.

    #[serde(rename = "ActivationId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub activation_id: std::option::Option, ///

    A user defined description of the activation.

    #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub description: std::option::Option, ///

    A name for the managed instance when it is created.

    #[serde(rename = "DefaultInstanceName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub default_instance_name: std::option::Option, ///

    The Amazon Identity and Access Management (IAM) role to assign to the managed /// instance.

    #[serde(rename = "IamRole")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub iam_role: std::option::Option, ///

    The maximum number of managed instances that can be registered using this activation.

    @@ -29484,10 +27279,6 @@ pub struct Activation { pub registrations_count: i32, ///

    The date when this activation can no longer be used to register managed instances.

    #[serde(rename = "ExpirationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -29498,10 +27289,6 @@ pub struct Activation { pub expired: bool, ///

    The date the activation was created.

    #[serde(rename = "CreatedDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] #[serde( deserialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_deser" )] @@ -29509,7 +27296,6 @@ pub struct Activation { pub created_date: std::option::Option, ///

    Tags assigned to the activation.

    #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub tags: std::option::Option>, } @@ -29674,16 +27460,14 @@ impl Activation { ///

    Filter for the DescribeActivation API.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeActivationsFilter { ///

    The name of the filter.

    #[serde(rename = "FilterKey")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub filter_key: std::option::Option, ///

    The filter values.

    #[serde(rename = "FilterValues")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub filter_values: std::option::Option>, } @@ -29772,7 +27556,6 @@ impl std::convert::From<&str> for DescribeActivationsFilterKeys { } } } - impl std::str::FromStr for DescribeActivationsFilterKeys { type Err = std::convert::Infallible; @@ -29780,7 +27563,6 @@ impl std::str::FromStr for DescribeActivationsFilterKeys { Ok(DescribeActivationsFilterKeys::from(s)) } } - impl DescribeActivationsFilterKeys { pub fn as_str(&self) -> &str { match self { @@ -29796,19 +27578,6 @@ impl AsRef for DescribeActivationsFilterKeys { self.as_str() } } - -impl serde::Serialize for DescribeActivationsFilterKeys { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for DescribeActivationsFilterKeys { fn deserialize(deserializer: D) -> Result where @@ -29843,7 +27612,6 @@ impl std::convert::From<&str> for InventorySchemaDeleteOption { } } } - impl std::str::FromStr for InventorySchemaDeleteOption { type Err = std::convert::Infallible; @@ -29851,7 +27619,6 @@ impl std::str::FromStr for InventorySchemaDeleteOption { Ok(InventorySchemaDeleteOption::from(s)) } } - impl InventorySchemaDeleteOption { pub fn as_str(&self) -> &str { match self { @@ -29866,19 +27633,6 @@ impl AsRef for InventorySchemaDeleteOption { self.as_str() } } - -impl serde::Serialize for InventorySchemaDeleteOption { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for InventorySchemaDeleteOption { fn deserialize(deserializer: D) -> Result where @@ -29891,21 +27645,18 @@ impl<'de> serde::Deserialize<'de> for InventorySchemaDeleteOption { ///

    Describes a failed association.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct FailedCreateAssociation { ///

    The association.

    #[serde(rename = "Entry")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub entry: std::option::Option, ///

    A description of the failure.

    #[serde(rename = "Message")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub message: std::option::Option, ///

    The source of the failure.

    #[serde(rename = "Fault")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub fault: std::option::Option, } @@ -30004,7 +27755,6 @@ impl std::convert::From<&str> for Fault { } } } - impl std::str::FromStr for Fault { type Err = std::convert::Infallible; @@ -30012,7 +27762,6 @@ impl std::str::FromStr for Fault { Ok(Fault::from(s)) } } - impl Fault { pub fn as_str(&self) -> &str { match self { @@ -30028,19 +27777,6 @@ impl AsRef for Fault { self.as_str() } } - -impl serde::Serialize for Fault { - fn serialize( - &self, - serializer: S, - ) -> Result<::Ok, ::Error> - where - S: serde::Serializer, - { - serializer.serialize_str(self.as_str()) - } -} - impl<'de> serde::Deserialize<'de> for Fault { fn deserialize(deserializer: D) -> Result where @@ -30053,7 +27789,7 @@ impl<'de> serde::Deserialize<'de> for Fault { ///

    Describes the association of a Systems Manager SSM document and an instance.

    #[non_exhaustive] -#[derive(serde::Deserialize, serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(serde::Deserialize, std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAssociationBatchRequestEntry { ///

    The name of the SSM document that contains the configuration information for the instance. /// You can specify Command or Automation documents.

    @@ -30073,17 +27809,14 @@ pub struct CreateAssociationBatchRequestEntry { /// specify the document name. For example, AWS-ApplyPatchBaseline or /// My-Document.

    #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub name: std::option::Option, ///

    The ID of the instance.

    #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub instance_id: std::option::Option, ///

    A description of the parameters for a document.

    #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub parameters: std::option::Option< std::collections::HashMap>, @@ -30091,32 +27824,26 @@ pub struct CreateAssociationBatchRequestEntry { ///

    Specify the target for the association. This target is required for associations that use an /// Automation document and target resources by using rate controls.

    #[serde(rename = "AutomationTargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub automation_target_parameter_name: std::option::Option, ///

    The document version.

    #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub document_version: std::option::Option, ///

    The instances targeted by the request.

    #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub targets: std::option::Option>, ///

    A cron expression that specifies a schedule when the association runs.

    #[serde(rename = "ScheduleExpression")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub schedule_expression: std::option::Option, ///

    An S3 bucket where you want to store the results of this request.

    #[serde(rename = "OutputLocation")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub output_location: std::option::Option, ///

    Specify a descriptive name for the association.

    #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub association_name: std::option::Option, ///

    The number of errors that are allowed before the system stops sending requests to run the @@ -30131,7 +27858,6 @@ pub struct CreateAssociationBatchRequestEntry { /// be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one /// at a time.

    #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_errors: std::option::Option, ///

    The maximum number of targets allowed to run the association at the same time. You can @@ -30142,12 +27868,10 @@ pub struct CreateAssociationBatchRequestEntry { /// interval, the new instance will process its association within the limit specified for /// MaxConcurrency.

    #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub max_concurrency: std::option::Option, ///

    The severity level to assign to the association.

    #[serde(rename = "ComplianceSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub compliance_severity: std::option::Option, ///

    The mode for generating association compliance. You can specify AUTO or @@ -30160,7 +27884,6 @@ pub struct CreateAssociationBatchRequestEntry { /// managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    ///

    By default, all associations use AUTO mode.

    #[serde(rename = "SyncCompliance")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub sync_compliance: std::option::Option, ///

    By default, when you create a new associations, the system runs it immediately after it is @@ -30174,12 +27897,10 @@ pub struct CreateAssociationBatchRequestEntry { /// Calendar is open. For more information, see /// AWS Systems Manager Change Calendar.

    #[serde(rename = "CalendarNames")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub calendar_names: std::option::Option>, ///

    Use this action to create an association in multiple Regions and multiple accounts.

    #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] #[serde(default)] pub target_locations: std::option::Option>, } diff --git a/sdk/ssm/src/operation.rs b/sdk/ssm/src/operation.rs index 7fc8633bf8bd..d18e515b4273 100644 --- a/sdk/ssm/src/operation.rs +++ b/sdk/ssm/src/operation.rs @@ -14,7 +14,7 @@ /// to and are interpreted strictly as a string of characters.

    ///

    For more information about using tags with EC2 instances, see Tagging your Amazon EC2 resources in the /// Amazon EC2 User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AddTagsToResource { _private: (), } @@ -33,7 +33,6 @@ impl AddTagsToResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::AddTagsToResourceError::unhandled(generic)), @@ -85,7 +84,6 @@ impl AddTagsToResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for AddTagsToResource { type Output = Result; @@ -97,7 +95,7 @@ impl smithy_http::response::ParseStrictResponse for AddTagsToResource { ///

    Associates a related resource to a Systems Manager OpsCenter OpsItem. For example, you can /// associate an Incident Manager incident or analysis with an OpsItem. Incident Manager is a /// capability of AWS Systems Manager.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AssociateOpsItemRelatedItem { _private: (), } @@ -119,7 +117,6 @@ impl AssociateOpsItemRelatedItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -165,7 +162,6 @@ impl AssociateOpsItemRelatedItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for AssociateOpsItemRelatedItem { type Output = Result< crate::output::AssociateOpsItemRelatedItemOutput, @@ -178,7 +174,7 @@ impl smithy_http::response::ParseStrictResponse for AssociateOpsItemRelatedItem ///

    Attempts to cancel the command specified by the Command ID. There is no guarantee that the /// command will be terminated and the underlying process stopped.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CancelCommand { _private: (), } @@ -197,7 +193,6 @@ impl CancelCommand { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CancelCommandError::unhandled(generic)), @@ -242,7 +237,6 @@ impl CancelCommand { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CancelCommand { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -253,7 +247,7 @@ impl smithy_http::response::ParseStrictResponse for CancelCommand { ///

    Stops a maintenance window execution that is already in progress and cancels any tasks in /// the window that have not already starting running. (Tasks already in progress will continue to /// completion.)

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CancelMaintenanceWindowExecution { _private: (), } @@ -275,7 +269,6 @@ impl CancelMaintenanceWindowExecution { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -310,7 +303,6 @@ impl CancelMaintenanceWindowExecution { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CancelMaintenanceWindowExecution { type Output = Result< crate::output::CancelMaintenanceWindowExecutionOutput, @@ -331,7 +323,7 @@ impl smithy_http::response::ParseStrictResponse for CancelMaintenanceWindowExecu ///

    On-premises servers or VMs that are registered with Systems Manager and EC2 instances that you manage /// with Systems Manager are all called managed instances.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateActivation { _private: (), } @@ -350,7 +342,6 @@ impl CreateActivation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateActivationError::unhandled(generic)), @@ -377,7 +368,6 @@ impl CreateActivation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateActivation { type Output = Result; @@ -396,7 +386,7 @@ impl smithy_http::response::ParseStrictResponse for CreateActivation { /// the software is not installed, then State Manager installs it. If the software is installed, but /// the service is not running, then the association might instruct State Manager to start the /// service.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateAssociation { _private: (), } @@ -415,7 +405,6 @@ impl CreateAssociation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateAssociationError::unhandled(generic)), @@ -522,7 +511,6 @@ impl CreateAssociation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateAssociation { type Output = Result; @@ -537,7 +525,7 @@ impl smithy_http::response::ParseStrictResponse for CreateAssociation { /// specified.

    ///

    If you associate a document with an instance that already has an associated document, the /// system returns the AssociationAlreadyExists exception.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateAssociationBatch { _private: (), } @@ -559,7 +547,6 @@ impl CreateAssociationBatch { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -680,7 +667,6 @@ impl CreateAssociationBatch { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateAssociationBatch { type Output = Result< crate::output::CreateAssociationBatchOutput, @@ -695,7 +681,7 @@ impl smithy_http::response::ParseStrictResponse for CreateAssociationBatch { /// your managed instances. For more information about SSM documents, including information about /// supported schemas, features, and syntax, see AWS Systems Manager Documents in the /// AWS Systems Manager User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDocument { _private: (), } @@ -714,7 +700,6 @@ impl CreateDocument { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateDocumentError::unhandled(generic)), @@ -778,7 +763,6 @@ impl CreateDocument { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateDocument { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -795,7 +779,7 @@ impl smithy_http::response::ParseStrictResponse for CreateDocument { /// value you specify for Cutoff is one hour, no maintenance window tasks can start /// after 5 PM.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateMaintenanceWindow { _private: (), } @@ -817,7 +801,6 @@ impl CreateMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -855,7 +838,6 @@ impl CreateMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateMaintenanceWindow { type Output = Result< crate::output::CreateMaintenanceWindowOutput, @@ -873,7 +855,7 @@ impl smithy_http::response::ParseStrictResponse for CreateMaintenanceWindow { /// operational issues impacting the performance and health of their AWS resources. For more /// information, see AWS Systems Manager OpsCenter in the /// AWS Systems Manager User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateOpsItem { _private: (), } @@ -892,7 +874,6 @@ impl CreateOpsItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateOpsItemError::unhandled(generic)), @@ -942,7 +923,6 @@ impl CreateOpsItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateOpsItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -952,7 +932,7 @@ impl smithy_http::response::ParseStrictResponse for CreateOpsItem { ///

    If you create a new application in Application Manager, Systems Manager calls this API action to specify /// information about the new application, including the application type.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateOpsMetadata { _private: (), } @@ -971,7 +951,6 @@ impl CreateOpsMetadata { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreateOpsMetadataError::unhandled(generic)), @@ -1013,7 +992,6 @@ impl CreateOpsMetadata { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateOpsMetadata { type Output = Result; @@ -1027,7 +1005,7 @@ impl smithy_http::response::ParseStrictResponse for CreateOpsMetadata { ///

    For information about valid key and value pairs in PatchFilters for each /// supported operating system type, see PatchFilter.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreatePatchBaseline { _private: (), } @@ -1047,7 +1025,6 @@ impl CreatePatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::CreatePatchBaselineError::unhandled(generic)), @@ -1096,7 +1073,6 @@ impl CreatePatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreatePatchBaseline { type Output = Result; @@ -1125,7 +1101,7 @@ impl smithy_http::response::ParseStrictResponse for CreatePatchBaseline { /// in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 /// bucket by creating a restrictive bucket policy.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateResourceDataSync { _private: (), } @@ -1147,7 +1123,6 @@ impl CreateResourceDataSync { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1184,7 +1159,6 @@ impl CreateResourceDataSync { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for CreateResourceDataSync { type Output = Result< crate::output::CreateResourceDataSyncOutput, @@ -1199,7 +1173,7 @@ impl smithy_http::response::ParseStrictResponse for CreateResourceDataSync { /// activation, you can no longer use it to register additional managed instances. Deleting an /// activation does not de-register managed instances. You must manually de-register managed /// instances.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteActivation { _private: (), } @@ -1218,7 +1192,6 @@ impl DeleteActivation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteActivationError::unhandled(generic)), @@ -1263,7 +1236,6 @@ impl DeleteActivation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteActivation { type Output = Result; @@ -1277,7 +1249,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteActivation { /// 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 /// instance.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteAssociation { _private: (), } @@ -1296,7 +1268,6 @@ impl DeleteAssociation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteAssociationError::unhandled(generic)), @@ -1350,7 +1321,6 @@ impl DeleteAssociation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteAssociation { type Output = Result; @@ -1361,7 +1331,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteAssociation { ///

    Deletes the Systems Manager document and all instance associations to the document.

    ///

    Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteDocument { _private: (), } @@ -1380,7 +1350,6 @@ impl DeleteDocument { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteDocumentError::unhandled(generic)), @@ -1425,7 +1394,6 @@ impl DeleteDocument { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteDocument { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1435,7 +1403,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteDocument { ///

    Delete a custom inventory type or the data associated with a custom Inventory type. Deleting /// a custom inventory type is also referred to as deleting a custom inventory schema.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteInventory { _private: (), } @@ -1454,7 +1422,6 @@ impl DeleteInventory { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteInventoryError::unhandled(generic)), @@ -1494,7 +1461,6 @@ impl DeleteInventory { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteInventory { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1503,7 +1469,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteInventory { } ///

    Deletes a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteMaintenanceWindow { _private: (), } @@ -1525,7 +1491,6 @@ impl DeleteMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1560,7 +1525,6 @@ impl DeleteMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteMaintenanceWindow { type Output = Result< crate::output::DeleteMaintenanceWindowOutput, @@ -1572,7 +1536,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteMaintenanceWindow { } ///

    Delete OpsMetadata related to an application.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteOpsMetadata { _private: (), } @@ -1591,7 +1555,6 @@ impl DeleteOpsMetadata { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteOpsMetadataError::unhandled(generic)), @@ -1620,7 +1583,6 @@ impl DeleteOpsMetadata { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteOpsMetadata { type Output = Result; @@ -1630,7 +1592,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteOpsMetadata { } ///

    Delete a parameter from the system.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteParameter { _private: (), } @@ -1649,7 +1611,6 @@ impl DeleteParameter { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteParameterError::unhandled(generic)), @@ -1680,7 +1641,6 @@ impl DeleteParameter { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteParameter { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -1689,7 +1649,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteParameter { } ///

    Delete a list of parameters.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteParameters { _private: (), } @@ -1708,7 +1668,6 @@ impl DeleteParameters { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeleteParametersError::unhandled(generic)), @@ -1735,7 +1694,6 @@ impl DeleteParameters { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteParameters { type Output = Result; @@ -1745,7 +1703,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteParameters { } ///

    Deletes a patch baseline.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeletePatchBaseline { _private: (), } @@ -1765,7 +1723,6 @@ impl DeletePatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DeletePatchBaselineError::unhandled(generic)), @@ -1801,7 +1758,6 @@ impl DeletePatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeletePatchBaseline { type Output = Result; @@ -1813,7 +1769,7 @@ impl smithy_http::response::ParseStrictResponse for DeletePatchBaseline { ///

    Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to /// data on managed instances are no longer synced to or from the target. Deleting a sync /// configuration does not delete data.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteResourceDataSync { _private: (), } @@ -1835,7 +1791,6 @@ impl DeleteResourceDataSync { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1868,7 +1823,6 @@ impl DeleteResourceDataSync { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeleteResourceDataSync { type Output = Result< crate::output::DeleteResourceDataSyncOutput, @@ -1882,7 +1836,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteResourceDataSync { ///

    Removes the server or virtual machine from the list of registered servers. You can /// reregister the instance again at any time. If you don't plan to use Run Command on the server, we /// suggest uninstalling SSM Agent first.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeregisterManagedInstance { _private: (), } @@ -1904,7 +1858,6 @@ impl DeregisterManagedInstance { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -1943,7 +1896,6 @@ impl DeregisterManagedInstance { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeregisterManagedInstance { type Output = Result< crate::output::DeregisterManagedInstanceOutput, @@ -1955,7 +1907,7 @@ impl smithy_http::response::ParseStrictResponse for DeregisterManagedInstance { } ///

    Removes a patch group from a patch baseline.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeregisterPatchBaselineForPatchGroup { _private: (), } @@ -1977,7 +1929,6 @@ impl DeregisterPatchBaselineForPatchGroup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2012,7 +1963,6 @@ impl DeregisterPatchBaselineForPatchGroup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeregisterPatchBaselineForPatchGroup { type Output = Result< crate::output::DeregisterPatchBaselineForPatchGroupOutput, @@ -2024,7 +1974,7 @@ impl smithy_http::response::ParseStrictResponse for DeregisterPatchBaselineForPa } ///

    Removes a target from a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeregisterTargetFromMaintenanceWindow { _private: (), } @@ -2046,7 +1996,6 @@ impl DeregisterTargetFromMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2087,7 +2036,6 @@ impl DeregisterTargetFromMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeregisterTargetFromMaintenanceWindow { type Output = Result< crate::output::DeregisterTargetFromMaintenanceWindowOutput, @@ -2099,7 +2047,7 @@ impl smithy_http::response::ParseStrictResponse for DeregisterTargetFromMaintena } ///

    Removes a task from a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeregisterTaskFromMaintenanceWindow { _private: (), } @@ -2121,7 +2069,6 @@ impl DeregisterTaskFromMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2156,7 +2103,6 @@ impl DeregisterTaskFromMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DeregisterTaskFromMaintenanceWindow { type Output = Result< crate::output::DeregisterTaskFromMaintenanceWindowOutput, @@ -2170,7 +2116,7 @@ impl smithy_http::response::ParseStrictResponse for DeregisterTaskFromMaintenanc ///

    Describes details about the activation, such as the date and time the activation was /// created, its expiration date, the IAM role assigned to the instances in the activation, and the /// number of instances registered by using this activation.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeActivations { _private: (), } @@ -2190,7 +2136,6 @@ impl DescribeActivations { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeActivationsError::unhandled(generic)), @@ -2233,7 +2178,6 @@ impl DescribeActivations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeActivations { type Output = Result; @@ -2247,7 +2191,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeActivations { /// by using the association ID. If you created the association by specifying an instance ID and a /// Systems Manager document, then you retrieve the association by specifying the document name and the /// instance ID.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAssociation { _private: (), } @@ -2267,7 +2211,6 @@ impl DescribeAssociation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeAssociationError::unhandled(generic)), @@ -2328,7 +2271,6 @@ impl DescribeAssociation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeAssociation { type Output = Result; @@ -2338,7 +2280,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAssociation { } ///

    Use this API action to view all executions for a specific association ID.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAssociationExecutions { _private: (), } @@ -2360,7 +2302,6 @@ impl DescribeAssociationExecutions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2398,7 +2339,6 @@ impl DescribeAssociationExecutions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeAssociationExecutions { type Output = Result< crate::output::DescribeAssociationExecutionsOutput, @@ -2411,7 +2351,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAssociationExecution ///

    Use this API action to view information about a specific execution of a specific /// association.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAssociationExecutionTargets { _private: (), } @@ -2433,7 +2373,6 @@ impl DescribeAssociationExecutionTargets { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2476,7 +2415,6 @@ impl DescribeAssociationExecutionTargets { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeAssociationExecutionTargets { type Output = Result< crate::output::DescribeAssociationExecutionTargetsOutput, @@ -2488,7 +2426,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAssociationExecution } ///

    Provides details about all active and terminated Automation executions.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAutomationExecutions { _private: (), } @@ -2510,7 +2448,6 @@ impl DescribeAutomationExecutions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2574,7 +2511,6 @@ impl DescribeAutomationExecutions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeAutomationExecutions { type Output = Result< crate::output::DescribeAutomationExecutionsOutput, @@ -2587,7 +2523,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAutomationExecutions ///

    Information about all active and terminated step executions in an Automation /// workflow.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAutomationStepExecutions { _private: (), } @@ -2609,7 +2545,6 @@ impl DescribeAutomationStepExecutions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2656,7 +2591,6 @@ impl DescribeAutomationStepExecutions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeAutomationStepExecutions { type Output = Result< crate::output::DescribeAutomationStepExecutionsOutput, @@ -2668,7 +2602,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAutomationStepExecut } ///

    Lists all patches eligible to be included in a patch baseline.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAvailablePatches { _private: (), } @@ -2690,7 +2624,6 @@ impl DescribeAvailablePatches { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2725,7 +2658,6 @@ impl DescribeAvailablePatches { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeAvailablePatches { type Output = Result< crate::output::DescribeAvailablePatchesOutput, @@ -2737,7 +2669,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAvailablePatches { } ///

    Describes the specified Systems Manager document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeDocument { _private: (), } @@ -2756,7 +2688,6 @@ impl DescribeDocument { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeDocumentError::unhandled(generic)), @@ -2797,7 +2728,6 @@ impl DescribeDocument { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeDocument { type Output = Result; @@ -2809,7 +2739,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeDocument { ///

    Describes the permissions for a Systems Manager 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 AWS /// account ID) or publicly (All).

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeDocumentPermission { _private: (), } @@ -2831,7 +2761,6 @@ impl DescribeDocumentPermission { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2877,7 +2806,6 @@ impl DescribeDocumentPermission { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeDocumentPermission { type Output = Result< crate::output::DescribeDocumentPermissionOutput, @@ -2889,7 +2817,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeDocumentPermission { } ///

    All associations for the instance(s).

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeEffectiveInstanceAssociations { _private: (), } @@ -2911,7 +2839,6 @@ impl DescribeEffectiveInstanceAssociations { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -2952,7 +2879,6 @@ impl DescribeEffectiveInstanceAssociations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeEffectiveInstanceAssociations { type Output = Result< crate::output::DescribeEffectiveInstanceAssociationsOutput, @@ -2965,7 +2891,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeEffectiveInstanceAss ///

    Retrieves the current effective patches (the patch and the approval state) for the specified /// patch baseline. Note that this API applies only to Windows patch baselines.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeEffectivePatchesForPatchBaseline { _private: (), } @@ -2987,7 +2913,6 @@ impl DescribeEffectivePatchesForPatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3032,7 +2957,6 @@ impl DescribeEffectivePatchesForPatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeEffectivePatchesForPatchBaseline { type Output = Result< crate::output::DescribeEffectivePatchesForPatchBaselineOutput, @@ -3044,7 +2968,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeEffectivePatchesForP } ///

    The status of the associations for the instance(s).

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeInstanceAssociationsStatus { _private: (), } @@ -3066,7 +2990,6 @@ impl DescribeInstanceAssociationsStatus { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3105,7 +3028,6 @@ impl DescribeInstanceAssociationsStatus { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeInstanceAssociationsStatus { type Output = Result< crate::output::DescribeInstanceAssociationsStatusOutput, @@ -3126,7 +3048,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeInstanceAssociations /// role assigned to on-premises instances. This call does not return the IAM role for EC2 /// instances.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeInstanceInformation { _private: (), } @@ -3148,7 +3070,6 @@ impl DescribeInstanceInformation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3194,7 +3115,6 @@ impl DescribeInstanceInformation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeInstanceInformation { type Output = Result< crate::output::DescribeInstanceInformationOutput, @@ -3207,7 +3127,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeInstanceInformation ///

    Retrieves information about the patches on the specified instance and their state relative /// to the patch baseline being used for the instance.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeInstancePatches { _private: (), } @@ -3229,7 +3149,6 @@ impl DescribeInstancePatches { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3289,7 +3208,6 @@ impl DescribeInstancePatches { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeInstancePatches { type Output = Result< crate::output::DescribeInstancePatchesOutput, @@ -3301,7 +3219,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeInstancePatches { } ///

    Retrieves the high-level patch state of one or more instances.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeInstancePatchStates { _private: (), } @@ -3323,7 +3241,6 @@ impl DescribeInstancePatchStates { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3368,7 +3285,6 @@ impl DescribeInstancePatchStates { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeInstancePatchStates { type Output = Result< crate::output::DescribeInstancePatchStatesOutput, @@ -3380,7 +3296,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeInstancePatchStates } ///

    Retrieves the high-level patch state for the instances in the specified patch group.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeInstancePatchStatesForPatchGroup { _private: (), } @@ -3403,7 +3319,6 @@ impl DescribeInstancePatchStatesForPatchGroup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3446,7 +3361,6 @@ impl DescribeInstancePatchStatesForPatchGroup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeInstancePatchStatesForPatchGroup { type Output = Result< crate::output::DescribeInstancePatchStatesForPatchGroupOutput, @@ -3458,7 +3372,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeInstancePatchStatesF } ///

    Describes a specific delete inventory operation.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeInventoryDeletions { _private: (), } @@ -3480,7 +3394,6 @@ impl DescribeInventoryDeletions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3518,7 +3431,6 @@ impl DescribeInventoryDeletions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeInventoryDeletions { type Output = Result< crate::output::DescribeInventoryDeletionsOutput, @@ -3532,7 +3444,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeInventoryDeletions { ///

    Lists the executions of a maintenance window. This includes information about when the /// maintenance window was scheduled to be active, and information about tasks registered and run /// with the maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowExecutions { _private: (), } @@ -3554,7 +3466,6 @@ impl DescribeMaintenanceWindowExecutions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3585,7 +3496,6 @@ impl DescribeMaintenanceWindowExecutions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowExecutions { type Output = Result< crate::output::DescribeMaintenanceWindowExecutionsOutput, @@ -3598,7 +3508,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowExe ///

    Retrieves the individual task executions (one per target) for a particular task run as part /// of a maintenance window execution.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowExecutionTaskInvocations { _private: (), } @@ -3622,7 +3532,6 @@ impl DescribeMaintenanceWindowExecutionTaskInvocations { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err( @@ -3651,7 +3560,6 @@ impl DescribeMaintenanceWindowExecutionTaskInvocations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowExecutionTaskInvocations { @@ -3665,7 +3573,7 @@ impl smithy_http::response::ParseStrictResponse } ///

    For a given maintenance window execution, lists the tasks that were run.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowExecutionTasks { _private: (), } @@ -3687,7 +3595,6 @@ impl DescribeMaintenanceWindowExecutionTasks { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3724,7 +3631,6 @@ impl DescribeMaintenanceWindowExecutionTasks { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowExecutionTasks { type Output = Result< crate::output::DescribeMaintenanceWindowExecutionTasksOutput, @@ -3736,7 +3642,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowExe } ///

    Retrieves the maintenance windows in an AWS account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindows { _private: (), } @@ -3758,7 +3664,6 @@ impl DescribeMaintenanceWindows { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3794,7 +3699,6 @@ impl DescribeMaintenanceWindows { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindows { type Output = Result< crate::output::DescribeMaintenanceWindowsOutput, @@ -3806,7 +3710,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindows { } ///

    Retrieves information about upcoming executions of a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowSchedule { _private: (), } @@ -3828,7 +3732,6 @@ impl DescribeMaintenanceWindowSchedule { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3863,7 +3766,6 @@ impl DescribeMaintenanceWindowSchedule { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowSchedule { type Output = Result< crate::output::DescribeMaintenanceWindowScheduleOutput, @@ -3876,7 +3778,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowSch ///

    Retrieves information about the maintenance window targets or tasks that an instance is /// associated with.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowsForTarget { _private: (), } @@ -3898,7 +3800,6 @@ impl DescribeMaintenanceWindowsForTarget { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3929,7 +3830,6 @@ impl DescribeMaintenanceWindowsForTarget { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowsForTarget { type Output = Result< crate::output::DescribeMaintenanceWindowsForTargetOutput, @@ -3941,7 +3841,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowsFo } ///

    Lists the targets registered with the maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowTargets { _private: (), } @@ -3963,7 +3863,6 @@ impl DescribeMaintenanceWindowTargets { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -3998,7 +3897,6 @@ impl DescribeMaintenanceWindowTargets { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowTargets { type Output = Result< crate::output::DescribeMaintenanceWindowTargetsOutput, @@ -4016,7 +3914,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowTar /// placeholder value of 1, which may be reported in the response to this command. /// These values do not affect the running of your task and can be ignored.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindowTasks { _private: (), } @@ -4038,7 +3936,6 @@ impl DescribeMaintenanceWindowTasks { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4073,7 +3970,6 @@ impl DescribeMaintenanceWindowTasks { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowTasks { type Output = Result< crate::output::DescribeMaintenanceWindowTasksOutput, @@ -4091,7 +3987,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowTas /// operational issues impacting the performance and health of their AWS resources. For more /// information, see AWS Systems Manager OpsCenter in the /// AWS Systems Manager User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeOpsItems { _private: (), } @@ -4110,7 +4006,6 @@ impl DescribeOpsItems { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeOpsItemsError::unhandled(generic)), @@ -4139,7 +4034,6 @@ impl DescribeOpsItems { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeOpsItems { type Output = Result; @@ -4157,7 +4051,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeOpsItems { /// matching values up to that point and a NextToken. You can specify the /// NextToken in a subsequent call to get the next set of results.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeParameters { _private: (), } @@ -4177,7 +4071,6 @@ impl DescribeParameters { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeParametersError::unhandled(generic)), @@ -4234,7 +4127,6 @@ impl DescribeParameters { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeParameters { type Output = Result; @@ -4244,7 +4136,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeParameters { } ///

    Lists the patch baselines in your AWS account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribePatchBaselines { _private: (), } @@ -4266,7 +4158,6 @@ impl DescribePatchBaselines { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4301,7 +4192,6 @@ impl DescribePatchBaselines { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribePatchBaselines { type Output = Result< crate::output::DescribePatchBaselinesOutput, @@ -4313,7 +4203,7 @@ impl smithy_http::response::ParseStrictResponse for DescribePatchBaselines { } ///

    Lists all patch groups that have been registered with patch baselines.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribePatchGroups { _private: (), } @@ -4333,7 +4223,6 @@ impl DescribePatchGroups { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribePatchGroupsError::unhandled(generic)), @@ -4362,7 +4251,6 @@ impl DescribePatchGroups { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribePatchGroups { type Output = Result; @@ -4372,7 +4260,7 @@ impl smithy_http::response::ParseStrictResponse for DescribePatchGroups { } ///

    Returns high-level aggregated patch compliance state for a patch group.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribePatchGroupState { _private: (), } @@ -4394,7 +4282,6 @@ impl DescribePatchGroupState { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4438,7 +4325,6 @@ impl DescribePatchGroupState { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribePatchGroupState { type Output = Result< crate::output::DescribePatchGroupStateOutput, @@ -4496,7 +4382,7 @@ impl smithy_http::response::ParseStrictResponse for DescribePatchGroupState { ///

    Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribePatchProperties { _private: (), } @@ -4518,7 +4404,6 @@ impl DescribePatchProperties { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4553,7 +4438,6 @@ impl DescribePatchProperties { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribePatchProperties { type Output = Result< crate::output::DescribePatchPropertiesOutput, @@ -4566,7 +4450,7 @@ impl smithy_http::response::ParseStrictResponse for DescribePatchProperties { ///

    Retrieves a list of all active sessions (both connected and disconnected) or terminated /// sessions from the past 30 days.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeSessions { _private: (), } @@ -4585,7 +4469,6 @@ impl DescribeSessions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::DescribeSessionsError::unhandled(generic)), @@ -4626,7 +4509,6 @@ impl DescribeSessions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DescribeSessions { type Output = Result; @@ -4638,7 +4520,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeSessions { ///

    Deletes the association between an OpsItem and a related resource. For example, this API /// action can delete an Incident Manager incident from an OpsItem. Incident Manager is a capability /// of AWS Systems Manager.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisassociateOpsItemRelatedItem { _private: (), } @@ -4660,7 +4542,6 @@ impl DisassociateOpsItemRelatedItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4698,7 +4579,6 @@ impl DisassociateOpsItemRelatedItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for DisassociateOpsItemRelatedItem { type Output = Result< crate::output::DisassociateOpsItemRelatedItemOutput, @@ -4710,7 +4590,7 @@ impl smithy_http::response::ParseStrictResponse for DisassociateOpsItemRelatedIt } ///

    Get detailed information about a particular Automation execution.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAutomationExecution { _private: (), } @@ -4732,7 +4612,6 @@ impl GetAutomationExecution { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -4766,7 +4645,6 @@ impl GetAutomationExecution { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetAutomationExecution { type Output = Result< crate::output::GetAutomationExecutionOutput, @@ -4787,7 +4665,7 @@ impl smithy_http::response::ParseStrictResponse for GetAutomationExecution { /// request are closed, the status returned is CLOSED.

    ///

    For more information about Systems Manager Change Calendar, see AWS Systems Manager Change /// Calendar in the AWS Systems Manager User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetCalendarState { _private: (), } @@ -4806,7 +4684,6 @@ impl GetCalendarState { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetCalendarStateError::unhandled(generic)), @@ -4858,7 +4735,6 @@ impl GetCalendarState { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetCalendarState { type Output = Result; @@ -4872,7 +4748,7 @@ impl smithy_http::response::ParseStrictResponse for GetCalendarState { /// GetCommandInvocation only gives the execution status of a plugin in a document. /// To get the command execution status on a specific instance, use ListCommandInvocations. To get the command execution status across instances, use /// ListCommands.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetCommandInvocation { _private: (), } @@ -4892,7 +4768,6 @@ impl GetCommandInvocation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetCommandInvocationError::unhandled(generic)), @@ -4953,7 +4828,6 @@ impl GetCommandInvocation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetCommandInvocation { type Output = Result; @@ -4964,7 +4838,7 @@ impl smithy_http::response::ParseStrictResponse for GetCommandInvocation { ///

    Retrieves the Session Manager connection status for an instance to determine whether it is running and /// ready to receive Session Manager connections.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetConnectionStatus { _private: (), } @@ -4984,7 +4858,6 @@ impl GetConnectionStatus { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetConnectionStatusError::unhandled(generic)), @@ -5013,7 +4886,6 @@ impl GetConnectionStatus { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetConnectionStatus { type Output = Result; @@ -5027,7 +4899,7 @@ impl smithy_http::response::ParseStrictResponse for GetConnectionStatus { /// system.

    ///

    If you do not specify an operating system value, the default patch baseline for Windows is /// returned.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDefaultPatchBaseline { _private: (), } @@ -5049,7 +4921,6 @@ impl GetDefaultPatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -5084,7 +4955,6 @@ impl GetDefaultPatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDefaultPatchBaseline { type Output = Result< crate::output::GetDefaultPatchBaselineOutput, @@ -5097,7 +4967,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.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDeployablePatchSnapshotForInstance { _private: (), } @@ -5119,7 +4989,6 @@ impl GetDeployablePatchSnapshotForInstance { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -5160,7 +5029,6 @@ impl GetDeployablePatchSnapshotForInstance { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDeployablePatchSnapshotForInstance { type Output = Result< crate::output::GetDeployablePatchSnapshotForInstanceOutput, @@ -5172,7 +5040,7 @@ impl smithy_http::response::ParseStrictResponse for GetDeployablePatchSnapshotFo } ///

    Gets the contents of the specified Systems Manager document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetDocument { _private: (), } @@ -5191,7 +5059,6 @@ impl GetDocument { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetDocumentError::unhandled(generic)), @@ -5232,7 +5099,6 @@ impl GetDocument { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetDocument { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5241,7 +5107,7 @@ impl smithy_http::response::ParseStrictResponse for GetDocument { } ///

    Query inventory information.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetInventory { _private: (), } @@ -5260,7 +5126,6 @@ impl GetInventory { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetInventoryError::unhandled(generic)), @@ -5331,7 +5196,6 @@ impl GetInventory { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetInventory { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5341,7 +5205,7 @@ impl smithy_http::response::ParseStrictResponse for GetInventory { ///

    Return a list of inventory type names for the account, or return a list of attribute names /// for a specific Inventory item type.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetInventorySchema { _private: (), } @@ -5361,7 +5225,6 @@ impl GetInventorySchema { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetInventorySchemaError::unhandled(generic)), @@ -5404,7 +5267,6 @@ impl GetInventorySchema { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetInventorySchema { type Output = Result; @@ -5414,7 +5276,7 @@ impl smithy_http::response::ParseStrictResponse for GetInventorySchema { } ///

    Retrieves a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMaintenanceWindow { _private: (), } @@ -5434,7 +5296,6 @@ impl GetMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetMaintenanceWindowError::unhandled(generic)), @@ -5472,7 +5333,6 @@ impl GetMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindow { type Output = Result; @@ -5482,7 +5342,7 @@ impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindow { } ///

    Retrieves details about a specific a maintenance window execution.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMaintenanceWindowExecution { _private: (), } @@ -5504,7 +5364,6 @@ impl GetMaintenanceWindowExecution { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -5539,7 +5398,6 @@ impl GetMaintenanceWindowExecution { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowExecution { type Output = Result< crate::output::GetMaintenanceWindowExecutionOutput, @@ -5552,7 +5410,7 @@ impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowExecutio ///

    Retrieves the details about a specific task run as part of a maintenance window /// execution.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMaintenanceWindowExecutionTask { _private: (), } @@ -5574,7 +5432,6 @@ impl GetMaintenanceWindowExecutionTask { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -5609,7 +5466,6 @@ impl GetMaintenanceWindowExecutionTask { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowExecutionTask { type Output = Result< crate::output::GetMaintenanceWindowExecutionTaskOutput, @@ -5621,7 +5477,7 @@ impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowExecutio } ///

    Retrieves information about a specific task running on a specific target.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMaintenanceWindowExecutionTaskInvocation { _private: (), } @@ -5644,7 +5500,6 @@ impl GetMaintenanceWindowExecutionTaskInvocation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, @@ -5679,7 +5534,6 @@ impl GetMaintenanceWindowExecutionTaskInvocation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowExecutionTaskInvocation { type Output = Result< crate::output::GetMaintenanceWindowExecutionTaskInvocationOutput, @@ -5697,7 +5551,7 @@ impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowExecutio /// placeholder value of 1, which may be reported in the response to this command. /// These values do not affect the running of your task and can be ignored.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMaintenanceWindowTask { _private: (), } @@ -5719,7 +5573,6 @@ impl GetMaintenanceWindowTask { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -5763,7 +5616,6 @@ impl GetMaintenanceWindowTask { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowTask { type Output = Result< crate::output::GetMaintenanceWindowTaskOutput, @@ -5782,7 +5634,7 @@ impl smithy_http::response::ParseStrictResponse for GetMaintenanceWindowTask { /// operational issues impacting the performance and health of their AWS resources. For more /// information, see AWS Systems Manager OpsCenter in the /// AWS Systems Manager User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetOpsItem { _private: (), } @@ -5801,7 +5653,6 @@ impl GetOpsItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetOpsItemError::unhandled(generic)), @@ -5835,7 +5686,6 @@ impl GetOpsItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetOpsItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5844,7 +5694,7 @@ impl smithy_http::response::ParseStrictResponse for GetOpsItem { } ///

    View operational metadata related to an application in Application Manager.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetOpsMetadata { _private: (), } @@ -5863,7 +5713,6 @@ impl GetOpsMetadata { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetOpsMetadataError::unhandled(generic)), @@ -5907,7 +5756,6 @@ impl GetOpsMetadata { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetOpsMetadata { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -5916,7 +5764,7 @@ impl smithy_http::response::ParseStrictResponse for GetOpsMetadata { } ///

    View a summary of OpsItems based on specified filters and aggregators.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetOpsSummary { _private: (), } @@ -5935,7 +5783,6 @@ impl GetOpsSummary { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetOpsSummaryError::unhandled(generic)), @@ -5999,7 +5846,6 @@ impl GetOpsSummary { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetOpsSummary { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6009,7 +5855,7 @@ impl smithy_http::response::ParseStrictResponse for GetOpsSummary { ///

    Get information about a parameter by using the parameter name. Don't confuse this API action /// with the GetParameters API action.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParameter { _private: (), } @@ -6028,7 +5874,6 @@ impl GetParameter { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetParameterError::unhandled(generic)), @@ -6076,7 +5921,6 @@ impl GetParameter { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetParameter { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6085,7 +5929,7 @@ impl smithy_http::response::ParseStrictResponse for GetParameter { } ///

    Retrieves the history of all changes to a parameter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParameterHistory { _private: (), } @@ -6105,7 +5949,6 @@ impl GetParameterHistory { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetParameterHistoryError::unhandled(generic)), @@ -6155,7 +5998,6 @@ impl GetParameterHistory { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetParameterHistory { type Output = Result; @@ -6165,7 +6007,7 @@ impl smithy_http::response::ParseStrictResponse for GetParameterHistory { } ///

    Get details of a parameter. Don't confuse this API action with the GetParameter API action.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParameters { _private: (), } @@ -6184,7 +6026,6 @@ impl GetParameters { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetParametersError::unhandled(generic)), @@ -6218,7 +6059,6 @@ impl GetParameters { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetParameters { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6235,7 +6075,7 @@ impl smithy_http::response::ParseStrictResponse for GetParameters { /// matching values up to that point and a NextToken. You can specify the /// NextToken in a subsequent call to get the next set of results.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParametersByPath { _private: (), } @@ -6255,7 +6095,6 @@ impl GetParametersByPath { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetParametersByPathError::unhandled(generic)), @@ -6319,7 +6158,6 @@ impl GetParametersByPath { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetParametersByPath { type Output = Result; @@ -6329,7 +6167,7 @@ impl smithy_http::response::ParseStrictResponse for GetParametersByPath { } ///

    Retrieves information about a patch baseline.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetPatchBaseline { _private: (), } @@ -6348,7 +6186,6 @@ impl GetPatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetPatchBaselineError::unhandled(generic)), @@ -6391,7 +6228,6 @@ impl GetPatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetPatchBaseline { type Output = Result; @@ -6401,7 +6237,7 @@ impl smithy_http::response::ParseStrictResponse for GetPatchBaseline { } ///

    Retrieves the patch baseline that should be used for the specified patch group.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetPatchBaselineForPatchGroup { _private: (), } @@ -6423,7 +6259,6 @@ impl GetPatchBaselineForPatchGroup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -6454,7 +6289,6 @@ impl GetPatchBaselineForPatchGroup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetPatchBaselineForPatchGroup { type Output = Result< crate::output::GetPatchBaselineForPatchGroupOutput, @@ -6478,7 +6312,7 @@ impl smithy_http::response::ParseStrictResponse for GetPatchBaselineForPatchGrou /// the default setting. Or use the ResetServiceSetting to change the value back to /// the original value defined by the AWS service team.

    ///

    Query the current service setting for the account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetServiceSetting { _private: (), } @@ -6497,7 +6331,6 @@ impl GetServiceSetting { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::GetServiceSettingError::unhandled(generic)), @@ -6535,7 +6368,6 @@ impl GetServiceSetting { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for GetServiceSetting { type Output = Result; @@ -6581,7 +6413,7 @@ impl smithy_http::response::ParseStrictResponse for GetServiceSetting { /// displays it in the list of InvalidLabels.

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct LabelParameterVersion { _private: (), } @@ -6601,7 +6433,6 @@ impl LabelParameterVersion { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::LabelParameterVersionError::unhandled(generic)), @@ -6643,7 +6474,6 @@ impl LabelParameterVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for LabelParameterVersion { type Output = Result< crate::output::LabelParameterVersionOutput, @@ -6657,7 +6487,7 @@ impl smithy_http::response::ParseStrictResponse for LabelParameterVersion { ///

    Returns all State Manager associations in the current AWS account and Region. You can limit /// the results to a specific State Manager association document or instance by specifying a /// filter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListAssociations { _private: (), } @@ -6676,7 +6506,6 @@ impl ListAssociations { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListAssociationsError::unhandled(generic)), @@ -6710,7 +6539,6 @@ impl ListAssociations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListAssociations { type Output = Result; @@ -6720,7 +6548,7 @@ impl smithy_http::response::ParseStrictResponse for ListAssociations { } ///

    Retrieves all versions of an association for a specific association ID.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListAssociationVersions { _private: (), } @@ -6742,7 +6570,6 @@ impl ListAssociationVersions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -6796,7 +6623,6 @@ impl ListAssociationVersions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListAssociationVersions { type Output = Result< crate::output::ListAssociationVersionsOutput, @@ -6811,7 +6637,7 @@ impl smithy_http::response::ParseStrictResponse for ListAssociationVersions { /// or more instances. A command invocation applies to one instance. For example, if a user runs /// SendCommand against three instances, then a command invocation is created for each requested /// instance ID. ListCommandInvocations provide status about command execution.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListCommandInvocations { _private: (), } @@ -6833,7 +6659,6 @@ impl ListCommandInvocations { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -6898,7 +6723,6 @@ impl ListCommandInvocations { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListCommandInvocations { type Output = Result< crate::output::ListCommandInvocationsOutput, @@ -6910,7 +6734,7 @@ impl smithy_http::response::ParseStrictResponse for ListCommandInvocations { } ///

    Lists the commands requested by users of the AWS account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListCommands { _private: (), } @@ -6929,7 +6753,6 @@ impl ListCommands { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListCommandsError::unhandled(generic)), @@ -6984,7 +6807,6 @@ impl ListCommands { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListCommands { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -6995,7 +6817,7 @@ impl smithy_http::response::ParseStrictResponse for ListCommands { ///

    For a specified resource ID, this API action returns a list of compliance statuses for /// different resource types. Currently, you can only specify one resource ID per call. List results /// depend on the criteria specified in the filter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListComplianceItems { _private: (), } @@ -7015,7 +6837,6 @@ impl ListComplianceItems { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListComplianceItemsError::unhandled(generic)), @@ -7072,7 +6893,6 @@ impl ListComplianceItems { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListComplianceItems { type Output = Result; @@ -7084,7 +6904,7 @@ impl smithy_http::response::ParseStrictResponse for ListComplianceItems { ///

    Returns a summary count of compliant and non-compliant resources for a compliance type. For /// example, this call can return State Manager associations, patches, or custom compliance types /// according to the filter criteria that you specify.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListComplianceSummaries { _private: (), } @@ -7106,7 +6926,6 @@ impl ListComplianceSummaries { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -7157,7 +6976,6 @@ impl ListComplianceSummaries { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListComplianceSummaries { type Output = Result< crate::output::ListComplianceSummariesOutput, @@ -7169,7 +6987,7 @@ impl smithy_http::response::ParseStrictResponse for ListComplianceSummaries { } ///

    Information about approval reviews for a version of an SSM document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDocumentMetadataHistory { _private: (), } @@ -7191,7 +7009,6 @@ impl ListDocumentMetadataHistory { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -7233,7 +7050,6 @@ impl ListDocumentMetadataHistory { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListDocumentMetadataHistory { type Output = Result< crate::output::ListDocumentMetadataHistoryOutput, @@ -7246,7 +7062,7 @@ impl smithy_http::response::ParseStrictResponse for ListDocumentMetadataHistory ///

    Returns all Systems Manager (SSM) documents in the current AWS account and Region. You can limit the /// results of this request by using a filter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDocuments { _private: (), } @@ -7265,7 +7081,6 @@ impl ListDocuments { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListDocumentsError::unhandled(generic)), @@ -7306,7 +7121,6 @@ impl ListDocuments { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListDocuments { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -7315,7 +7129,7 @@ impl smithy_http::response::ParseStrictResponse for ListDocuments { } ///

    List all versions for a document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDocumentVersions { _private: (), } @@ -7335,7 +7149,6 @@ impl ListDocumentVersions { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListDocumentVersionsError::unhandled(generic)), @@ -7380,7 +7193,6 @@ impl ListDocumentVersions { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListDocumentVersions { type Output = Result; @@ -7390,7 +7202,7 @@ impl smithy_http::response::ParseStrictResponse for ListDocumentVersions { } ///

    A list of inventory items returned by the request.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListInventoryEntries { _private: (), } @@ -7410,7 +7222,6 @@ impl ListInventoryEntries { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListInventoryEntriesError::unhandled(generic)), @@ -7471,7 +7282,6 @@ impl ListInventoryEntries { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListInventoryEntries { type Output = Result; @@ -7482,7 +7292,7 @@ impl smithy_http::response::ParseStrictResponse for ListInventoryEntries { ///

    Returns a list of all OpsItem events in the current AWS account and Region. You can limit /// the results to events associated with specific OpsItems by specifying a filter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListOpsItemEvents { _private: (), } @@ -7501,7 +7311,6 @@ impl ListOpsItemEvents { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListOpsItemEventsError::unhandled(generic)), @@ -7556,7 +7365,6 @@ impl ListOpsItemEvents { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListOpsItemEvents { type Output = Result; @@ -7566,7 +7374,7 @@ impl smithy_http::response::ParseStrictResponse for ListOpsItemEvents { } ///

    Lists all related-item resources associated with an OpsItem.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListOpsItemRelatedItems { _private: (), } @@ -7588,7 +7396,6 @@ impl ListOpsItemRelatedItems { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -7622,7 +7429,6 @@ impl ListOpsItemRelatedItems { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListOpsItemRelatedItems { type Output = Result< crate::output::ListOpsItemRelatedItemsOutput, @@ -7635,7 +7441,7 @@ impl smithy_http::response::ParseStrictResponse for ListOpsItemRelatedItems { ///

    Systems Manager calls this API action when displaying all Application Manager OpsMetadata objects or /// blobs.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListOpsMetadata { _private: (), } @@ -7654,7 +7460,6 @@ impl ListOpsMetadata { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListOpsMetadataError::unhandled(generic)), @@ -7691,7 +7496,6 @@ impl ListOpsMetadata { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListOpsMetadata { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -7702,7 +7506,7 @@ impl smithy_http::response::ParseStrictResponse for ListOpsMetadata { ///

    Returns a resource-level summary count. The summary includes information about compliant and /// non-compliant statuses and detailed compliance-item severity counts, according to the filter /// criteria you specify.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResourceComplianceSummaries { _private: (), } @@ -7724,7 +7528,6 @@ impl ListResourceComplianceSummaries { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -7763,7 +7566,6 @@ impl ListResourceComplianceSummaries { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListResourceComplianceSummaries { type Output = Result< crate::output::ListResourceComplianceSummariesOutput, @@ -7783,7 +7585,7 @@ impl smithy_http::response::ParseStrictResponse for ListResourceComplianceSummar /// configurations to list, check the value of NextToken in the output. If there are /// more sync configurations to list, you can request them by specifying the NextToken /// returned in the call to the parameter of a subsequent call.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResourceDataSync { _private: (), } @@ -7803,7 +7605,6 @@ impl ListResourceDataSync { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListResourceDataSyncError::unhandled(generic)), @@ -7837,7 +7638,6 @@ impl ListResourceDataSync { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListResourceDataSync { type Output = Result; @@ -7847,7 +7647,7 @@ impl smithy_http::response::ParseStrictResponse for ListResourceDataSync { } ///

    Returns a list of the tags assigned to the specified resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTagsForResource { _private: (), } @@ -7867,7 +7667,6 @@ impl ListTagsForResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ListTagsForResourceError::unhandled(generic)), @@ -7910,7 +7709,6 @@ impl ListTagsForResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ListTagsForResource { type Output = Result; @@ -7922,7 +7720,7 @@ impl smithy_http::response::ParseStrictResponse for ListTagsForResource { ///

    Shares a Systems Manager document publicly or privately. If you share a document privately, you must /// specify the AWS user account IDs for those people who can use the document. If you share a /// document publicly, you must specify All as the account ID.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ModifyDocumentPermission { _private: (), } @@ -7944,7 +7742,6 @@ impl ModifyDocumentPermission { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -8013,7 +7810,6 @@ impl ModifyDocumentPermission { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ModifyDocumentPermission { type Output = Result< crate::output::ModifyDocumentPermissionOutput, @@ -8080,7 +7876,7 @@ impl smithy_http::response::ParseStrictResponse for ModifyDocumentPermission { /// the resource. Specify the time by using the following format: yyyy-MM-dd'T'HH:mm:ss'Z'

    /// /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutComplianceItems { _private: (), } @@ -8100,7 +7896,6 @@ impl PutComplianceItems { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutComplianceItemsError::unhandled(generic)), @@ -8145,7 +7940,6 @@ impl PutComplianceItems { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutComplianceItems { type Output = Result; @@ -8156,7 +7950,7 @@ impl smithy_http::response::ParseStrictResponse for PutComplianceItems { ///

    Bulk update custom inventory items on one more instance. The request adds an inventory item, /// if it doesn't already exist, or updates an inventory item, if it does exist.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutInventory { _private: (), } @@ -8175,7 +7969,6 @@ impl PutInventory { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutInventoryError::unhandled(generic)), @@ -8243,7 +8036,6 @@ impl PutInventory { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutInventory { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -8252,7 +8044,7 @@ impl smithy_http::response::ParseStrictResponse for PutInventory { } ///

    Add a parameter to the system.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutParameter { _private: (), } @@ -8271,7 +8063,6 @@ impl PutParameter { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::PutParameterError::unhandled(generic)), @@ -8404,7 +8195,6 @@ impl PutParameter { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for PutParameter { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -8417,7 +8207,7 @@ impl smithy_http::response::ParseStrictResponse for PutParameter { /// ARN as the baseline ID value. For example, for CentOS, specify /// arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed instead of /// pb-0574b43a65ea646ed.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RegisterDefaultPatchBaseline { _private: (), } @@ -8439,7 +8229,6 @@ impl RegisterDefaultPatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -8495,7 +8284,6 @@ impl RegisterDefaultPatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RegisterDefaultPatchBaseline { type Output = Result< crate::output::RegisterDefaultPatchBaselineOutput, @@ -8507,7 +8295,7 @@ impl smithy_http::response::ParseStrictResponse for RegisterDefaultPatchBaseline } ///

    Registers a patch baseline for a patch group.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RegisterPatchBaselineForPatchGroup { _private: (), } @@ -8529,7 +8317,6 @@ impl RegisterPatchBaselineForPatchGroup { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -8576,7 +8363,6 @@ impl RegisterPatchBaselineForPatchGroup { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RegisterPatchBaselineForPatchGroup { type Output = Result< crate::output::RegisterPatchBaselineForPatchGroupOutput, @@ -8588,7 +8374,7 @@ impl smithy_http::response::ParseStrictResponse for RegisterPatchBaselineForPatc } ///

    Registers a target with a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RegisterTargetWithMaintenanceWindow { _private: (), } @@ -8610,7 +8396,6 @@ impl RegisterTargetWithMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -8653,7 +8438,6 @@ impl RegisterTargetWithMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RegisterTargetWithMaintenanceWindow { type Output = Result< crate::output::RegisterTargetWithMaintenanceWindowOutput, @@ -8665,7 +8449,7 @@ impl smithy_http::response::ParseStrictResponse for RegisterTargetWithMaintenanc } ///

    Adds a new task to a maintenance window.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RegisterTaskWithMaintenanceWindow { _private: (), } @@ -8687,7 +8471,6 @@ impl RegisterTaskWithMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -8734,7 +8517,6 @@ impl RegisterTaskWithMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RegisterTaskWithMaintenanceWindow { type Output = Result< crate::output::RegisterTaskWithMaintenanceWindowOutput, @@ -8746,7 +8528,7 @@ impl smithy_http::response::ParseStrictResponse for RegisterTaskWithMaintenanceW } ///

    Removes tag keys from the specified resource.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RemoveTagsFromResource { _private: (), } @@ -8768,7 +8550,6 @@ impl RemoveTagsFromResource { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -8823,7 +8604,6 @@ impl RemoveTagsFromResource { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for RemoveTagsFromResource { type Output = Result< crate::output::RemoveTagsFromResourceOutput, @@ -8848,7 +8628,7 @@ impl smithy_http::response::ParseStrictResponse for RemoveTagsFromResource { /// setting.

    ///

    Reset the service setting for the account to the default value as provisioned by the AWS /// service team.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ResetServiceSetting { _private: (), } @@ -8868,7 +8648,6 @@ impl ResetServiceSetting { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ResetServiceSettingError::unhandled(generic)), @@ -8913,7 +8692,6 @@ impl ResetServiceSetting { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ResetServiceSetting { type Output = Result; @@ -8928,7 +8706,7 @@ impl smithy_http::response::ParseStrictResponse for ResetServiceSetting { ///

    This command is primarily for use by client machines to automatically reconnect during /// intermittent network issues. It is not intended for any other use.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ResumeSession { _private: (), } @@ -8947,7 +8725,6 @@ impl ResumeSession { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::ResumeSessionError::unhandled(generic)), @@ -8981,7 +8758,6 @@ impl ResumeSession { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for ResumeSession { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -8991,7 +8767,7 @@ impl smithy_http::response::ParseStrictResponse for ResumeSession { ///

    Sends a signal to an Automation execution to change the current behavior or status of the /// execution.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SendAutomationSignal { _private: (), } @@ -9011,7 +8787,6 @@ impl SendAutomationSignal { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::SendAutomationSignalError::unhandled(generic)), @@ -9044,7 +8819,6 @@ impl SendAutomationSignal { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for SendAutomationSignal { type Output = Result; @@ -9054,7 +8828,7 @@ impl smithy_http::response::ParseStrictResponse for SendAutomationSignal { } ///

    Runs commands on one or more managed instances.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SendCommand { _private: (), } @@ -9073,7 +8847,6 @@ impl SendCommand { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::SendCommandError::unhandled(generic)), @@ -9170,7 +8943,6 @@ impl SendCommand { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for SendCommand { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -9180,7 +8952,7 @@ impl smithy_http::response::ParseStrictResponse for SendCommand { ///

    Use this API action to run an association immediately and only one time. This action can be /// helpful when troubleshooting associations.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartAssociationsOnce { _private: (), } @@ -9200,7 +8972,6 @@ impl StartAssociationsOnce { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::StartAssociationsOnceError::unhandled(generic)), @@ -9235,7 +9006,6 @@ impl StartAssociationsOnce { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StartAssociationsOnce { type Output = Result< crate::output::StartAssociationsOnceOutput, @@ -9247,7 +9017,7 @@ impl smithy_http::response::ParseStrictResponse for StartAssociationsOnce { } ///

    Initiates execution of an Automation document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartAutomationExecution { _private: (), } @@ -9269,7 +9039,6 @@ impl StartAutomationExecution { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -9323,7 +9092,6 @@ impl StartAutomationExecution { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StartAutomationExecution { type Output = Result< crate::output::StartAutomationExecutionOutput, @@ -9337,7 +9105,7 @@ impl smithy_http::response::ParseStrictResponse for StartAutomationExecution { ///

    Creates a change request for Change Manager. The runbooks (Automation documents) specified in the /// change request run only after all required approvals for the change request have been /// received.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartChangeRequestExecution { _private: (), } @@ -9359,7 +9127,6 @@ impl StartChangeRequestExecution { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -9413,7 +9180,6 @@ impl StartChangeRequestExecution { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StartChangeRequestExecution { type Output = Result< crate::output::StartChangeRequestExecutionOutput, @@ -9434,7 +9200,7 @@ impl smithy_http::response::ParseStrictResponse for StartChangeRequestExecution ///

    AWS Tools for PowerShell usage: Start-SSMSession is not currently supported by AWS Tools /// for PowerShell on Windows local machines.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartSession { _private: (), } @@ -9453,7 +9219,6 @@ impl StartSession { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::StartSessionError::unhandled(generic)), @@ -9494,7 +9259,6 @@ impl StartSession { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StartSession { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -9503,7 +9267,7 @@ impl smithy_http::response::ParseStrictResponse for StartSession { } ///

    Stop an Automation that is currently running.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StopAutomationExecution { _private: (), } @@ -9525,7 +9289,6 @@ impl StopAutomationExecution { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -9558,7 +9321,6 @@ impl StopAutomationExecution { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for StopAutomationExecution { type Output = Result< crate::output::StopAutomationExecutionOutput, @@ -9571,7 +9333,7 @@ impl smithy_http::response::ParseStrictResponse for StopAutomationExecution { ///

    Permanently ends a session and closes the data connection between the Session Manager client and /// SSM Agent on the instance. A terminated session cannot be resumed.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TerminateSession { _private: (), } @@ -9590,7 +9352,6 @@ impl TerminateSession { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::TerminateSessionError::unhandled(generic)), @@ -9624,7 +9385,6 @@ impl TerminateSession { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for TerminateSession { type Output = Result; @@ -9634,7 +9394,7 @@ impl smithy_http::response::ParseStrictResponse for TerminateSession { } ///

    Remove a label or labels from a parameter.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UnlabelParameterVersion { _private: (), } @@ -9656,7 +9416,6 @@ impl UnlabelParameterVersion { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -9717,7 +9476,6 @@ impl UnlabelParameterVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UnlabelParameterVersion { type Output = Result< crate::output::UnlabelParameterVersionOutput, @@ -9741,7 +9499,7 @@ impl smithy_http::response::ParseStrictResponse for UnlabelParameterVersion { ///

    When you update an association, the association immediately runs against the specified /// targets.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAssociation { _private: (), } @@ -9760,7 +9518,6 @@ impl UpdateAssociation { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateAssociationError::unhandled(generic)), @@ -9830,7 +9587,6 @@ impl UpdateAssociation { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateAssociation { type Output = Result; @@ -9840,7 +9596,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAssociation { } ///

    Updates the status of the Systems Manager document associated with the specified instance.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAssociationStatus { _private: (), } @@ -9862,7 +9618,6 @@ impl UpdateAssociationStatus { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -9937,7 +9692,6 @@ impl UpdateAssociationStatus { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateAssociationStatus { type Output = Result< crate::output::UpdateAssociationStatusOutput, @@ -9949,7 +9703,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAssociationStatus { } ///

    Updates one or more values for an SSM document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDocument { _private: (), } @@ -9968,7 +9722,6 @@ impl UpdateDocument { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateDocumentError::unhandled(generic)), @@ -10064,7 +9817,6 @@ impl UpdateDocument { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDocument { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -10073,7 +9825,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDocument { } ///

    Set the default version of a document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDocumentDefaultVersion { _private: (), } @@ -10095,7 +9847,6 @@ impl UpdateDocumentDefaultVersion { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10137,7 +9888,6 @@ impl UpdateDocumentDefaultVersion { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDocumentDefaultVersion { type Output = Result< crate::output::UpdateDocumentDefaultVersionOutput, @@ -10149,7 +9899,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDocumentDefaultVersion } ///

    Updates information related to approval reviews for a specific version of a document.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDocumentMetadata { _private: (), } @@ -10171,7 +9921,6 @@ impl UpdateDocumentMetadata { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10227,7 +9976,6 @@ impl UpdateDocumentMetadata { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateDocumentMetadata { type Output = Result< crate::output::UpdateDocumentMetadataOutput, @@ -10247,7 +9995,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateDocumentMetadata { /// value you specify for Cutoff is one hour, no maintenance window tasks can start /// after 5 PM.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateMaintenanceWindow { _private: (), } @@ -10269,7 +10017,6 @@ impl UpdateMaintenanceWindow { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10313,7 +10060,6 @@ impl UpdateMaintenanceWindow { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateMaintenanceWindow { type Output = Result< crate::output::UpdateMaintenanceWindowOutput, @@ -10350,7 +10096,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateMaintenanceWindow { /// ///

    If a parameter is null, then the corresponding field is not modified.

    ///
    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateMaintenanceWindowTarget { _private: (), } @@ -10372,7 +10118,6 @@ impl UpdateMaintenanceWindowTarget { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10407,7 +10152,6 @@ impl UpdateMaintenanceWindowTarget { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateMaintenanceWindowTarget { type Output = Result< crate::output::UpdateMaintenanceWindowTargetOutput, @@ -10463,7 +10207,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateMaintenanceWindowTarge /// maintenance window task and specify only a different OutputS3BucketName value, the /// values for Comment and NotificationConfig are removed.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateMaintenanceWindowTask { _private: (), } @@ -10485,7 +10229,6 @@ impl UpdateMaintenanceWindowTask { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10530,7 +10273,6 @@ impl UpdateMaintenanceWindowTask { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateMaintenanceWindowTask { type Output = Result< crate::output::UpdateMaintenanceWindowTaskOutput, @@ -10544,7 +10286,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateMaintenanceWindowTask ///

    Changes the Amazon Identity and Access Management (IAM) role that is assigned to the /// on-premises instance or virtual machines (VM). IAM roles are first assigned to these hybrid /// instances during the activation process. For more information, see CreateActivation.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateManagedInstanceRole { _private: (), } @@ -10566,7 +10308,6 @@ impl UpdateManagedInstanceRole { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10605,7 +10346,6 @@ impl UpdateManagedInstanceRole { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateManagedInstanceRole { type Output = Result< crate::output::UpdateManagedInstanceRoleOutput, @@ -10623,7 +10363,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateManagedInstanceRole { /// operational issues impacting the performance and health of their AWS resources. For more /// information, see AWS Systems Manager OpsCenter in the /// AWS Systems Manager User Guide.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateOpsItem { _private: (), } @@ -10642,7 +10382,6 @@ impl UpdateOpsItem { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateOpsItemError::unhandled(generic)), @@ -10696,7 +10435,6 @@ impl UpdateOpsItem { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateOpsItem { type Output = Result; fn parse(&self, response: &http::Response) -> Self::Output { @@ -10705,7 +10443,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateOpsItem { } ///

    Systems Manager calls this API action when you edit OpsMetadata in Application Manager.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateOpsMetadata { _private: (), } @@ -10724,7 +10462,6 @@ impl UpdateOpsMetadata { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateOpsMetadataError::unhandled(generic)), @@ -10766,7 +10503,6 @@ impl UpdateOpsMetadata { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateOpsMetadata { type Output = Result; @@ -10781,7 +10517,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateOpsMetadata { ///

    For information about valid key and value pairs in PatchFilters for each /// supported operating system type, see PatchFilter.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdatePatchBaseline { _private: (), } @@ -10801,7 +10537,6 @@ impl UpdatePatchBaseline { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdatePatchBaselineError::unhandled(generic)), @@ -10837,7 +10572,6 @@ impl UpdatePatchBaseline { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdatePatchBaseline { type Output = Result; @@ -10855,7 +10589,7 @@ impl smithy_http::response::ParseStrictResponse for UpdatePatchBaseline { ///

    This API action only supports a resource data sync that was created with a SyncFromSource /// SyncType.

    /// -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateResourceDataSync { _private: (), } @@ -10877,7 +10611,6 @@ impl UpdateResourceDataSync { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => { @@ -10914,7 +10647,6 @@ impl UpdateResourceDataSync { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateResourceDataSync { type Output = Result< crate::output::UpdateResourceDataSyncOutput, @@ -10938,7 +10670,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateResourceDataSync { /// current value. Or, use the ResetServiceSetting to change the value back to the /// original value defined by the AWS service team.

    ///

    Update the service setting for the account.

    -#[derive(std::default::Default, std::clone::Clone)] +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateServiceSetting { _private: (), } @@ -10958,7 +10690,6 @@ impl UpdateServiceSetting { let body = serde_json::from_slice(response.body().as_ref()) .unwrap_or_else(|_| serde_json::json!({})); let generic = crate::aws_json_errors::parse_generic_error(&response, &body); - let error_code = match generic.code() { Some(code) => code, None => return Err(crate::error::UpdateServiceSettingError::unhandled(generic)), @@ -11000,7 +10731,6 @@ impl UpdateServiceSetting { Self { _private: () } } } - impl smithy_http::response::ParseStrictResponse for UpdateServiceSetting { type Output = Result; diff --git a/sdk/ssm/src/operation_ser.rs b/sdk/ssm/src/operation_ser.rs index ab385fde8f09..0dfc2de11275 100644 --- a/sdk/ssm/src/operation_ser.rs +++ b/sdk/ssm/src/operation_ser.rs @@ -1,1650 +1,1425 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn serialize_operation_add_tags_to_resource_input_body( +pub fn serialize_operation_add_tags_to_resource( input: &crate::input::AddTagsToResourceInput, ) -> Result { - let body = crate::serializer::AddTagsToResourceInputBody { - resource_type: &input.resource_type, - resource_id: &input.resource_id, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_add_tags_to_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_associate_ops_item_related_item_input_body( +pub fn serialize_operation_associate_ops_item_related_item( input: &crate::input::AssociateOpsItemRelatedItemInput, ) -> Result { - let body = crate::serializer::AssociateOpsItemRelatedItemInputBody { - ops_item_id: &input.ops_item_id, - association_type: &input.association_type, - resource_type: &input.resource_type, - resource_uri: &input.resource_uri, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_associate_ops_item_related_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_cancel_command_input_body( +pub fn serialize_operation_cancel_command( input: &crate::input::CancelCommandInput, ) -> Result { - let body = crate::serializer::CancelCommandInputBody { - command_id: &input.command_id, - instance_ids: &input.instance_ids, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_cancel_command_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_cancel_maintenance_window_execution_input_body( +pub fn serialize_operation_cancel_maintenance_window_execution( input: &crate::input::CancelMaintenanceWindowExecutionInput, ) -> Result { - let body = crate::serializer::CancelMaintenanceWindowExecutionInputBody { - window_execution_id: &input.window_execution_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_cancel_maintenance_window_execution_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_activation_input_body( +pub fn serialize_operation_create_activation( input: &crate::input::CreateActivationInput, ) -> Result { - let body = crate::serializer::CreateActivationInputBody { - description: &input.description, - default_instance_name: &input.default_instance_name, - iam_role: &input.iam_role, - registration_limit: &input.registration_limit, - expiration_date: &input.expiration_date, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_activation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_association_input_body( +pub fn serialize_operation_create_association( input: &crate::input::CreateAssociationInput, ) -> Result { - let body = crate::serializer::CreateAssociationInputBody { - name: &input.name, - document_version: &input.document_version, - instance_id: &input.instance_id, - parameters: &input.parameters, - targets: &input.targets, - schedule_expression: &input.schedule_expression, - output_location: &input.output_location, - association_name: &input.association_name, - automation_target_parameter_name: &input.automation_target_parameter_name, - max_errors: &input.max_errors, - max_concurrency: &input.max_concurrency, - compliance_severity: &input.compliance_severity, - sync_compliance: &input.sync_compliance, - apply_only_at_cron_interval: &input.apply_only_at_cron_interval, - calendar_names: &input.calendar_names, - target_locations: &input.target_locations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_create_association_batch_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_association_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_association_batch( input: &crate::input::CreateAssociationBatchInput, ) -> Result { - let body = crate::serializer::CreateAssociationBatchInputBody { - entries: &input.entries, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_association_batch_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_document_input_body( +pub fn serialize_operation_create_document( input: &crate::input::CreateDocumentInput, ) -> Result { - let body = crate::serializer::CreateDocumentInputBody { - content: &input.content, - requires: &input.requires, - attachments: &input.attachments, - name: &input.name, - display_name: &input.display_name, - version_name: &input.version_name, - document_type: &input.document_type, - document_format: &input.document_format, - target_type: &input.target_type, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_create_maintenance_window_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_document_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_maintenance_window( input: &crate::input::CreateMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::CreateMaintenanceWindowInputBody { - name: &input.name, - description: &input.description, - start_date: &input.start_date, - end_date: &input.end_date, - schedule: &input.schedule, - schedule_timezone: &input.schedule_timezone, - schedule_offset: &input.schedule_offset, - duration: &input.duration, - cutoff: &input.cutoff, - allow_unassociated_targets: &input.allow_unassociated_targets, - client_token: &input.client_token, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_create_ops_item_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_maintenance_window_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_ops_item( input: &crate::input::CreateOpsItemInput, ) -> Result { - let body = crate::serializer::CreateOpsItemInputBody { - description: &input.description, - ops_item_type: &input.ops_item_type, - operational_data: &input.operational_data, - notifications: &input.notifications, - priority: &input.priority, - related_ops_items: &input.related_ops_items, - source: &input.source, - title: &input.title, - tags: &input.tags, - category: &input.category, - severity: &input.severity, - actual_start_time: &input.actual_start_time, - actual_end_time: &input.actual_end_time, - planned_start_time: &input.planned_start_time, - planned_end_time: &input.planned_end_time, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_create_ops_metadata_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_ops_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_ops_metadata( input: &crate::input::CreateOpsMetadataInput, ) -> Result { - let body = crate::serializer::CreateOpsMetadataInputBody { - resource_id: &input.resource_id, - metadata: &input.metadata, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_ops_metadata_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_create_patch_baseline_input_body( +pub fn serialize_operation_create_patch_baseline( input: &crate::input::CreatePatchBaselineInput, ) -> Result { - let body = crate::serializer::CreatePatchBaselineInputBody { - operating_system: &input.operating_system, - name: &input.name, - global_filters: &input.global_filters, - approval_rules: &input.approval_rules, - approved_patches: &input.approved_patches, - approved_patches_compliance_level: &input.approved_patches_compliance_level, - approved_patches_enable_non_security: &input.approved_patches_enable_non_security, - rejected_patches: &input.rejected_patches, - rejected_patches_action: &input.rejected_patches_action, - description: &input.description, - sources: &input.sources, - client_token: &input.client_token, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_create_resource_data_sync_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_patch_baseline_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_resource_data_sync( input: &crate::input::CreateResourceDataSyncInput, ) -> Result { - let body = crate::serializer::CreateResourceDataSyncInputBody { - sync_name: &input.sync_name, - s3_destination: &input.s3_destination, - sync_type: &input.sync_type, - sync_source: &input.sync_source, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_resource_data_sync_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_activation_input_body( +pub fn serialize_operation_delete_activation( input: &crate::input::DeleteActivationInput, ) -> Result { - let body = crate::serializer::DeleteActivationInputBody { - activation_id: &input.activation_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_activation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_association_input_body( +pub fn serialize_operation_delete_association( input: &crate::input::DeleteAssociationInput, ) -> Result { - let body = crate::serializer::DeleteAssociationInputBody { - name: &input.name, - instance_id: &input.instance_id, - association_id: &input.association_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_association_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_document_input_body( +pub fn serialize_operation_delete_document( input: &crate::input::DeleteDocumentInput, ) -> Result { - let body = crate::serializer::DeleteDocumentInputBody { - name: &input.name, - document_version: &input.document_version, - version_name: &input.version_name, - force: &input.force, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_document_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_inventory_input_body( +pub fn serialize_operation_delete_inventory( input: &crate::input::DeleteInventoryInput, ) -> Result { - let body = crate::serializer::DeleteInventoryInputBody { - type_name: &input.type_name, - schema_delete_option: &input.schema_delete_option, - dry_run: &input.dry_run, - client_token: &input.client_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_inventory_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_maintenance_window_input_body( +pub fn serialize_operation_delete_maintenance_window( input: &crate::input::DeleteMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::DeleteMaintenanceWindowInputBody { - window_id: &input.window_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_maintenance_window_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_ops_metadata_input_body( +pub fn serialize_operation_delete_ops_metadata( input: &crate::input::DeleteOpsMetadataInput, ) -> Result { - let body = crate::serializer::DeleteOpsMetadataInputBody { - ops_metadata_arn: &input.ops_metadata_arn, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_ops_metadata_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_parameter_input_body( +pub fn serialize_operation_delete_parameter( input: &crate::input::DeleteParameterInput, ) -> Result { - let body = crate::serializer::DeleteParameterInputBody { name: &input.name }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_parameter_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_parameters_input_body( +pub fn serialize_operation_delete_parameters( input: &crate::input::DeleteParametersInput, ) -> Result { - let body = crate::serializer::DeleteParametersInputBody { - names: &input.names, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_parameters_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_patch_baseline_input_body( +pub fn serialize_operation_delete_patch_baseline( input: &crate::input::DeletePatchBaselineInput, ) -> Result { - let body = crate::serializer::DeletePatchBaselineInputBody { - baseline_id: &input.baseline_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_patch_baseline_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_delete_resource_data_sync_input_body( +pub fn serialize_operation_delete_resource_data_sync( input: &crate::input::DeleteResourceDataSyncInput, ) -> Result { - let body = crate::serializer::DeleteResourceDataSyncInputBody { - sync_name: &input.sync_name, - sync_type: &input.sync_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_resource_data_sync_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_deregister_managed_instance_input_body( +pub fn serialize_operation_deregister_managed_instance( input: &crate::input::DeregisterManagedInstanceInput, ) -> Result { - let body = crate::serializer::DeregisterManagedInstanceInputBody { - instance_id: &input.instance_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_managed_instance_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_deregister_patch_baseline_for_patch_group_input_body( +pub fn serialize_operation_deregister_patch_baseline_for_patch_group( input: &crate::input::DeregisterPatchBaselineForPatchGroupInput, ) -> Result { - let body = crate::serializer::DeregisterPatchBaselineForPatchGroupInputBody { - baseline_id: &input.baseline_id, - patch_group: &input.patch_group, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_patch_baseline_for_patch_group_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_deregister_target_from_maintenance_window_input_body( +pub fn serialize_operation_deregister_target_from_maintenance_window( input: &crate::input::DeregisterTargetFromMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::DeregisterTargetFromMaintenanceWindowInputBody { - window_id: &input.window_id, - window_target_id: &input.window_target_id, - safe: &input.safe, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_target_from_maintenance_window_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_deregister_task_from_maintenance_window_input_body( +pub fn serialize_operation_deregister_task_from_maintenance_window( input: &crate::input::DeregisterTaskFromMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::DeregisterTaskFromMaintenanceWindowInputBody { - window_id: &input.window_id, - window_task_id: &input.window_task_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_deregister_task_from_maintenance_window_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_activations_input_body( +pub fn serialize_operation_describe_activations( input: &crate::input::DescribeActivationsInput, ) -> Result { - let body = crate::serializer::DescribeActivationsInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_activations_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_association_input_body( +pub fn serialize_operation_describe_association( input: &crate::input::DescribeAssociationInput, ) -> Result { - let body = crate::serializer::DescribeAssociationInputBody { - name: &input.name, - instance_id: &input.instance_id, - association_id: &input.association_id, - association_version: &input.association_version, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_association_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_association_executions_input_body( +pub fn serialize_operation_describe_association_executions( input: &crate::input::DescribeAssociationExecutionsInput, ) -> Result { - let body = crate::serializer::DescribeAssociationExecutionsInputBody { - association_id: &input.association_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_association_executions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_association_execution_targets_input_body( +pub fn serialize_operation_describe_association_execution_targets( input: &crate::input::DescribeAssociationExecutionTargetsInput, ) -> Result { - let body = crate::serializer::DescribeAssociationExecutionTargetsInputBody { - association_id: &input.association_id, - execution_id: &input.execution_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_association_execution_targets_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_automation_executions_input_body( +pub fn serialize_operation_describe_automation_executions( input: &crate::input::DescribeAutomationExecutionsInput, ) -> Result { - let body = crate::serializer::DescribeAutomationExecutionsInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_automation_executions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_automation_step_executions_input_body( +pub fn serialize_operation_describe_automation_step_executions( input: &crate::input::DescribeAutomationStepExecutionsInput, ) -> Result { - let body = crate::serializer::DescribeAutomationStepExecutionsInputBody { - automation_execution_id: &input.automation_execution_id, - filters: &input.filters, - next_token: &input.next_token, - max_results: &input.max_results, - reverse_order: &input.reverse_order, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_automation_step_executions_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_available_patches_input_body( +pub fn serialize_operation_describe_available_patches( input: &crate::input::DescribeAvailablePatchesInput, ) -> Result { - let body = crate::serializer::DescribeAvailablePatchesInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_available_patches_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_document_input_body( +pub fn serialize_operation_describe_document( input: &crate::input::DescribeDocumentInput, ) -> Result { - let body = crate::serializer::DescribeDocumentInputBody { - name: &input.name, - document_version: &input.document_version, - version_name: &input.version_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_document_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_document_permission_input_body( +pub fn serialize_operation_describe_document_permission( input: &crate::input::DescribeDocumentPermissionInput, ) -> Result { - let body = crate::serializer::DescribeDocumentPermissionInputBody { - name: &input.name, - permission_type: &input.permission_type, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_document_permission_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_effective_instance_associations_input_body( +pub fn serialize_operation_describe_effective_instance_associations( input: &crate::input::DescribeEffectiveInstanceAssociationsInput, ) -> Result { - let body = crate::serializer::DescribeEffectiveInstanceAssociationsInputBody { - instance_id: &input.instance_id, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_effective_instance_associations_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_effective_patches_for_patch_baseline_input_body( +pub fn serialize_operation_describe_effective_patches_for_patch_baseline( input: &crate::input::DescribeEffectivePatchesForPatchBaselineInput, ) -> Result { - let body = crate::serializer::DescribeEffectivePatchesForPatchBaselineInputBody { - baseline_id: &input.baseline_id, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_effective_patches_for_patch_baseline_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_instance_associations_status_input_body( +pub fn serialize_operation_describe_instance_associations_status( input: &crate::input::DescribeInstanceAssociationsStatusInput, ) -> Result { - let body = crate::serializer::DescribeInstanceAssociationsStatusInputBody { - instance_id: &input.instance_id, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_instance_associations_status_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_instance_information_input_body( +pub fn serialize_operation_describe_instance_information( input: &crate::input::DescribeInstanceInformationInput, ) -> Result { - let body = crate::serializer::DescribeInstanceInformationInputBody { - instance_information_filter_list: &input.instance_information_filter_list, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_instance_information_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_instance_patches_input_body( +pub fn serialize_operation_describe_instance_patches( input: &crate::input::DescribeInstancePatchesInput, ) -> Result { - let body = crate::serializer::DescribeInstancePatchesInputBody { - instance_id: &input.instance_id, - filters: &input.filters, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_instance_patches_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_instance_patch_states_input_body( +pub fn serialize_operation_describe_instance_patch_states( input: &crate::input::DescribeInstancePatchStatesInput, ) -> Result { - let body = crate::serializer::DescribeInstancePatchStatesInputBody { - instance_ids: &input.instance_ids, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_instance_patch_states_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_instance_patch_states_for_patch_group_input_body( +pub fn serialize_operation_describe_instance_patch_states_for_patch_group( input: &crate::input::DescribeInstancePatchStatesForPatchGroupInput, ) -> Result { - let body = crate::serializer::DescribeInstancePatchStatesForPatchGroupInputBody { - patch_group: &input.patch_group, - filters: &input.filters, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_instance_patch_states_for_patch_group_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_inventory_deletions_input_body( +pub fn serialize_operation_describe_inventory_deletions( input: &crate::input::DescribeInventoryDeletionsInput, ) -> Result { - let body = crate::serializer::DescribeInventoryDeletionsInputBody { - deletion_id: &input.deletion_id, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_inventory_deletions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_window_executions_input_body( +pub fn serialize_operation_describe_maintenance_window_executions( input: &crate::input::DescribeMaintenanceWindowExecutionsInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowExecutionsInputBody { - window_id: &input.window_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_window_executions_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_window_execution_task_invocations_input_body( +pub fn serialize_operation_describe_maintenance_window_execution_task_invocations( input: &crate::input::DescribeMaintenanceWindowExecutionTaskInvocationsInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowExecutionTaskInvocationsInputBody { - window_execution_id: &input.window_execution_id, - task_id: &input.task_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_window_execution_task_invocations_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_window_execution_tasks_input_body( +pub fn serialize_operation_describe_maintenance_window_execution_tasks( input: &crate::input::DescribeMaintenanceWindowExecutionTasksInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowExecutionTasksInputBody { - window_execution_id: &input.window_execution_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_window_execution_tasks_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_windows_input_body( +pub fn serialize_operation_describe_maintenance_windows( input: &crate::input::DescribeMaintenanceWindowsInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowsInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_windows_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_window_schedule_input_body( +pub fn serialize_operation_describe_maintenance_window_schedule( input: &crate::input::DescribeMaintenanceWindowScheduleInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowScheduleInputBody { - window_id: &input.window_id, - targets: &input.targets, - resource_type: &input.resource_type, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_window_schedule_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_windows_for_target_input_body( +pub fn serialize_operation_describe_maintenance_windows_for_target( input: &crate::input::DescribeMaintenanceWindowsForTargetInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowsForTargetInputBody { - targets: &input.targets, - resource_type: &input.resource_type, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_windows_for_target_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_window_targets_input_body( +pub fn serialize_operation_describe_maintenance_window_targets( input: &crate::input::DescribeMaintenanceWindowTargetsInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowTargetsInputBody { - window_id: &input.window_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_window_targets_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_maintenance_window_tasks_input_body( +pub fn serialize_operation_describe_maintenance_window_tasks( input: &crate::input::DescribeMaintenanceWindowTasksInput, ) -> Result { - let body = crate::serializer::DescribeMaintenanceWindowTasksInputBody { - window_id: &input.window_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_maintenance_window_tasks_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_ops_items_input_body( +pub fn serialize_operation_describe_ops_items( input: &crate::input::DescribeOpsItemsInput, ) -> Result { - let body = crate::serializer::DescribeOpsItemsInputBody { - ops_item_filters: &input.ops_item_filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_ops_items_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_parameters_input_body( +pub fn serialize_operation_describe_parameters( input: &crate::input::DescribeParametersInput, ) -> Result { - let body = crate::serializer::DescribeParametersInputBody { - filters: &input.filters, - parameter_filters: &input.parameter_filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_parameters_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_patch_baselines_input_body( +pub fn serialize_operation_describe_patch_baselines( input: &crate::input::DescribePatchBaselinesInput, ) -> Result { - let body = crate::serializer::DescribePatchBaselinesInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_patch_baselines_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_patch_groups_input_body( +pub fn serialize_operation_describe_patch_groups( input: &crate::input::DescribePatchGroupsInput, ) -> Result { - let body = crate::serializer::DescribePatchGroupsInputBody { - max_results: &input.max_results, - filters: &input.filters, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_patch_groups_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_patch_group_state_input_body( +pub fn serialize_operation_describe_patch_group_state( input: &crate::input::DescribePatchGroupStateInput, ) -> Result { - let body = crate::serializer::DescribePatchGroupStateInputBody { - patch_group: &input.patch_group, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_patch_group_state_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_patch_properties_input_body( +pub fn serialize_operation_describe_patch_properties( input: &crate::input::DescribePatchPropertiesInput, ) -> Result { - let body = crate::serializer::DescribePatchPropertiesInputBody { - operating_system: &input.operating_system, - property: &input.property, - patch_set: &input.patch_set, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_patch_properties_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_describe_sessions_input_body( +pub fn serialize_operation_describe_sessions( input: &crate::input::DescribeSessionsInput, ) -> Result { - let body = crate::serializer::DescribeSessionsInputBody { - state: &input.state, - max_results: &input.max_results, - next_token: &input.next_token, - filters: &input.filters, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_sessions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_disassociate_ops_item_related_item_input_body( +pub fn serialize_operation_disassociate_ops_item_related_item( input: &crate::input::DisassociateOpsItemRelatedItemInput, ) -> Result { - let body = crate::serializer::DisassociateOpsItemRelatedItemInputBody { - ops_item_id: &input.ops_item_id, - association_id: &input.association_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_disassociate_ops_item_related_item_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_automation_execution_input_body( +pub fn serialize_operation_get_automation_execution( input: &crate::input::GetAutomationExecutionInput, ) -> Result { - let body = crate::serializer::GetAutomationExecutionInputBody { - automation_execution_id: &input.automation_execution_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_automation_execution_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_calendar_state_input_body( +pub fn serialize_operation_get_calendar_state( input: &crate::input::GetCalendarStateInput, ) -> Result { - let body = crate::serializer::GetCalendarStateInputBody { - calendar_names: &input.calendar_names, - at_time: &input.at_time, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_calendar_state_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_command_invocation_input_body( +pub fn serialize_operation_get_command_invocation( input: &crate::input::GetCommandInvocationInput, ) -> Result { - let body = crate::serializer::GetCommandInvocationInputBody { - command_id: &input.command_id, - instance_id: &input.instance_id, - plugin_name: &input.plugin_name, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_command_invocation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_connection_status_input_body( +pub fn serialize_operation_get_connection_status( input: &crate::input::GetConnectionStatusInput, ) -> Result { - let body = crate::serializer::GetConnectionStatusInputBody { - target: &input.target, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_connection_status_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_default_patch_baseline_input_body( +pub fn serialize_operation_get_default_patch_baseline( input: &crate::input::GetDefaultPatchBaselineInput, ) -> Result { - let body = crate::serializer::GetDefaultPatchBaselineInputBody { - operating_system: &input.operating_system, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_default_patch_baseline_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_deployable_patch_snapshot_for_instance_input_body( +pub fn serialize_operation_get_deployable_patch_snapshot_for_instance( input: &crate::input::GetDeployablePatchSnapshotForInstanceInput, ) -> Result { - let body = crate::serializer::GetDeployablePatchSnapshotForInstanceInputBody { - instance_id: &input.instance_id, - snapshot_id: &input.snapshot_id, - baseline_override: &input.baseline_override, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_deployable_patch_snapshot_for_instance_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_document_input_body( +pub fn serialize_operation_get_document( input: &crate::input::GetDocumentInput, ) -> Result { - let body = crate::serializer::GetDocumentInputBody { - name: &input.name, - version_name: &input.version_name, - document_version: &input.document_version, - document_format: &input.document_format, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_document_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_inventory_input_body( +pub fn serialize_operation_get_inventory( input: &crate::input::GetInventoryInput, ) -> Result { - let body = crate::serializer::GetInventoryInputBody { - filters: &input.filters, - aggregators: &input.aggregators, - result_attributes: &input.result_attributes, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_inventory_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_inventory_schema_input_body( +pub fn serialize_operation_get_inventory_schema( input: &crate::input::GetInventorySchemaInput, ) -> Result { - let body = crate::serializer::GetInventorySchemaInputBody { - type_name: &input.type_name, - next_token: &input.next_token, - max_results: &input.max_results, - aggregator: &input.aggregator, - sub_type: &input.sub_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_inventory_schema_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_maintenance_window_input_body( +pub fn serialize_operation_get_maintenance_window( input: &crate::input::GetMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::GetMaintenanceWindowInputBody { - window_id: &input.window_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_maintenance_window_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_maintenance_window_execution_input_body( +pub fn serialize_operation_get_maintenance_window_execution( input: &crate::input::GetMaintenanceWindowExecutionInput, ) -> Result { - let body = crate::serializer::GetMaintenanceWindowExecutionInputBody { - window_execution_id: &input.window_execution_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_maintenance_window_execution_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_maintenance_window_execution_task_input_body( +pub fn serialize_operation_get_maintenance_window_execution_task( input: &crate::input::GetMaintenanceWindowExecutionTaskInput, ) -> Result { - let body = crate::serializer::GetMaintenanceWindowExecutionTaskInputBody { - window_execution_id: &input.window_execution_id, - task_id: &input.task_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_maintenance_window_execution_task_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_maintenance_window_execution_task_invocation_input_body( +pub fn serialize_operation_get_maintenance_window_execution_task_invocation( input: &crate::input::GetMaintenanceWindowExecutionTaskInvocationInput, ) -> Result { - let body = crate::serializer::GetMaintenanceWindowExecutionTaskInvocationInputBody { - window_execution_id: &input.window_execution_id, - task_id: &input.task_id, - invocation_id: &input.invocation_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_maintenance_window_execution_task_invocation_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_maintenance_window_task_input_body( +pub fn serialize_operation_get_maintenance_window_task( input: &crate::input::GetMaintenanceWindowTaskInput, ) -> Result { - let body = crate::serializer::GetMaintenanceWindowTaskInputBody { - window_id: &input.window_id, - window_task_id: &input.window_task_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_maintenance_window_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_ops_item_input_body( +pub fn serialize_operation_get_ops_item( input: &crate::input::GetOpsItemInput, ) -> Result { - let body = crate::serializer::GetOpsItemInputBody { - ops_item_id: &input.ops_item_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_ops_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_ops_metadata_input_body( +pub fn serialize_operation_get_ops_metadata( input: &crate::input::GetOpsMetadataInput, ) -> Result { - let body = crate::serializer::GetOpsMetadataInputBody { - ops_metadata_arn: &input.ops_metadata_arn, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_ops_metadata_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_ops_summary_input_body( +pub fn serialize_operation_get_ops_summary( input: &crate::input::GetOpsSummaryInput, ) -> Result { - let body = crate::serializer::GetOpsSummaryInputBody { - sync_name: &input.sync_name, - filters: &input.filters, - aggregators: &input.aggregators, - result_attributes: &input.result_attributes, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_ops_summary_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_parameter_input_body( +pub fn serialize_operation_get_parameter( input: &crate::input::GetParameterInput, ) -> Result { - let body = crate::serializer::GetParameterInputBody { - name: &input.name, - with_decryption: &input.with_decryption, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_parameter_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_parameter_history_input_body( +pub fn serialize_operation_get_parameter_history( input: &crate::input::GetParameterHistoryInput, ) -> Result { - let body = crate::serializer::GetParameterHistoryInputBody { - name: &input.name, - with_decryption: &input.with_decryption, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_parameter_history_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_parameters_input_body( +pub fn serialize_operation_get_parameters( input: &crate::input::GetParametersInput, ) -> Result { - let body = crate::serializer::GetParametersInputBody { - names: &input.names, - with_decryption: &input.with_decryption, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_parameters_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_parameters_by_path_input_body( +pub fn serialize_operation_get_parameters_by_path( input: &crate::input::GetParametersByPathInput, ) -> Result { - let body = crate::serializer::GetParametersByPathInputBody { - path: &input.path, - recursive: &input.recursive, - parameter_filters: &input.parameter_filters, - with_decryption: &input.with_decryption, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_parameters_by_path_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_patch_baseline_input_body( +pub fn serialize_operation_get_patch_baseline( input: &crate::input::GetPatchBaselineInput, ) -> Result { - let body = crate::serializer::GetPatchBaselineInputBody { - baseline_id: &input.baseline_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_patch_baseline_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_patch_baseline_for_patch_group_input_body( +pub fn serialize_operation_get_patch_baseline_for_patch_group( input: &crate::input::GetPatchBaselineForPatchGroupInput, ) -> Result { - let body = crate::serializer::GetPatchBaselineForPatchGroupInputBody { - patch_group: &input.patch_group, - operating_system: &input.operating_system, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_patch_baseline_for_patch_group_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_get_service_setting_input_body( +pub fn serialize_operation_get_service_setting( input: &crate::input::GetServiceSettingInput, ) -> Result { - let body = crate::serializer::GetServiceSettingInputBody { - setting_id: &input.setting_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_service_setting_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_label_parameter_version_input_body( +pub fn serialize_operation_label_parameter_version( input: &crate::input::LabelParameterVersionInput, ) -> Result { - let body = crate::serializer::LabelParameterVersionInputBody { - name: &input.name, - parameter_version: &input.parameter_version, - labels: &input.labels, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_label_parameter_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_associations_input_body( +pub fn serialize_operation_list_associations( input: &crate::input::ListAssociationsInput, ) -> Result { - let body = crate::serializer::ListAssociationsInputBody { - association_filter_list: &input.association_filter_list, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_associations_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_association_versions_input_body( +pub fn serialize_operation_list_association_versions( input: &crate::input::ListAssociationVersionsInput, ) -> Result { - let body = crate::serializer::ListAssociationVersionsInputBody { - association_id: &input.association_id, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_association_versions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_command_invocations_input_body( +pub fn serialize_operation_list_command_invocations( input: &crate::input::ListCommandInvocationsInput, ) -> Result { - let body = crate::serializer::ListCommandInvocationsInputBody { - command_id: &input.command_id, - instance_id: &input.instance_id, - max_results: &input.max_results, - next_token: &input.next_token, - filters: &input.filters, - details: &input.details, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_command_invocations_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_commands_input_body( +pub fn serialize_operation_list_commands( input: &crate::input::ListCommandsInput, ) -> Result { - let body = crate::serializer::ListCommandsInputBody { - command_id: &input.command_id, - instance_id: &input.instance_id, - max_results: &input.max_results, - next_token: &input.next_token, - filters: &input.filters, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_commands_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_compliance_items_input_body( +pub fn serialize_operation_list_compliance_items( input: &crate::input::ListComplianceItemsInput, ) -> Result { - let body = crate::serializer::ListComplianceItemsInputBody { - filters: &input.filters, - resource_ids: &input.resource_ids, - resource_types: &input.resource_types, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_compliance_items_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_compliance_summaries_input_body( +pub fn serialize_operation_list_compliance_summaries( input: &crate::input::ListComplianceSummariesInput, ) -> Result { - let body = crate::serializer::ListComplianceSummariesInputBody { - filters: &input.filters, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_compliance_summaries_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_document_metadata_history_input_body( +pub fn serialize_operation_list_document_metadata_history( input: &crate::input::ListDocumentMetadataHistoryInput, ) -> Result { - let body = crate::serializer::ListDocumentMetadataHistoryInputBody { - name: &input.name, - document_version: &input.document_version, - metadata: &input.metadata, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_document_metadata_history_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_documents_input_body( +pub fn serialize_operation_list_documents( input: &crate::input::ListDocumentsInput, ) -> Result { - let body = crate::serializer::ListDocumentsInputBody { - document_filter_list: &input.document_filter_list, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_documents_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_document_versions_input_body( +pub fn serialize_operation_list_document_versions( input: &crate::input::ListDocumentVersionsInput, ) -> Result { - let body = crate::serializer::ListDocumentVersionsInputBody { - name: &input.name, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_document_versions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_inventory_entries_input_body( +pub fn serialize_operation_list_inventory_entries( input: &crate::input::ListInventoryEntriesInput, ) -> Result { - let body = crate::serializer::ListInventoryEntriesInputBody { - instance_id: &input.instance_id, - type_name: &input.type_name, - filters: &input.filters, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_inventory_entries_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_ops_item_events_input_body( +pub fn serialize_operation_list_ops_item_events( input: &crate::input::ListOpsItemEventsInput, ) -> Result { - let body = crate::serializer::ListOpsItemEventsInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_ops_item_events_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_ops_item_related_items_input_body( +pub fn serialize_operation_list_ops_item_related_items( input: &crate::input::ListOpsItemRelatedItemsInput, ) -> Result { - let body = crate::serializer::ListOpsItemRelatedItemsInputBody { - ops_item_id: &input.ops_item_id, - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_ops_item_related_items_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_ops_metadata_input_body( +pub fn serialize_operation_list_ops_metadata( input: &crate::input::ListOpsMetadataInput, ) -> Result { - let body = crate::serializer::ListOpsMetadataInputBody { - filters: &input.filters, - max_results: &input.max_results, - next_token: &input.next_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_ops_metadata_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_resource_compliance_summaries_input_body( +pub fn serialize_operation_list_resource_compliance_summaries( input: &crate::input::ListResourceComplianceSummariesInput, ) -> Result { - let body = crate::serializer::ListResourceComplianceSummariesInputBody { - filters: &input.filters, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_resource_compliance_summaries_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_resource_data_sync_input_body( +pub fn serialize_operation_list_resource_data_sync( input: &crate::input::ListResourceDataSyncInput, ) -> Result { - let body = crate::serializer::ListResourceDataSyncInputBody { - sync_type: &input.sync_type, - next_token: &input.next_token, - max_results: &input.max_results, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_resource_data_sync_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_list_tags_for_resource_input_body( +pub fn serialize_operation_list_tags_for_resource( input: &crate::input::ListTagsForResourceInput, ) -> Result { - let body = crate::serializer::ListTagsForResourceInputBody { - resource_type: &input.resource_type, - resource_id: &input.resource_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_tags_for_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_modify_document_permission_input_body( +pub fn serialize_operation_modify_document_permission( input: &crate::input::ModifyDocumentPermissionInput, ) -> Result { - let body = crate::serializer::ModifyDocumentPermissionInputBody { - name: &input.name, - permission_type: &input.permission_type, - account_ids_to_add: &input.account_ids_to_add, - account_ids_to_remove: &input.account_ids_to_remove, - shared_document_version: &input.shared_document_version, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_modify_document_permission_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_compliance_items_input_body( +pub fn serialize_operation_put_compliance_items( input: &crate::input::PutComplianceItemsInput, ) -> Result { - let body = crate::serializer::PutComplianceItemsInputBody { - resource_id: &input.resource_id, - resource_type: &input.resource_type, - compliance_type: &input.compliance_type, - execution_summary: &input.execution_summary, - items: &input.items, - item_content_hash: &input.item_content_hash, - upload_type: &input.upload_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_compliance_items_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_inventory_input_body( +pub fn serialize_operation_put_inventory( input: &crate::input::PutInventoryInput, ) -> Result { - let body = crate::serializer::PutInventoryInputBody { - instance_id: &input.instance_id, - items: &input.items, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_inventory_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_put_parameter_input_body( +pub fn serialize_operation_put_parameter( input: &crate::input::PutParameterInput, ) -> Result { - let body = crate::serializer::PutParameterInputBody { - name: &input.name, - description: &input.description, - value: &input.value, - r#type: &input.r#type, - key_id: &input.key_id, - overwrite: &input.overwrite, - allowed_pattern: &input.allowed_pattern, - tags: &input.tags, - tier: &input.tier, - policies: &input.policies, - data_type: &input.data_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_register_default_patch_baseline_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_parameter_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_register_default_patch_baseline( input: &crate::input::RegisterDefaultPatchBaselineInput, ) -> Result { - let body = crate::serializer::RegisterDefaultPatchBaselineInputBody { - baseline_id: &input.baseline_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_default_patch_baseline_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_register_patch_baseline_for_patch_group_input_body( +pub fn serialize_operation_register_patch_baseline_for_patch_group( input: &crate::input::RegisterPatchBaselineForPatchGroupInput, ) -> Result { - let body = crate::serializer::RegisterPatchBaselineForPatchGroupInputBody { - baseline_id: &input.baseline_id, - patch_group: &input.patch_group, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_patch_baseline_for_patch_group_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_register_target_with_maintenance_window_input_body( +pub fn serialize_operation_register_target_with_maintenance_window( input: &crate::input::RegisterTargetWithMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::RegisterTargetWithMaintenanceWindowInputBody { - window_id: &input.window_id, - resource_type: &input.resource_type, - targets: &input.targets, - owner_information: &input.owner_information, - name: &input.name, - description: &input.description, - client_token: &input.client_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_target_with_maintenance_window_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_register_task_with_maintenance_window_input_body( +pub fn serialize_operation_register_task_with_maintenance_window( input: &crate::input::RegisterTaskWithMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::RegisterTaskWithMaintenanceWindowInputBody { - window_id: &input.window_id, - targets: &input.targets, - task_arn: &input.task_arn, - service_role_arn: &input.service_role_arn, - task_type: &input.task_type, - task_parameters: &input.task_parameters, - task_invocation_parameters: &input.task_invocation_parameters, - priority: &input.priority, - max_concurrency: &input.max_concurrency, - max_errors: &input.max_errors, - logging_info: &input.logging_info, - name: &input.name, - description: &input.description, - client_token: &input.client_token, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_remove_tags_from_resource_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_register_task_with_maintenance_window_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_remove_tags_from_resource( input: &crate::input::RemoveTagsFromResourceInput, ) -> Result { - let body = crate::serializer::RemoveTagsFromResourceInputBody { - resource_type: &input.resource_type, - resource_id: &input.resource_id, - tag_keys: &input.tag_keys, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_remove_tags_from_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_reset_service_setting_input_body( +pub fn serialize_operation_reset_service_setting( input: &crate::input::ResetServiceSettingInput, ) -> Result { - let body = crate::serializer::ResetServiceSettingInputBody { - setting_id: &input.setting_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_reset_service_setting_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_resume_session_input_body( +pub fn serialize_operation_resume_session( input: &crate::input::ResumeSessionInput, ) -> Result { - let body = crate::serializer::ResumeSessionInputBody { - session_id: &input.session_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_resume_session_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_send_automation_signal_input_body( +pub fn serialize_operation_send_automation_signal( input: &crate::input::SendAutomationSignalInput, ) -> Result { - let body = crate::serializer::SendAutomationSignalInputBody { - automation_execution_id: &input.automation_execution_id, - signal_type: &input.signal_type, - payload: &input.payload, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_send_automation_signal_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_send_command_input_body( +pub fn serialize_operation_send_command( input: &crate::input::SendCommandInput, ) -> Result { - let body = crate::serializer::SendCommandInputBody { - instance_ids: &input.instance_ids, - targets: &input.targets, - document_name: &input.document_name, - document_version: &input.document_version, - document_hash: &input.document_hash, - document_hash_type: &input.document_hash_type, - timeout_seconds: &input.timeout_seconds, - comment: &input.comment, - parameters: &input.parameters, - output_s3_region: &input.output_s3_region, - output_s3_bucket_name: &input.output_s3_bucket_name, - output_s3_key_prefix: &input.output_s3_key_prefix, - max_concurrency: &input.max_concurrency, - max_errors: &input.max_errors, - service_role_arn: &input.service_role_arn, - notification_config: &input.notification_config, - cloud_watch_output_config: &input.cloud_watch_output_config, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_start_associations_once_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_send_command_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_start_associations_once( input: &crate::input::StartAssociationsOnceInput, ) -> Result { - let body = crate::serializer::StartAssociationsOnceInputBody { - association_ids: &input.association_ids, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_associations_once_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_start_automation_execution_input_body( +pub fn serialize_operation_start_automation_execution( input: &crate::input::StartAutomationExecutionInput, ) -> Result { - let body = crate::serializer::StartAutomationExecutionInputBody { - document_name: &input.document_name, - document_version: &input.document_version, - parameters: &input.parameters, - client_token: &input.client_token, - mode: &input.mode, - target_parameter_name: &input.target_parameter_name, - targets: &input.targets, - target_maps: &input.target_maps, - max_concurrency: &input.max_concurrency, - max_errors: &input.max_errors, - target_locations: &input.target_locations, - tags: &input.tags, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_start_change_request_execution_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_automation_execution_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_start_change_request_execution( input: &crate::input::StartChangeRequestExecutionInput, ) -> Result { - let body = crate::serializer::StartChangeRequestExecutionInputBody { - scheduled_time: &input.scheduled_time, - document_name: &input.document_name, - document_version: &input.document_version, - parameters: &input.parameters, - change_request_name: &input.change_request_name, - client_token: &input.client_token, - runbooks: &input.runbooks, - tags: &input.tags, - scheduled_end_time: &input.scheduled_end_time, - change_details: &input.change_details, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_start_session_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_change_request_execution_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_start_session( input: &crate::input::StartSessionInput, ) -> Result { - let body = crate::serializer::StartSessionInputBody { - target: &input.target, - document_name: &input.document_name, - parameters: &input.parameters, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_session_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_stop_automation_execution_input_body( +pub fn serialize_operation_stop_automation_execution( input: &crate::input::StopAutomationExecutionInput, ) -> Result { - let body = crate::serializer::StopAutomationExecutionInputBody { - automation_execution_id: &input.automation_execution_id, - r#type: &input.r#type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_stop_automation_execution_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_terminate_session_input_body( +pub fn serialize_operation_terminate_session( input: &crate::input::TerminateSessionInput, ) -> Result { - let body = crate::serializer::TerminateSessionInputBody { - session_id: &input.session_id, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_terminate_session_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_unlabel_parameter_version_input_body( +pub fn serialize_operation_unlabel_parameter_version( input: &crate::input::UnlabelParameterVersionInput, ) -> Result { - let body = crate::serializer::UnlabelParameterVersionInputBody { - name: &input.name, - parameter_version: &input.parameter_version, - labels: &input.labels, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_unlabel_parameter_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_association_input_body( +pub fn serialize_operation_update_association( input: &crate::input::UpdateAssociationInput, ) -> Result { - let body = crate::serializer::UpdateAssociationInputBody { - association_id: &input.association_id, - parameters: &input.parameters, - document_version: &input.document_version, - schedule_expression: &input.schedule_expression, - output_location: &input.output_location, - name: &input.name, - targets: &input.targets, - association_name: &input.association_name, - association_version: &input.association_version, - automation_target_parameter_name: &input.automation_target_parameter_name, - max_errors: &input.max_errors, - max_concurrency: &input.max_concurrency, - compliance_severity: &input.compliance_severity, - sync_compliance: &input.sync_compliance, - apply_only_at_cron_interval: &input.apply_only_at_cron_interval, - calendar_names: &input.calendar_names, - target_locations: &input.target_locations, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_association_status_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_association_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_association_status( input: &crate::input::UpdateAssociationStatusInput, ) -> Result { - let body = crate::serializer::UpdateAssociationStatusInputBody { - name: &input.name, - instance_id: &input.instance_id, - association_status: &input.association_status, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_association_status_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_document_input_body( +pub fn serialize_operation_update_document( input: &crate::input::UpdateDocumentInput, ) -> Result { - let body = crate::serializer::UpdateDocumentInputBody { - content: &input.content, - attachments: &input.attachments, - name: &input.name, - display_name: &input.display_name, - version_name: &input.version_name, - document_version: &input.document_version, - document_format: &input.document_format, - target_type: &input.target_type, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_document_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_document_default_version_input_body( +pub fn serialize_operation_update_document_default_version( input: &crate::input::UpdateDocumentDefaultVersionInput, ) -> Result { - let body = crate::serializer::UpdateDocumentDefaultVersionInputBody { - name: &input.name, - document_version: &input.document_version, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_document_default_version_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_document_metadata_input_body( +pub fn serialize_operation_update_document_metadata( input: &crate::input::UpdateDocumentMetadataInput, ) -> Result { - let body = crate::serializer::UpdateDocumentMetadataInputBody { - name: &input.name, - document_version: &input.document_version, - document_reviews: &input.document_reviews, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_document_metadata_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_maintenance_window_input_body( +pub fn serialize_operation_update_maintenance_window( input: &crate::input::UpdateMaintenanceWindowInput, ) -> Result { - let body = crate::serializer::UpdateMaintenanceWindowInputBody { - window_id: &input.window_id, - name: &input.name, - description: &input.description, - start_date: &input.start_date, - end_date: &input.end_date, - schedule: &input.schedule, - schedule_timezone: &input.schedule_timezone, - schedule_offset: &input.schedule_offset, - duration: &input.duration, - cutoff: &input.cutoff, - allow_unassociated_targets: &input.allow_unassociated_targets, - enabled: &input.enabled, - replace: &input.replace, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_maintenance_window_target_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_maintenance_window_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_maintenance_window_target( input: &crate::input::UpdateMaintenanceWindowTargetInput, ) -> Result { - let body = crate::serializer::UpdateMaintenanceWindowTargetInputBody { - window_id: &input.window_id, - window_target_id: &input.window_target_id, - targets: &input.targets, - owner_information: &input.owner_information, - name: &input.name, - description: &input.description, - replace: &input.replace, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_maintenance_window_target_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_maintenance_window_task_input_body( +pub fn serialize_operation_update_maintenance_window_task( input: &crate::input::UpdateMaintenanceWindowTaskInput, ) -> Result { - let body = crate::serializer::UpdateMaintenanceWindowTaskInputBody { - window_id: &input.window_id, - window_task_id: &input.window_task_id, - targets: &input.targets, - task_arn: &input.task_arn, - service_role_arn: &input.service_role_arn, - task_parameters: &input.task_parameters, - task_invocation_parameters: &input.task_invocation_parameters, - priority: &input.priority, - max_concurrency: &input.max_concurrency, - max_errors: &input.max_errors, - logging_info: &input.logging_info, - name: &input.name, - description: &input.description, - replace: &input.replace, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_managed_instance_role_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_maintenance_window_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_managed_instance_role( input: &crate::input::UpdateManagedInstanceRoleInput, ) -> Result { - let body = crate::serializer::UpdateManagedInstanceRoleInputBody { - instance_id: &input.instance_id, - iam_role: &input.iam_role, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_managed_instance_role_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_ops_item_input_body( +pub fn serialize_operation_update_ops_item( input: &crate::input::UpdateOpsItemInput, ) -> Result { - let body = crate::serializer::UpdateOpsItemInputBody { - description: &input.description, - operational_data: &input.operational_data, - operational_data_to_delete: &input.operational_data_to_delete, - notifications: &input.notifications, - priority: &input.priority, - related_ops_items: &input.related_ops_items, - status: &input.status, - ops_item_id: &input.ops_item_id, - title: &input.title, - category: &input.category, - severity: &input.severity, - actual_start_time: &input.actual_start_time, - actual_end_time: &input.actual_end_time, - planned_start_time: &input.planned_start_time, - planned_end_time: &input.planned_end_time, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_ops_metadata_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_ops_item_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_ops_metadata( input: &crate::input::UpdateOpsMetadataInput, ) -> Result { - let body = crate::serializer::UpdateOpsMetadataInputBody { - ops_metadata_arn: &input.ops_metadata_arn, - metadata_to_update: &input.metadata_to_update, - keys_to_delete: &input.keys_to_delete, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_ops_metadata_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_patch_baseline_input_body( +pub fn serialize_operation_update_patch_baseline( input: &crate::input::UpdatePatchBaselineInput, ) -> Result { - let body = crate::serializer::UpdatePatchBaselineInputBody { - baseline_id: &input.baseline_id, - name: &input.name, - global_filters: &input.global_filters, - approval_rules: &input.approval_rules, - approved_patches: &input.approved_patches, - approved_patches_compliance_level: &input.approved_patches_compliance_level, - approved_patches_enable_non_security: &input.approved_patches_enable_non_security, - rejected_patches: &input.rejected_patches, - rejected_patches_action: &input.rejected_patches_action, - description: &input.description, - sources: &input.sources, - replace: &input.replace, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) -} - -pub fn serialize_operation_update_resource_data_sync_input_body( + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_patch_baseline_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_resource_data_sync( input: &crate::input::UpdateResourceDataSyncInput, ) -> Result { - let body = crate::serializer::UpdateResourceDataSyncInputBody { - sync_name: &input.sync_name, - sync_type: &input.sync_type, - sync_source: &input.sync_source, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_resource_data_sync_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } -pub fn serialize_operation_update_service_setting_input_body( +pub fn serialize_operation_update_service_setting( input: &crate::input::UpdateServiceSettingInput, ) -> Result { - let body = crate::serializer::UpdateServiceSettingInputBody { - setting_id: &input.setting_id, - setting_value: &input.setting_value, - }; - serde_json::to_vec(&body).map(smithy_http::body::SdkBody::from) + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_service_setting_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) } diff --git a/sdk/ssm/src/serde_util.rs b/sdk/ssm/src/serde_util.rs index 3c9aec8631ff..a8b1bc11744a 100644 --- a/sdk/ssm/src/serde_util.rs +++ b/sdk/ssm/src/serde_util.rs @@ -1,18 +1,4 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub fn stdoptionoptionsmithytypesblob_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::blob_serde::BlobSer(el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesblob_deser<'de, D>( _deser: D, ) -> Result, D::Error> @@ -23,20 +9,6 @@ where Ok(std::option::Option::::deserialize(_deser)?.map(|el| el.0)) } -pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_ser( - _inp: &std::option::Option, - _serializer: S, -) -> Result<::Ok, ::Error> -where - S: serde::Serializer, -{ - use serde::Serialize; - let el = _inp; - el.as_ref() - .map(|el| crate::instant_epoch::InstantEpoch(*el)) - .serialize(_serializer) -} - pub fn stdoptionoptionsmithytypesinstant_epoch_seconds_deser<'de, D>( _deser: D, ) -> Result, D::Error> diff --git a/sdk/ssm/src/serializer.rs b/sdk/ssm/src/serializer.rs index c6b34a70c768..ceb3afde01fc 100644 --- a/sdk/ssm/src/serializer.rs +++ b/sdk/ssm/src/serializer.rs @@ -1,6 +1,6 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AddTagsToResourceInputBody<'a> { ///

    Specifies the type of resource you are tagging.

    /// @@ -8,8 +8,6 @@ pub struct AddTagsToResourceInputBody<'a> { /// specify the name of the managed instance in the following format: mi-ID_number. For example, /// mi-1a2b3c4d5e6f.

    ///
    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    The resource ID you want to tag.

    ///

    Use the ID of the resource. Here are some examples:

    @@ -28,15 +26,11 @@ pub struct AddTagsToResourceInputBody<'a> { /// must specify the name of the managed instance in the following format: mi-ID_number. For /// example, mi-1a2b3c4d5e6f.

    /// - #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_id: &'a std::option::Option, ///

    One or more tags. The value parameter is required.

    /// ///

    Do not enter personally identifiable information in this field.

    ///
    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for AddTagsToResourceInputBody<'a> { @@ -50,16 +44,12 @@ impl<'a> std::fmt::Debug for AddTagsToResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AssociateOpsItemRelatedItemInputBody<'a> { ///

    The ID of the OpsItem to which you want to associate a resource as a related item.

    - #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_id: &'a std::option::Option, ///

    The type of association that you want to create between an OpsItem and a resource. OpsCenter /// supports IsParentOf and RelatesTo association types.

    - #[serde(rename = "AssociationType")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_type: &'a std::option::Option, ///

    The type of resource that you want to associate with an OpsItem. OpsCenter supports the /// following types:

    @@ -68,13 +58,9 @@ pub struct AssociateOpsItemRelatedItemInputBody<'a> { /// Manager is a capability of AWS Systems Manager.

    ///

    /// AWS::SSM::Document: a Systems Manager (SSM) document.

    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    The Amazon Resource Name (ARN) of the AWS resource that you want to associate with the /// OpsItem.

    - #[serde(rename = "ResourceUri")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_uri: &'a std::option::Option, } impl<'a> std::fmt::Debug for AssociateOpsItemRelatedItemInputBody<'a> { @@ -90,16 +76,12 @@ impl<'a> std::fmt::Debug for AssociateOpsItemRelatedItemInputBody<'a> { ///

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CancelCommandInputBody<'a> { ///

    The ID of the command you want to cancel.

    - #[serde(rename = "CommandId")] - #[serde(skip_serializing_if = "Option::is_none")] pub command_id: &'a std::option::Option, ///

    (Optional) A list of instance IDs on which you want to cancel the command. If not provided, /// the command is canceled on every instance on which it was requested.

    - #[serde(rename = "InstanceIds")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_ids: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CancelCommandInputBody<'a> { @@ -112,11 +94,9 @@ impl<'a> std::fmt::Debug for CancelCommandInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CancelMaintenanceWindowExecutionInputBody<'a> { ///

    The ID of the maintenance window execution to stop.

    - #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_execution_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for CancelMaintenanceWindowExecutionInputBody<'a> { @@ -128,43 +108,30 @@ impl<'a> std::fmt::Debug for CancelMaintenanceWindowExecutionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateActivationInputBody<'a> { ///

    A user-defined description of the resource that you want to register with Systems Manager.

    /// ///

    Do not enter personally identifiable information in this field.

    ///
    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The name of the registered, managed instance as it will appear in the Systems Manager console or when /// you use the AWS command line tools to list Systems Manager resources.

    /// ///

    Do not enter personally identifiable information in this field.

    ///
    - #[serde(rename = "DefaultInstanceName")] - #[serde(skip_serializing_if = "Option::is_none")] pub default_instance_name: &'a std::option::Option, ///

    The Amazon Identity and Access Management (IAM) role that you want to assign to the managed /// instance. This IAM role must provide AssumeRole permissions for the Systems Manager service principal /// ssm.amazonaws.com. For more information, see Create an IAM service role for a /// hybrid environment in the AWS Systems Manager User Guide.

    - #[serde(rename = "IamRole")] - #[serde(skip_serializing_if = "Option::is_none")] pub iam_role: &'a std::option::Option, ///

    Specify the maximum number of managed instances you want to register. The default value is 1 /// instance.

    - #[serde(rename = "RegistrationLimit")] - #[serde(skip_serializing_if = "Option::is_none")] pub registration_limit: &'a std::option::Option, ///

    The date by which this activation request should expire, in timestamp format, such as /// "2021-07-07T00:00:00". You can specify a date up to 30 days in advance. If you don't provide an /// expiration date, the activation code expires in 24 hours.

    - #[serde(rename = "ExpirationDate")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub expiration_date: &'a std::option::Option, ///

    Optional metadata that you assign to a resource. 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 @@ -193,8 +160,6 @@ pub struct CreateActivationInputBody<'a> { /// managed instance ID. This means they are listed in the AWS Systems Manager console with an ID that is /// prefixed with "mi-". For information about how to add tags to your managed instances, see AddTagsToResource. For information about how to remove tags from your managed /// instances, see RemoveTagsFromResource.

    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateActivationInputBody<'a> { @@ -211,7 +176,7 @@ impl<'a> std::fmt::Debug for CreateActivationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAssociationInputBody<'a> { ///

    The name of the SSM document that contains the configuration information for the instance. /// You can specify Command or Automation documents.

    @@ -230,13 +195,9 @@ pub struct CreateAssociationInputBody<'a> { ///

    For AWS-predefined documents and SSM documents you created in your account, you only need to /// specify the document name. For example, AWS-ApplyPatchBaseline or /// My-Document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The document version you want to associate with the target(s). Can be a specific version or /// the default version.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    The instance ID.

    /// @@ -250,12 +211,8 @@ pub struct CreateAssociationInputBody<'a> { /// ScheduleExpression. To use these parameters, you must use the Targets /// parameter.

    ///
    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The parameters for the runtime configuration of the document.

    - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option< std::collections::HashMap>, >, @@ -263,25 +220,15 @@ pub struct CreateAssociationInputBody<'a> { /// Groups, all instances in an AWS 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 /// AWS Systems Manager User Guide.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    A cron expression when the association will be applied to the target(s).

    - #[serde(rename = "ScheduleExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule_expression: &'a std::option::Option, ///

    An S3 bucket where you want to store the output details of the request.

    - #[serde(rename = "OutputLocation")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_location: &'a std::option::Option, ///

    Specify a descriptive name for the association.

    - #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_name: &'a std::option::Option, ///

    Specify the target for the association. This target is required for associations that use an /// Automation document and target resources by using rate controls.

    - #[serde(rename = "AutomationTargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] pub automation_target_parameter_name: &'a std::option::Option, ///

    The number of errors that are allowed before the system stops sending requests to run the /// association on additional targets. You can specify either an absolute number of errors, for @@ -294,8 +241,6 @@ pub struct CreateAssociationInputBody<'a> { /// complete, but some of these executions may fail as well. If you need to ensure that there won't /// be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one /// at a time.

    - #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_errors: &'a std::option::Option, ///

    The maximum number of targets allowed to run the association at the same time. You can /// specify a number, for example 10, or a percentage of the target set, for example 10%. The default @@ -304,12 +249,8 @@ pub struct CreateAssociationInputBody<'a> { /// MaxConcurrency associations, the association is allowed to run. During the next association /// interval, the new instance will process its association within the limit specified for /// MaxConcurrency.

    - #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_concurrency: &'a std::option::Option, ///

    The severity level to assign to the association.

    - #[serde(rename = "ComplianceSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] pub compliance_severity: &'a std::option::Option, ///

    The mode for generating association compliance. You can specify AUTO or /// MANUAL. In AUTO mode, the system uses the status of the association @@ -320,27 +261,20 @@ pub struct CreateAssociationInputBody<'a> { /// for the PutComplianceItems API action. In this case, compliance data is not /// managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    ///

    By default, all associations use AUTO mode.

    - #[serde(rename = "SyncCompliance")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_compliance: &'a std::option::Option, ///

    By default, when you create a new association, the system runs it immediately after it is /// created and then according to the schedule you specified. Specify this option if you don't want /// an association to run immediately after you create it. This parameter is not supported for rate /// expressions.

    - #[serde(rename = "ApplyOnlyAtCronInterval")] pub apply_only_at_cron_interval: &'a bool, ///

    The names or Amazon Resource Names (ARNs) of the Systems Manager Change Calendar type /// documents you want to gate your associations under. The associations only run when that Change /// Calendar is open. For more information, see AWS Systems Manager Change /// Calendar.

    - #[serde(rename = "CalendarNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub calendar_names: &'a std::option::Option>, ///

    A location is a combination of AWS Regions and AWS accounts where you want to run the /// association. Use this action to create an association in multiple Regions and multiple /// accounts.

    - #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_locations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateAssociationInputBody<'a> { @@ -373,11 +307,9 @@ impl<'a> std::fmt::Debug for CreateAssociationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAssociationBatchInputBody<'a> { ///

    One or more associations.

    - #[serde(rename = "Entries")] - #[serde(skip_serializing_if = "Option::is_none")] pub entries: &'a std::option::Option>, } @@ -390,7 +322,7 @@ impl<'a> std::fmt::Debug for CreateAssociationBatchInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateDocumentInputBody<'a> { ///

    The content for the new SSM document in JSON or YAML format. We recommend storing the /// contents for your new document in an external JSON or YAML file and referencing the file in a @@ -416,8 +348,6 @@ pub struct CreateDocumentInputBody<'a> { ///

    /// /// - #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] pub content: &'a std::option::Option, ///

    A list of SSM documents required by a document. This parameter is used exclusively by AWS /// AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also @@ -426,12 +356,8 @@ pub struct CreateDocumentInputBody<'a> { /// ApplicationConfigurationSchema document for validation purposes. For more /// information, see AWS AppConfig in the /// AWS Systems Manager User Guide.

    - #[serde(rename = "Requires")] - #[serde(skip_serializing_if = "Option::is_none")] pub requires: &'a std::option::Option>, ///

    A list of key and value pairs that describe attachments to a version of a document.

    - #[serde(rename = "Attachments")] - #[serde(skip_serializing_if = "Option::is_none")] pub attachments: &'a std::option::Option>, ///

    A name for the Systems Manager document.

    /// @@ -455,37 +381,25 @@ pub struct CreateDocumentInputBody<'a> { /// /// /// - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional field where you can specify a friendly name for the Systems Manager document. This value /// can differ for each version of the document. You can update this value at a later time using the /// UpdateDocument action.

    - #[serde(rename = "DisplayName")] - #[serde(skip_serializing_if = "Option::is_none")] pub display_name: &'a std::option::Option, ///

    An optional field specifying the version of the artifact you are creating with the document. /// For example, "Release 12, Update 6". This value is unique across all versions of a document, and /// cannot be changed.

    - #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_name: &'a std::option::Option, ///

    The type of document to create.

    - #[serde(rename = "DocumentType")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_type: &'a std::option::Option, ///

    Specify the document format for the request. The document format can be JSON, YAML, or TEXT. /// JSON is the default format.

    - #[serde(rename = "DocumentFormat")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_format: &'a std::option::Option, ///

    Specify a target type to define the kinds of resources the document can run on. For example, /// to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you /// specify a value of '/' the document can run on all types of resources. If you don't specify a /// value, the document can't run on any resources. For a list of valid resource types, see AWS resource and property types /// reference in the AWS CloudFormation User Guide.

    - #[serde(rename = "TargetType")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_type: &'a std::option::Option, ///

    Optional metadata that you assign to a resource. 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 @@ -507,8 +421,6 @@ pub struct CreateDocumentInputBody<'a> { ///

    To add tags to an existing SSM document, use the AddTagsToResource /// action.

    /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateDocumentInputBody<'a> { @@ -529,39 +441,27 @@ impl<'a> std::fmt::Debug for CreateDocumentInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateMaintenanceWindowInputBody<'a> { ///

    The name of the maintenance window.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional description for the maintenance window. We recommend specifying a description to /// help you organize your maintenance windows.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to /// become active. StartDate allows you to delay activation of the maintenance window until the /// specified future date.

    - #[serde(rename = "StartDate")] - #[serde(skip_serializing_if = "Option::is_none")] pub start_date: &'a std::option::Option, ///

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to /// become inactive. EndDate allows you to set a date and time in the future when the maintenance /// window will no longer run.

    - #[serde(rename = "EndDate")] - #[serde(skip_serializing_if = "Option::is_none")] pub end_date: &'a std::option::Option, ///

    The schedule of the maintenance window in the form of a cron or rate expression.

    - #[serde(rename = "Schedule")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule: &'a std::option::Option, ///

    The time zone that the scheduled maintenance window executions are based on, in Internet /// Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or /// "Asia/Seoul". For more information, see the Time /// Zone Database on the IANA website.

    - #[serde(rename = "ScheduleTimezone")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule_timezone: &'a std::option::Option, ///

    The number of days to wait after the date and time specified by a CRON expression before /// running the maintenance window.

    @@ -572,26 +472,19 @@ pub struct CreateMaintenanceWindowInputBody<'a> { ///

    ///

    If the schedule offset is 2, the maintenance window won't run until two days /// later.

    - #[serde(rename = "ScheduleOffset")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule_offset: &'a std::option::Option, ///

    The duration of the maintenance window in hours.

    - #[serde(rename = "Duration")] pub duration: &'a i32, ///

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new /// tasks for execution.

    - #[serde(rename = "Cutoff")] pub cutoff: &'a i32, ///

    Enables a maintenance window task to run on managed instances, even if you have not /// registered those instances as targets. If enabled, then you must specify the unregistered /// instances (by instance ID) when you register a task with the maintenance window.

    ///

    If you don't enable this option, then you must specify previously-registered targets when /// you register a task with the maintenance window.

    - #[serde(rename = "AllowUnassociatedTargets")] pub allow_unassociated_targets: &'a bool, ///

    User-provided idempotency token.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, ///

    Optional metadata that you assign to a resource. 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 @@ -619,8 +512,6 @@ pub struct CreateMaintenanceWindowInputBody<'a> { ///

    To add tags to an existing maintenance window, use the AddTagsToResource /// action.

    /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateMaintenanceWindowInputBody<'a> { @@ -646,16 +537,12 @@ impl<'a> std::fmt::Debug for CreateMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateOpsItemInputBody<'a> { ///

    Information about the OpsItem.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The type of OpsItem to create. Currently, the only valid values are /// /aws/changerequest and /aws/issue.

    - #[serde(rename = "OpsItemType")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_type: &'a std::option::Option, ///

    Operational data is custom data that provides useful reference details about the OpsItem. /// For example, you can specify log files, error strings, license keys, troubleshooting tips, or @@ -674,36 +561,24 @@ pub struct CreateOpsItemInputBody<'a> { /// the request. Use the /aws/automations key in OperationalData to associate an /// Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see /// Creating OpsItems manually in the AWS Systems Manager User Guide.

    - #[serde(rename = "OperationalData")] - #[serde(skip_serializing_if = "Option::is_none")] pub operational_data: &'a std::option::Option< std::collections::HashMap, >, ///

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this /// OpsItem is edited or changed.

    - #[serde(rename = "Notifications")] - #[serde(skip_serializing_if = "Option::is_none")] pub notifications: &'a std::option::Option>, ///

    The importance of this OpsItem in relation to other OpsItems in the system.

    - #[serde(rename = "Priority")] - #[serde(skip_serializing_if = "Option::is_none")] pub priority: &'a std::option::Option, ///

    One or more OpsItems that share something in common with the current OpsItems. For example, /// related OpsItems can include OpsItems with similar error messages, impacted resources, or /// statuses for the impacted resource.

    - #[serde(rename = "RelatedOpsItems")] - #[serde(skip_serializing_if = "Option::is_none")] pub related_ops_items: &'a std::option::Option>, ///

    The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

    /// ///

    The source name can't contain the following strings: aws, amazon, and amzn.

    ///
    - #[serde(rename = "Source")] - #[serde(skip_serializing_if = "Option::is_none")] pub source: &'a std::option::Option, ///

    A short heading that describes the nature of the OpsItem and the impacted resource.

    - #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] pub title: &'a std::option::Option, ///

    Optional metadata that you assign to a resource. You can restrict access to OpsItems by /// using an inline IAM policy that specifies tags. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

    @@ -715,48 +590,22 @@ pub struct CreateOpsItemInputBody<'a> { ///

    To add tags to an existing OpsItem, use the AddTagsToResource /// action.

    /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, ///

    Specify a category to assign to an OpsItem.

    - #[serde(rename = "Category")] - #[serde(skip_serializing_if = "Option::is_none")] pub category: &'a std::option::Option, ///

    Specify a severity to assign to an OpsItem.

    - #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] pub severity: &'a std::option::Option, ///

    The time a runbook workflow started. Currently reported only for the OpsItem type /// /aws/changerequest.

    - #[serde(rename = "ActualStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub actual_start_time: &'a std::option::Option, ///

    The time a runbook workflow ended. Currently reported only for the OpsItem type /// /aws/changerequest.

    - #[serde(rename = "ActualEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub actual_end_time: &'a std::option::Option, ///

    The time specified in a change request for a runbook workflow to start. Currently supported /// only for the OpsItem type /aws/changerequest.

    - #[serde(rename = "PlannedStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub planned_start_time: &'a std::option::Option, ///

    The time specified in a change request for a runbook workflow to end. Currently supported /// only for the OpsItem type /aws/changerequest.

    - #[serde(rename = "PlannedEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub planned_end_time: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateOpsItemInputBody<'a> { @@ -782,15 +631,11 @@ impl<'a> std::fmt::Debug for CreateOpsItemInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateOpsMetadataInputBody<'a> { ///

    A resource ID for a new Application Manager application.

    - #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_id: &'a std::option::Option, ///

    Metadata for a new Application Manager application.

    - #[serde(rename = "Metadata")] - #[serde(skip_serializing_if = "Option::is_none")] pub metadata: &'a std::option::Option< std::collections::HashMap, >, @@ -811,8 +656,6 @@ pub struct CreateOpsMetadataInputBody<'a> { ///

    /// /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreateOpsMetadataInputBody<'a> { @@ -826,50 +669,34 @@ impl<'a> std::fmt::Debug for CreateOpsMetadataInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreatePatchBaselineInputBody<'a> { ///

    Defines the operating system the patch baseline applies to. The Default value is /// WINDOWS.

    - #[serde(rename = "OperatingSystem")] - #[serde(skip_serializing_if = "Option::is_none")] pub operating_system: &'a std::option::Option, ///

    The name of the patch baseline.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    A set of global filters used to include patches in the baseline.

    - #[serde(rename = "GlobalFilters")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_filters: &'a std::option::Option, ///

    A set of rules used to include patches in the baseline.

    - #[serde(rename = "ApprovalRules")] - #[serde(skip_serializing_if = "Option::is_none")] pub approval_rules: &'a std::option::Option, ///

    A list of explicitly approved patches for the baseline.

    ///

    For information about accepted formats for lists of approved patches and rejected patches, /// see About /// package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    - #[serde(rename = "ApprovedPatches")] - #[serde(skip_serializing_if = "Option::is_none")] pub approved_patches: &'a std::option::Option>, ///

    Defines the compliance level for approved patches. When an approved patch is reported as /// missing, this value describes the severity of the compliance violation. The default value is /// UNSPECIFIED.

    - #[serde(rename = "ApprovedPatchesComplianceLevel")] - #[serde(skip_serializing_if = "Option::is_none")] pub approved_patches_compliance_level: &'a std::option::Option, ///

    Indicates whether the list of approved patches includes non-security updates that should be /// applied to the instances. The default value is 'false'. Applies to Linux instances only.

    - #[serde(rename = "ApprovedPatchesEnableNonSecurity")] - #[serde(skip_serializing_if = "Option::is_none")] pub approved_patches_enable_non_security: &'a std::option::Option, ///

    A list of explicitly rejected patches for the baseline.

    ///

    For information about accepted formats for lists of approved patches and rejected patches, /// see About /// package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    - #[serde(rename = "RejectedPatches")] - #[serde(skip_serializing_if = "Option::is_none")] pub rejected_patches: &'a std::option::Option>, ///

    The action for Patch Manager to take on patches included in the RejectedPackages /// list.

    @@ -890,21 +717,13 @@ pub struct CreatePatchBaselineInputBody<'a> { /// InstalledRejected.

    /// /// - #[serde(rename = "RejectedPatchesAction")] - #[serde(skip_serializing_if = "Option::is_none")] pub rejected_patches_action: &'a std::option::Option, ///

    A description of the patch baseline.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Information about the patches to use to update the instances, including target operating /// systems and source repositories. Applies to Linux instances only.

    - #[serde(rename = "Sources")] - #[serde(skip_serializing_if = "Option::is_none")] pub sources: &'a std::option::Option>, ///

    User-provided idempotency token.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, ///

    Optional metadata that you assign to a resource. 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 @@ -926,8 +745,6 @@ pub struct CreatePatchBaselineInputBody<'a> { ///

    To add tags to an existing patch baseline, use the AddTagsToResource /// action.

    /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for CreatePatchBaselineInputBody<'a> { @@ -957,16 +774,12 @@ impl<'a> std::fmt::Debug for CreatePatchBaselineInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateResourceDataSyncInputBody<'a> { ///

    A name for the configuration.

    - #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_name: &'a std::option::Option, ///

    Amazon S3 configuration details for the sync. This parameter is required if the /// SyncType value is SyncToDestination.

    - #[serde(rename = "S3Destination")] - #[serde(skip_serializing_if = "Option::is_none")] pub s3_destination: &'a std::option::Option, ///

    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 @@ -974,13 +787,9 @@ pub struct CreateResourceDataSyncInputBody<'a> { /// from a single account and multiple Regions, or multiple AWS accounts and Regions, as listed in /// AWS Organizations for Explorer. If you specify SyncFromSource, you must provide a value for /// SyncSource. The default value is SyncToDestination.

    - #[serde(rename = "SyncType")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_type: &'a std::option::Option, ///

    Specify information about the data sources to synchronize. This parameter is required if the /// SyncType value is SyncFromSource.

    - #[serde(rename = "SyncSource")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_source: &'a std::option::Option, } impl<'a> std::fmt::Debug for CreateResourceDataSyncInputBody<'a> { @@ -995,11 +804,9 @@ impl<'a> std::fmt::Debug for CreateResourceDataSyncInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteActivationInputBody<'a> { ///

    The ID of the activation that you want to delete.

    - #[serde(rename = "ActivationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub activation_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteActivationInputBody<'a> { @@ -1011,19 +818,13 @@ impl<'a> std::fmt::Debug for DeleteActivationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteAssociationInputBody<'a> { ///

    The name of the Systems Manager document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The ID of the instance.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The association ID that you want to delete.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteAssociationInputBody<'a> { @@ -1037,27 +838,20 @@ impl<'a> std::fmt::Debug for DeleteAssociationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteDocumentInputBody<'a> { ///

    The name of the document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The version of the document that you want to delete. If not provided, all versions of the /// document are deleted.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    The version name of the document that you want to delete. If not provided, all versions of /// the document are deleted.

    - #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_name: &'a std::option::Option, ///

    Some SSM document types require that you specify a Force flag before you can /// delete the document. For example, you must specify a Force flag to delete a document /// of type ApplicationConfigurationSchema. You can restrict access to the /// Force flag in an AWS Identity and Access Management (IAM) policy.

    - #[serde(rename = "Force")] pub force: &'a bool, } impl<'a> std::fmt::Debug for DeleteDocumentInputBody<'a> { @@ -1072,12 +866,10 @@ impl<'a> std::fmt::Debug for DeleteDocumentInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteInventoryInputBody<'a> { ///

    The name of the custom inventory type for which you want to delete either all previously /// collected data or the inventory type itself.

    - #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] pub type_name: &'a std::option::Option, ///

    Use the SchemaDeleteOption to delete a custom inventory type (schema). If you /// don't choose this option, the system only deletes existing inventory data associated with the @@ -1087,18 +879,13 @@ pub struct DeleteInventoryInputBody<'a> { /// PutInventory action for a version greater than the disabled version.

    ///

    DeleteSchema: This option deletes the specified custom type from the Inventory service. You /// can recreate the schema later, if you want.

    - #[serde(rename = "SchemaDeleteOption")] - #[serde(skip_serializing_if = "Option::is_none")] pub schema_delete_option: &'a std::option::Option, ///

    Use this option to view a summary of the deletion request without deleting any data or the /// data type. This option is useful when you only want to understand what will be deleted. Once you /// validate that the data to be deleted is what you intend to delete, you can run the same command /// without specifying the DryRun option.

    - #[serde(rename = "DryRun")] pub dry_run: &'a bool, ///

    User-provided idempotency token.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteInventoryInputBody<'a> { @@ -1113,11 +900,9 @@ impl<'a> std::fmt::Debug for DeleteInventoryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window to delete.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteMaintenanceWindowInputBody<'a> { @@ -1129,11 +914,9 @@ impl<'a> std::fmt::Debug for DeleteMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteOpsMetadataInputBody<'a> { ///

    The Amazon Resource Name (ARN) of an OpsMetadata Object to delete.

    - #[serde(rename = "OpsMetadataArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_metadata_arn: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteOpsMetadataInputBody<'a> { @@ -1145,11 +928,9 @@ impl<'a> std::fmt::Debug for DeleteOpsMetadataInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteParameterInputBody<'a> { ///

    The name of the parameter to delete.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteParameterInputBody<'a> { @@ -1161,11 +942,9 @@ impl<'a> std::fmt::Debug for DeleteParameterInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteParametersInputBody<'a> { ///

    The names of the parameters to delete.

    - #[serde(rename = "Names")] - #[serde(skip_serializing_if = "Option::is_none")] pub names: &'a std::option::Option>, } impl<'a> std::fmt::Debug for DeleteParametersInputBody<'a> { @@ -1177,11 +956,9 @@ impl<'a> std::fmt::Debug for DeleteParametersInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeletePatchBaselineInputBody<'a> { ///

    The ID of the patch baseline to delete.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeletePatchBaselineInputBody<'a> { @@ -1193,15 +970,11 @@ impl<'a> std::fmt::Debug for DeletePatchBaselineInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteResourceDataSyncInputBody<'a> { ///

    The name of the configuration to delete.

    - #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_name: &'a std::option::Option, ///

    Specify the type of resource data sync to delete.

    - #[serde(rename = "SyncType")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeleteResourceDataSyncInputBody<'a> { @@ -1214,12 +987,10 @@ impl<'a> std::fmt::Debug for DeleteResourceDataSyncInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeregisterManagedInstanceInputBody<'a> { ///

    The ID assigned to the managed instance when you registered it using the activation process. ///

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeregisterManagedInstanceInputBody<'a> { @@ -1231,15 +1002,11 @@ impl<'a> std::fmt::Debug for DeregisterManagedInstanceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeregisterPatchBaselineForPatchGroupInputBody<'a> { ///

    The ID of the patch baseline to deregister the patch group from.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, ///

    The name of the patch group that should be deregistered from the patch baseline.

    - #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_group: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeregisterPatchBaselineForPatchGroupInputBody<'a> { @@ -1252,21 +1019,15 @@ impl<'a> std::fmt::Debug for DeregisterPatchBaselineForPatchGroupInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeregisterTargetFromMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window the target should be removed from.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The ID of the target definition to remove.

    - #[serde(rename = "WindowTargetId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_target_id: &'a std::option::Option, ///

    The system checks if the target is being referenced by a task. If the target is being /// referenced, the system returns an error and does not deregister the target from the maintenance /// window.

    - #[serde(rename = "Safe")] - #[serde(skip_serializing_if = "Option::is_none")] pub safe: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeregisterTargetFromMaintenanceWindowInputBody<'a> { @@ -1280,15 +1041,11 @@ impl<'a> std::fmt::Debug for DeregisterTargetFromMaintenanceWindowInputBody<'a> } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeregisterTaskFromMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window the task should be removed from.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The ID of the task to remove from the maintenance window.

    - #[serde(rename = "WindowTaskId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_task_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DeregisterTaskFromMaintenanceWindowInputBody<'a> { @@ -1301,20 +1058,14 @@ impl<'a> std::fmt::Debug for DeregisterTaskFromMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeActivationsInputBody<'a> { ///

    A filter to view information about your activations.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeActivationsInputBody<'a> { @@ -1328,26 +1079,18 @@ impl<'a> std::fmt::Debug for DescribeActivationsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeAssociationInputBody<'a> { ///

    The name of the Systems Manager document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The instance ID.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The association ID for which you want information.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a std::option::Option, ///

    Specify the association version to retrieve. To view the latest version, either specify /// $LATEST for this parameter, or omit this parameter. To view a list of all /// associations for an instance, use ListAssociations. To get a list of versions /// for a specific association, use ListAssociationVersions.

    - #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_version: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeAssociationInputBody<'a> { @@ -1362,27 +1105,19 @@ impl<'a> std::fmt::Debug for DescribeAssociationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeAssociationExecutionsInputBody<'a> { ///

    The association ID for which you want to view execution history details.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a std::option::Option, ///

    Filters for the request. You can specify the following filters and values.

    ///

    ExecutionId (EQUAL)

    ///

    Status (EQUAL)

    ///

    CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeAssociationExecutionsInputBody<'a> { @@ -1397,32 +1132,22 @@ impl<'a> std::fmt::Debug for DescribeAssociationExecutionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeAssociationExecutionTargetsInputBody<'a> { ///

    The association ID that includes the execution for which you want to view details.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a std::option::Option, ///

    The execution ID for which you want to view details.

    - #[serde(rename = "ExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub execution_id: &'a std::option::Option, ///

    Filters for the request. You can specify the following filters and values.

    ///

    Status (EQUAL)

    ///

    ResourceId (EQUAL)

    ///

    ResourceType (EQUAL)

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeAssociationExecutionTargetsInputBody<'a> { @@ -1438,21 +1163,15 @@ impl<'a> std::fmt::Debug for DescribeAssociationExecutionTargetsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeAutomationExecutionsInputBody<'a> { ///

    Filters used to limit the scope of executions that are requested.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeAutomationExecutionsInputBody<'a> { @@ -1466,30 +1185,20 @@ impl<'a> std::fmt::Debug for DescribeAutomationExecutionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeAutomationStepExecutionsInputBody<'a> { ///

    The Automation execution ID for which you want step execution descriptions.

    - #[serde(rename = "AutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub automation_execution_id: &'a std::option::Option, ///

    One or more filters to limit the number of step executions returned by the request.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    Indicates whether to list step executions in reverse order by start time. The default value /// is 'false'.

    - #[serde(rename = "ReverseOrder")] - #[serde(skip_serializing_if = "Option::is_none")] pub reverse_order: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeAutomationStepExecutionsInputBody<'a> { @@ -1505,20 +1214,14 @@ impl<'a> std::fmt::Debug for DescribeAutomationStepExecutionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeAvailablePatchesInputBody<'a> { ///

    Filters used to scope down the returned patches.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The maximum number of patches to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeAvailablePatchesInputBody<'a> { @@ -1532,22 +1235,16 @@ impl<'a> std::fmt::Debug for DescribeAvailablePatchesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeDocumentInputBody<'a> { ///

    The name of the Systems Manager document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The document version for which you want information. Can be a specific version or the /// default version.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    An optional field specifying the version of the artifact associated with the document. For /// example, "Release 12, Update 6". This value is unique across all versions of a document, and /// cannot be changed.

    - #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeDocumentInputBody<'a> { @@ -1561,26 +1258,18 @@ impl<'a> std::fmt::Debug for DescribeDocumentInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeDocumentPermissionInputBody<'a> { ///

    The name of the document for which you are the owner.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The permission type for the document. The permission type can be /// Share.

    - #[serde(rename = "PermissionType")] - #[serde(skip_serializing_if = "Option::is_none")] pub permission_type: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeDocumentPermissionInputBody<'a> { @@ -1595,21 +1284,15 @@ impl<'a> std::fmt::Debug for DescribeDocumentPermissionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeEffectiveInstanceAssociationsInputBody<'a> { ///

    The instance ID for which you want to view all associations.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeEffectiveInstanceAssociationsInputBody<'a> { @@ -1623,20 +1306,14 @@ impl<'a> std::fmt::Debug for DescribeEffectiveInstanceAssociationsInputBody<'a> } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeEffectivePatchesForPatchBaselineInputBody<'a> { ///

    The ID of the patch baseline to retrieve the effective patches for.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, ///

    The maximum number of patches to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeEffectivePatchesForPatchBaselineInputBody<'a> { @@ -1650,21 +1327,15 @@ impl<'a> std::fmt::Debug for DescribeEffectivePatchesForPatchBaselineInputBody<' } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeInstanceAssociationsStatusInputBody<'a> { ///

    The instance IDs for which you want association status information.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeInstanceAssociationsStatusInputBody<'a> { @@ -1678,7 +1349,7 @@ impl<'a> std::fmt::Debug for DescribeInstanceAssociationsStatusInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeInstanceInformationInputBody<'a> { ///

    This is a legacy method. We recommend that you don't use this method. Instead, use the /// Filters data type. Filters enables you to return instance information @@ -1687,26 +1358,18 @@ pub struct DescribeInstanceInformationInputBody<'a> { ///

    Attempting to use InstanceInformationFilterList and Filters leads /// to an exception error.

    /// - #[serde(rename = "InstanceInformationFilterList")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_information_filter_list: &'a std::option::Option>, ///

    One or more filters. Use a filter to return a more specific list of instances. You can /// filter based on tags applied to EC2 instances. Use this Filters data type instead of /// InstanceInformationFilterList, which is deprecated.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeInstanceInformationInputBody<'a> { @@ -1724,26 +1387,18 @@ impl<'a> std::fmt::Debug for DescribeInstanceInformationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeInstancePatchesInputBody<'a> { ///

    The ID of the instance whose patch state information should be retrieved.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    An array of structures. Each entry in the array is a structure containing a Key, Value /// combination. Valid values for Key are Classification | KBId | /// Severity | State.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    The maximum number of patches to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeInstancePatchesInputBody<'a> { @@ -1758,20 +1413,14 @@ impl<'a> std::fmt::Debug for DescribeInstancePatchesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeInstancePatchStatesInputBody<'a> { ///

    The ID of the instance whose patch state information should be retrieved.

    - #[serde(rename = "InstanceIds")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_ids: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    The maximum number of instances to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeInstancePatchStatesInputBody<'a> { @@ -1785,28 +1434,20 @@ impl<'a> std::fmt::Debug for DescribeInstancePatchStatesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeInstancePatchStatesForPatchGroupInputBody<'a> { ///

    The name of the patch group for which the patch state information should be /// retrieved.

    - #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_group: &'a std::option::Option, ///

    Each entry in the array is a structure containing:

    ///

    Key (string between 1 and 200 characters)

    ///

    Values (array containing a single string)

    ///

    Type (string "Equal", "NotEqual", "LessThan", "GreaterThan")

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    The maximum number of patches to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeInstancePatchStatesForPatchGroupInputBody<'a> { @@ -1821,21 +1462,15 @@ impl<'a> std::fmt::Debug for DescribeInstancePatchStatesForPatchGroupInputBody<' } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeInventoryDeletionsInputBody<'a> { ///

    Specify the delete inventory ID for which you want information. This ID was returned by the /// DeleteInventory action.

    - #[serde(rename = "DeletionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub deletion_id: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeInventoryDeletionsInputBody<'a> { @@ -1849,29 +1484,21 @@ impl<'a> std::fmt::Debug for DescribeInventoryDeletionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowExecutionsInputBody<'a> { ///

    The ID of the maintenance window whose executions should be retrieved.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    Each entry in the array is a structure containing:

    ///

    Key (string, between 1 and 128 characters)

    ///

    Values (array of strings, each string is between 1 and 256 characters)

    ///

    The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time /// string such as 2016-11-04T05:00:00Z.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowExecutionsInputBody<'a> { @@ -1886,31 +1513,21 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowExecutionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowExecutionTaskInvocationsInputBody<'a> { ///

    The ID of the maintenance window execution the task is part of.

    - #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_execution_id: &'a std::option::Option, ///

    The ID of the specific task in the maintenance window task that should be retrieved.

    - #[serde(rename = "TaskId")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_id: &'a std::option::Option, ///

    Optional filters used to scope down the returned task invocations. The supported filter key /// is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, /// CANCELLING, and CANCELLED.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowExecutionTaskInvocationsInputBody<'a> { @@ -1927,27 +1544,19 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowExecutionTaskInvocationsIn } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowExecutionTasksInputBody<'a> { ///

    The ID of the maintenance window execution whose task executions should be retrieved.

    - #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_execution_id: &'a std::option::Option, ///

    Optional filters used to scope down the returned tasks. The supported filter key is STATUS /// with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and /// CANCELLED.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowExecutionTasksInputBody<'a> { @@ -1962,22 +1571,16 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowExecutionTasksInputBody<'a } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowsInputBody<'a> { ///

    Optional filters used to narrow down the scope of the returned maintenance windows. /// Supported filter keys are Name and Enabled.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowsInputBody<'a> { @@ -1991,34 +1594,22 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowScheduleInputBody<'a> { ///

    The ID of the maintenance window to retrieve information about.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The instance ID or key/value pair to retrieve information about.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    The type of resource you want to retrieve information about. For example, "INSTANCE".

    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    Filters used to limit the range of results. For example, you can limit maintenance window /// executions to only those scheduled before or after a certain date and time.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowScheduleInputBody<'a> { @@ -2035,25 +1626,17 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowScheduleInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowsForTargetInputBody<'a> { ///

    The instance ID or key/value pair to retrieve information about.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    The type of resource you want to retrieve information about. For example, "INSTANCE".

    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowsForTargetInputBody<'a> { @@ -2068,26 +1651,18 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowsForTargetInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowTargetsInputBody<'a> { ///

    The ID of the maintenance window whose targets should be retrieved.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    Optional filters that can be used to narrow down the scope of the returned window targets. /// The supported filter keys are Type, WindowTargetId and OwnerInformation.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowTargetsInputBody<'a> { @@ -2102,26 +1677,18 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowTargetsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeMaintenanceWindowTasksInputBody<'a> { ///

    The ID of the maintenance window whose tasks should be retrieved.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    Optional filters used to narrow down the scope of the returned tasks. The supported filter /// keys are WindowTaskId, TaskArn, Priority, and TaskType.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeMaintenanceWindowTasksInputBody<'a> { @@ -2136,7 +1703,7 @@ impl<'a> std::fmt::Debug for DescribeMaintenanceWindowTasksInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeOpsItemsInputBody<'a> { ///

    One or more filters to limit the response.

    ///
      @@ -2195,17 +1762,11 @@ pub struct DescribeOpsItemsInputBody<'a> { ///
    ///

    *If you filter the response by using the OperationalData operator, specify a key-value pair /// by using the following JSON format: {"key":"key_name","value":"a_value"}

    - #[serde(rename = "OpsItemFilters")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeOpsItemsInputBody<'a> { @@ -2219,26 +1780,18 @@ impl<'a> std::fmt::Debug for DescribeOpsItemsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeParametersInputBody<'a> { ///

    This data type is deprecated. Instead, use ParameterFilters.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    Filters to limit the request results.

    - #[serde(rename = "ParameterFilters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameter_filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribeParametersInputBody<'a> { @@ -2253,22 +1806,16 @@ impl<'a> std::fmt::Debug for DescribeParametersInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribePatchBaselinesInputBody<'a> { ///

    Each element in the array is a structure containing:

    ///

    Key: (string, "NAME_PREFIX" or "OWNER")

    ///

    Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The maximum number of patch baselines to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribePatchBaselinesInputBody<'a> { @@ -2282,11 +1829,9 @@ impl<'a> std::fmt::Debug for DescribePatchBaselinesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribePatchGroupsInputBody<'a> { ///

    The maximum number of patch groups to return (per page).

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    One or more filters. Use a filter to return a more specific list of results.

    ///

    For DescribePatchGroups,valid filter keys include the following:

    @@ -2314,13 +1859,9 @@ pub struct DescribePatchGroupsInputBody<'a> { /// /// /// - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribePatchGroupsInputBody<'a> { @@ -2334,11 +1875,9 @@ impl<'a> std::fmt::Debug for DescribePatchGroupsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribePatchGroupStateInputBody<'a> { ///

    The name of the patch group whose patch snapshot should be retrieved.

    - #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_group: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribePatchGroupStateInputBody<'a> { @@ -2350,30 +1889,20 @@ impl<'a> std::fmt::Debug for DescribePatchGroupStateInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribePatchPropertiesInputBody<'a> { ///

    The operating system type for which to list patches.

    - #[serde(rename = "OperatingSystem")] - #[serde(skip_serializing_if = "Option::is_none")] pub operating_system: &'a std::option::Option, ///

    The patch property for which you want to view patch details.

    - #[serde(rename = "Property")] - #[serde(skip_serializing_if = "Option::is_none")] pub property: &'a std::option::Option, ///

    Indicates whether to list patches for the Windows operating system or for Microsoft /// applications. Not applicable for the Linux or macOS operating systems.

    - #[serde(rename = "PatchSet")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_set: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for DescribePatchPropertiesInputBody<'a> { @@ -2389,25 +1918,17 @@ impl<'a> std::fmt::Debug for DescribePatchPropertiesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeSessionsInputBody<'a> { ///

    The session status to retrieve a list of sessions for. For example, "Active".

    - #[serde(rename = "State")] - #[serde(skip_serializing_if = "Option::is_none")] pub state: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    One or more filters to limit the type of sessions returned by the request.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, } impl<'a> std::fmt::Debug for DescribeSessionsInputBody<'a> { @@ -2422,17 +1943,13 @@ impl<'a> std::fmt::Debug for DescribeSessionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisassociateOpsItemRelatedItemInputBody<'a> { ///

    The ID of the OpsItem for which you want to delete an association between the OpsItem and a /// related resource.

    - #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_id: &'a std::option::Option, ///

    The ID of the association for which you want to delete an association between the OpsItem /// and a related resource.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for DisassociateOpsItemRelatedItemInputBody<'a> { @@ -2445,13 +1962,11 @@ impl<'a> std::fmt::Debug for DisassociateOpsItemRelatedItemInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetAutomationExecutionInputBody<'a> { ///

    The unique identifier for an existing automation execution to examine. The execution ID is /// returned by StartAutomationExecution when the execution of an Automation document is /// initiated.

    - #[serde(rename = "AutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub automation_execution_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetAutomationExecutionInputBody<'a> { @@ -2463,17 +1978,13 @@ impl<'a> std::fmt::Debug for GetAutomationExecutionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetCalendarStateInputBody<'a> { ///

    The names or Amazon Resource Names (ARNs) of the Systems Manager documents that represent the calendar /// entries for which you want to get the state.

    - #[serde(rename = "CalendarNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub calendar_names: &'a std::option::Option>, ///

    (Optional) The specific time for which you want to get calendar state information, in ISO 8601 format. If you do not add /// AtTime, the current time is assumed.

    - #[serde(rename = "AtTime")] - #[serde(skip_serializing_if = "Option::is_none")] pub at_time: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetCalendarStateInputBody<'a> { @@ -2486,17 +1997,13 @@ impl<'a> std::fmt::Debug for GetCalendarStateInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetCommandInvocationInputBody<'a> { ///

    (Required) The parent command ID of the invocation plugin.

    - #[serde(rename = "CommandId")] - #[serde(skip_serializing_if = "Option::is_none")] pub command_id: &'a std::option::Option, ///

    (Required) The ID of the managed instance targeted by the command. A managed instance can be /// an Amazon Elastic Compute Cloud (Amazon EC2) instance or an instance in your hybrid environment that is configured for /// AWS Systems Manager.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The name of the plugin for which you want detailed results. If the document contains only /// one plugin, you can omit the name and details for that plugin. If the document contains more than @@ -2508,8 +2015,6 @@ pub struct GetCommandInvocationInputBody<'a> { /// CommandId and Details parameters. The PluginName is the /// Name attribute of the CommandPlugin object in the /// CommandPlugins list.

    - #[serde(rename = "PluginName")] - #[serde(skip_serializing_if = "Option::is_none")] pub plugin_name: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetCommandInvocationInputBody<'a> { @@ -2523,11 +2028,9 @@ impl<'a> std::fmt::Debug for GetCommandInvocationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetConnectionStatusInputBody<'a> { ///

    The ID of the instance.

    - #[serde(rename = "Target")] - #[serde(skip_serializing_if = "Option::is_none")] pub target: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetConnectionStatusInputBody<'a> { @@ -2539,11 +2042,9 @@ impl<'a> std::fmt::Debug for GetConnectionStatusInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetDefaultPatchBaselineInputBody<'a> { ///

    Returns the default patch baseline for the specified operating system.

    - #[serde(rename = "OperatingSystem")] - #[serde(skip_serializing_if = "Option::is_none")] pub operating_system: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetDefaultPatchBaselineInputBody<'a> { @@ -2555,19 +2056,13 @@ impl<'a> std::fmt::Debug for GetDefaultPatchBaselineInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetDeployablePatchSnapshotForInstanceInputBody<'a> { ///

    The ID of the instance for which the appropriate patch snapshot should be retrieved.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The user-defined snapshot ID.

    - #[serde(rename = "SnapshotId")] - #[serde(skip_serializing_if = "Option::is_none")] pub snapshot_id: &'a std::option::Option, ///

    Defines the basic information about a patch baseline override.

    - #[serde(rename = "BaselineOverride")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_override: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetDeployablePatchSnapshotForInstanceInputBody<'a> { @@ -2581,26 +2076,18 @@ impl<'a> std::fmt::Debug for GetDeployablePatchSnapshotForInstanceInputBody<'a> } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetDocumentInputBody<'a> { ///

    The name of the Systems Manager document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional field specifying the version of the artifact associated with the document. For /// example, "Release 12, Update 6". This value is unique across all versions of a document and can't /// be changed.

    - #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_name: &'a std::option::Option, ///

    The document version for which you want information.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    Returns the document in the specified format. The document format can be either JSON or /// YAML. JSON is the default format.

    - #[serde(rename = "DocumentFormat")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_format: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetDocumentInputBody<'a> { @@ -2615,32 +2102,22 @@ impl<'a> std::fmt::Debug for GetDocumentInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetInventoryInputBody<'a> { ///

    One or more filters. Use a filter to return a more specific list of results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    Returns counts of inventory types based on one or more expressions. For example, if you /// aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType /// type, you can see a count of how many Windows and Linux instances exist in your inventoried /// fleet.

    - #[serde(rename = "Aggregators")] - #[serde(skip_serializing_if = "Option::is_none")] pub aggregators: &'a std::option::Option>, ///

    The list of inventory item types to return.

    - #[serde(rename = "ResultAttributes")] - #[serde(skip_serializing_if = "Option::is_none")] pub result_attributes: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetInventoryInputBody<'a> { @@ -2656,31 +2133,22 @@ impl<'a> std::fmt::Debug for GetInventoryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetInventorySchemaInputBody<'a> { ///

    The type of inventory item to return.

    - #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] pub type_name: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    Returns inventory schemas that support aggregation. For example, this call returns the /// AWS:InstanceInformation type, because it supports aggregation based on the /// PlatformName, PlatformType, and PlatformVersion /// attributes.

    - #[serde(rename = "Aggregator")] pub aggregator: &'a bool, ///

    Returns the sub-type schema for a specified inventory type.

    - #[serde(rename = "SubType")] - #[serde(skip_serializing_if = "Option::is_none")] pub sub_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetInventorySchemaInputBody<'a> { @@ -2696,11 +2164,9 @@ impl<'a> std::fmt::Debug for GetInventorySchemaInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window for which you want to retrieve information.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetMaintenanceWindowInputBody<'a> { @@ -2712,11 +2178,9 @@ impl<'a> std::fmt::Debug for GetMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMaintenanceWindowExecutionInputBody<'a> { ///

    The ID of the maintenance window execution that includes the task.

    - #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_execution_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetMaintenanceWindowExecutionInputBody<'a> { @@ -2728,16 +2192,12 @@ impl<'a> std::fmt::Debug for GetMaintenanceWindowExecutionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMaintenanceWindowExecutionTaskInputBody<'a> { ///

    The ID of the maintenance window execution that includes the task.

    - #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_execution_id: &'a std::option::Option, ///

    The ID of the specific task execution in the maintenance window task that should be /// retrieved.

    - #[serde(rename = "TaskId")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetMaintenanceWindowExecutionTaskInputBody<'a> { @@ -2750,19 +2210,13 @@ impl<'a> std::fmt::Debug for GetMaintenanceWindowExecutionTaskInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMaintenanceWindowExecutionTaskInvocationInputBody<'a> { ///

    The ID of the maintenance window execution for which the task is a part.

    - #[serde(rename = "WindowExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_execution_id: &'a std::option::Option, ///

    The ID of the specific task in the maintenance window task that should be retrieved.

    - #[serde(rename = "TaskId")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_id: &'a std::option::Option, ///

    The invocation ID to retrieve.

    - #[serde(rename = "InvocationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub invocation_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetMaintenanceWindowExecutionTaskInvocationInputBody<'a> { @@ -2776,15 +2230,11 @@ impl<'a> std::fmt::Debug for GetMaintenanceWindowExecutionTaskInvocationInputBod } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMaintenanceWindowTaskInputBody<'a> { ///

    The maintenance window ID that includes the task to retrieve.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The maintenance window task ID to retrieve.

    - #[serde(rename = "WindowTaskId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_task_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetMaintenanceWindowTaskInputBody<'a> { @@ -2797,11 +2247,9 @@ impl<'a> std::fmt::Debug for GetMaintenanceWindowTaskInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetOpsItemInputBody<'a> { ///

    The ID of the OpsItem that you want to get.

    - #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetOpsItemInputBody<'a> { @@ -2813,20 +2261,14 @@ impl<'a> std::fmt::Debug for GetOpsItemInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetOpsMetadataInputBody<'a> { ///

    The Amazon Resource Name (ARN) of an OpsMetadata Object to view.

    - #[serde(rename = "OpsMetadataArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_metadata_arn: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetOpsMetadataInputBody<'a> { @@ -2840,32 +2282,20 @@ impl<'a> std::fmt::Debug for GetOpsMetadataInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetOpsSummaryInputBody<'a> { ///

    Specify the name of a resource data sync to get.

    - #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_name: &'a std::option::Option, ///

    Optional filters used to scope down the returned OpsItems.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    Optional aggregators that return counts of OpsItems based on one or more expressions.

    - #[serde(rename = "Aggregators")] - #[serde(skip_serializing_if = "Option::is_none")] pub aggregators: &'a std::option::Option>, ///

    The OpsItem data type to return.

    - #[serde(rename = "ResultAttributes")] - #[serde(skip_serializing_if = "Option::is_none")] pub result_attributes: &'a std::option::Option>, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetOpsSummaryInputBody<'a> { @@ -2882,16 +2312,12 @@ impl<'a> std::fmt::Debug for GetOpsSummaryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParameterInputBody<'a> { ///

    The name of the parameter you want to query.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    Return decrypted values for secure string parameters. This flag is ignored for String and /// StringList parameter types.

    - #[serde(rename = "WithDecryption")] - #[serde(skip_serializing_if = "Option::is_none")] pub with_decryption: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetParameterInputBody<'a> { @@ -2904,26 +2330,18 @@ impl<'a> std::fmt::Debug for GetParameterInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParameterHistoryInputBody<'a> { ///

    The name of the parameter for which you want to review history.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    Return decrypted values for secure string parameters. This flag is ignored for String and /// StringList parameter types.

    - #[serde(rename = "WithDecryption")] - #[serde(skip_serializing_if = "Option::is_none")] pub with_decryption: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetParameterHistoryInputBody<'a> { @@ -2938,16 +2356,12 @@ impl<'a> std::fmt::Debug for GetParameterHistoryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParametersInputBody<'a> { ///

    Names of the parameters for which you want to query information.

    - #[serde(rename = "Names")] - #[serde(skip_serializing_if = "Option::is_none")] pub names: &'a 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.

    - #[serde(rename = "WithDecryption")] - #[serde(skip_serializing_if = "Option::is_none")] pub with_decryption: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetParametersInputBody<'a> { @@ -2960,7 +2374,7 @@ impl<'a> std::fmt::Debug for GetParametersInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParametersByPathInputBody<'a> { ///

    The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierachy is /// the parameter name except the last part of the parameter. For the API call to succeeed, the last @@ -2968,8 +2382,6 @@ pub struct GetParametersByPathInputBody<'a> { /// of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 /// ///

    - #[serde(rename = "Path")] - #[serde(skip_serializing_if = "Option::is_none")] pub path: &'a std::option::Option, ///

    Retrieve all parameters within a hierarchy.

    /// @@ -2979,8 +2391,6 @@ pub struct GetParametersByPathInputBody<'a> { /// /a/b, they can still call the GetParametersByPath API action recursively for /// /a and view /a/b.

    ///
    - #[serde(rename = "Recursive")] - #[serde(skip_serializing_if = "Option::is_none")] pub recursive: &'a std::option::Option, ///

    Filters to limit the request results.

    /// @@ -2991,22 +2401,14 @@ pub struct GetParametersByPathInputBody<'a> { /// GetParametersByPath: tag, Name, Path, and /// Tier.

    ///
    - #[serde(rename = "ParameterFilters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameter_filters: &'a std::option::Option>, ///

    Retrieve all parameters in a hierarchy with their value decrypted.

    - #[serde(rename = "WithDecryption")] - #[serde(skip_serializing_if = "Option::is_none")] pub with_decryption: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetParametersByPathInputBody<'a> { @@ -3023,11 +2425,9 @@ impl<'a> std::fmt::Debug for GetParametersByPathInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetPatchBaselineInputBody<'a> { ///

    The ID of the patch baseline to retrieve.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetPatchBaselineInputBody<'a> { @@ -3039,15 +2439,11 @@ impl<'a> std::fmt::Debug for GetPatchBaselineInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetPatchBaselineForPatchGroupInputBody<'a> { ///

    The name of the patch group whose patch baseline should be retrieved.

    - #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_group: &'a std::option::Option, ///

    Returns he operating system rule specified for patch groups using the patch baseline.

    - #[serde(rename = "OperatingSystem")] - #[serde(skip_serializing_if = "Option::is_none")] pub operating_system: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetPatchBaselineForPatchGroupInputBody<'a> { @@ -3061,7 +2457,7 @@ impl<'a> std::fmt::Debug for GetPatchBaselineForPatchGroupInputBody<'a> { ///

    The request body of the GetServiceSetting API action.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetServiceSettingInputBody<'a> { ///

    The ID of the service setting to get. The setting ID can be /// /ssm/automation/customer-script-log-destination, @@ -3069,8 +2465,6 @@ pub struct GetServiceSettingInputBody<'a> { /// /ssm/parameter-store/default-parameter-tier, /// /ssm/parameter-store/high-throughput-enabled, or /// /ssm/managed-instance/activation-tier.

    - #[serde(rename = "SettingId")] - #[serde(skip_serializing_if = "Option::is_none")] pub setting_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for GetServiceSettingInputBody<'a> { @@ -3082,20 +2476,14 @@ impl<'a> std::fmt::Debug for GetServiceSettingInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LabelParameterVersionInputBody<'a> { ///

    The parameter name on which you want to attach one or more labels.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The specific version of the parameter on which you want to attach one or more labels. If no /// version is specified, the system attaches the label to the latest version.

    - #[serde(rename = "ParameterVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameter_version: &'a std::option::Option, ///

    One or more labels to attach to the specified parameter version.

    - #[serde(rename = "Labels")] - #[serde(skip_serializing_if = "Option::is_none")] pub labels: &'a std::option::Option>, } impl<'a> std::fmt::Debug for LabelParameterVersionInputBody<'a> { @@ -3109,7 +2497,7 @@ impl<'a> std::fmt::Debug for LabelParameterVersionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListAssociationsInputBody<'a> { ///

    One or more filters. Use a filter to return a more specific list of results.

    /// @@ -3118,19 +2506,13 @@ pub struct ListAssociationsInputBody<'a> { /// instance that are part of the Target Attributes ResourceGroup or Tags /// are not returned.

    ///
    - #[serde(rename = "AssociationFilterList")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_filter_list: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListAssociationsInputBody<'a> { @@ -3144,20 +2526,14 @@ impl<'a> std::fmt::Debug for ListAssociationsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListAssociationVersionsInputBody<'a> { ///

    The association ID for which you want to view all versions.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListAssociationVersionsInputBody<'a> { @@ -3171,34 +2547,23 @@ impl<'a> std::fmt::Debug for ListAssociationVersionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListCommandInvocationsInputBody<'a> { ///

    (Optional) The invocations for a specific command ID.

    - #[serde(rename = "CommandId")] - #[serde(skip_serializing_if = "Option::is_none")] pub command_id: &'a std::option::Option, ///

    (Optional) The command execution details for a specific instance ID.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    (Optional) 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    (Optional) The token for the next set of items to return. (You received this token from a /// previous call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    (Optional) One or more filters. Use a filter to return a more specific list of /// results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    (Optional) If set this returns the response of the command executions and any command /// output. The default value is 'false'.

    - #[serde(rename = "Details")] pub details: &'a bool, } impl<'a> std::fmt::Debug for ListCommandInvocationsInputBody<'a> { @@ -3215,34 +2580,24 @@ impl<'a> std::fmt::Debug for ListCommandInvocationsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListCommandsInputBody<'a> { ///

    (Optional) If provided, lists only the specified command.

    - #[serde(rename = "CommandId")] - #[serde(skip_serializing_if = "Option::is_none")] pub command_id: &'a std::option::Option, ///

    (Optional) Lists commands issued against this instance ID.

    /// ///

    You can't specify an instance ID in the same command that you specify Status = /// Pending. This is because the command has not reached the instance yet.

    ///
    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    (Optional) 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    (Optional) The token for the next set of items to return. (You received this token from a /// previous call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    (Optional) One or more filters. Use a filter to return a more specific list of results. ///

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, } impl<'a> std::fmt::Debug for ListCommandsInputBody<'a> { @@ -3258,31 +2613,21 @@ impl<'a> std::fmt::Debug for ListCommandsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListComplianceItemsInputBody<'a> { ///

    One or more compliance filters. Use a filter to return a more specific list of /// results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The ID for the resources from which to get compliance information. Currently, you can only /// specify one resource ID.

    - #[serde(rename = "ResourceIds")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_ids: &'a std::option::Option>, ///

    The type of resource from which to get compliance information. Currently, the only supported /// resource type is ManagedInstance.

    - #[serde(rename = "ResourceTypes")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_types: &'a std::option::Option>, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListComplianceItemsInputBody<'a> { @@ -3298,22 +2643,16 @@ impl<'a> std::fmt::Debug for ListComplianceItemsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListComplianceSummariesInputBody<'a> { ///

    One or more compliance or inventory filters. Use a filter to return a more specific list of /// results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, ///

    The maximum number of items to return for this call. Currently, you can specify null or 50. /// The call also returns a token that you can specify in a subsequent call to get the next set of /// results.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListComplianceSummariesInputBody<'a> { @@ -3327,30 +2666,20 @@ impl<'a> std::fmt::Debug for ListComplianceSummariesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDocumentMetadataHistoryInputBody<'a> { ///

    The name of the document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The version of the document.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    The type of data for which details are being requested. Currently, the only supported value /// is DocumentReviews.

    - #[serde(rename = "Metadata")] - #[serde(skip_serializing_if = "Option::is_none")] pub metadata: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListDocumentMetadataHistoryInputBody<'a> { @@ -3366,11 +2695,9 @@ impl<'a> std::fmt::Debug for ListDocumentMetadataHistoryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDocumentsInputBody<'a> { ///

    This data type is deprecated. Instead, use Filters.

    - #[serde(rename = "DocumentFilterList")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_filter_list: &'a std::option::Option>, ///

    One or more DocumentKeyValuesFilter objects. Use a filter to return a more /// specific list of results. For keys, you can specify one or more key-value pair tags that have @@ -3383,18 +2710,12 @@ pub struct ListDocumentsInputBody<'a> { /// tag values. For example: Key=tag:tagName,Values=valueName1,valueName2 ///

    /// - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListDocumentsInputBody<'a> { @@ -3409,21 +2730,15 @@ impl<'a> std::fmt::Debug for ListDocumentsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDocumentVersionsInputBody<'a> { ///

    The name of the document. You can specify an Amazon Resource Name (ARN).

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListDocumentVersionsInputBody<'a> { @@ -3437,29 +2752,19 @@ impl<'a> std::fmt::Debug for ListDocumentVersionsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListInventoryEntriesInputBody<'a> { ///

    The instance ID for which you want inventory information.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The type of inventory item for which you want information.

    - #[serde(rename = "TypeName")] - #[serde(skip_serializing_if = "Option::is_none")] pub type_name: &'a std::option::Option, ///

    One or more filters. Use a filter to return a more specific list of results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListInventoryEntriesInputBody<'a> { @@ -3475,20 +2780,14 @@ impl<'a> std::fmt::Debug for ListInventoryEntriesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListOpsItemEventsInputBody<'a> { ///

    One or more OpsItem filters. Use a filter to return a more specific list of results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListOpsItemEventsInputBody<'a> { @@ -3502,25 +2801,17 @@ impl<'a> std::fmt::Debug for ListOpsItemEventsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListOpsItemRelatedItemsInputBody<'a> { ///

    The ID of the OpsItem for which you want to list all related-item resources.

    - #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_id: &'a std::option::Option, ///

    One or more OpsItem filters. Use a filter to return a more specific list of results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    The token for the next set of items to return. (You received this token from a previous /// call.)

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListOpsItemRelatedItemsInputBody<'a> { @@ -3535,20 +2826,14 @@ impl<'a> std::fmt::Debug for ListOpsItemRelatedItemsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListOpsMetadataInputBody<'a> { ///

    One or more filters to limit the number of OpsMetadata objects returned by the call.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListOpsMetadataInputBody<'a> { @@ -3562,20 +2847,14 @@ impl<'a> std::fmt::Debug for ListOpsMetadataInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListResourceComplianceSummariesInputBody<'a> { ///

    One or more filters. Use a filter to return a more specific list of results.

    - #[serde(rename = "Filters")] - #[serde(skip_serializing_if = "Option::is_none")] pub filters: &'a std::option::Option>, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListResourceComplianceSummariesInputBody<'a> { @@ -3589,23 +2868,17 @@ impl<'a> std::fmt::Debug for ListResourceComplianceSummariesInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListResourceDataSyncInputBody<'a> { ///

    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 AWS Organizations or from /// multiple AWS Regions.

    - #[serde(rename = "SyncType")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_type: &'a std::option::Option, ///

    A token to start the list. Use this token to get the next set of results.

    - #[serde(rename = "NextToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub next_token: &'a 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.

    - #[serde(rename = "MaxResults")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_results: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListResourceDataSyncInputBody<'a> { @@ -3619,15 +2892,11 @@ impl<'a> std::fmt::Debug for ListResourceDataSyncInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTagsForResourceInputBody<'a> { ///

    Returns a list of tags for a specific resource type.

    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    The resource ID for which you want to see a list of tags.

    - #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for ListTagsForResourceInputBody<'a> { @@ -3640,33 +2909,23 @@ impl<'a> std::fmt::Debug for ListTagsForResourceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ModifyDocumentPermissionInputBody<'a> { ///

    The name of the document that you want to share.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The permission type for the document. The permission type can be /// Share.

    - #[serde(rename = "PermissionType")] - #[serde(skip_serializing_if = "Option::is_none")] pub permission_type: &'a std::option::Option, ///

    The AWS user accounts that should have access to the document. The account IDs can either be /// a group of account IDs or All.

    - #[serde(rename = "AccountIdsToAdd")] - #[serde(skip_serializing_if = "Option::is_none")] pub account_ids_to_add: &'a std::option::Option>, ///

    The AWS user accounts that should no longer have access to the document. The AWS user /// account can either be a group of account IDs or All. This action has a /// higher priority than AccountIdsToAdd. If you specify an account ID to add /// and the same ID to remove, the system removes access to the document.

    - #[serde(rename = "AccountIdsToRemove")] - #[serde(skip_serializing_if = "Option::is_none")] pub account_ids_to_remove: &'a std::option::Option>, ///

    (Optional) The version of the document to share. If it's not specified, the system choose /// the Default version to share.

    - #[serde(rename = "SharedDocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub shared_document_version: &'a std::option::Option, } impl<'a> std::fmt::Debug for ModifyDocumentPermissionInputBody<'a> { @@ -3682,39 +2941,27 @@ impl<'a> std::fmt::Debug for ModifyDocumentPermissionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutComplianceItemsInputBody<'a> { ///

    Specify an ID for this resource. For a managed instance, this is the instance ID.

    - #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_id: &'a std::option::Option, ///

    Specify the type of resource. ManagedInstance is currently the only supported /// resource type.

    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    Specify the compliance type. For example, specify Association (for a State Manager /// association), Patch, or Custom:string.

    - #[serde(rename = "ComplianceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub compliance_type: &'a std::option::Option, ///

    A summary of the call execution that includes an execution ID, the type of execution (for /// example, Command), and the date/time of the execution using a datetime object that /// is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

    - #[serde(rename = "ExecutionSummary")] - #[serde(skip_serializing_if = "Option::is_none")] pub execution_summary: &'a std::option::Option, ///

    Information about the compliance as defined by the resource type. For example, for a patch /// compliance type, Items includes information about the PatchSeverity, Classification, /// and so on.

    - #[serde(rename = "Items")] - #[serde(skip_serializing_if = "Option::is_none")] pub items: &'a std::option::Option>, ///

    MD5 or SHA-256 content hash. The content hash is used to determine if existing information /// should be overwritten or ignored. If the content hashes match, the request to put compliance /// information is ignored.

    - #[serde(rename = "ItemContentHash")] - #[serde(skip_serializing_if = "Option::is_none")] pub item_content_hash: &'a std::option::Option, ///

    The mode for uploading compliance items. You can specify COMPLETE or /// PARTIAL. In COMPLETE mode, the system overwrites all existing @@ -3726,8 +2973,6 @@ pub struct PutComplianceItemsInputBody<'a> { /// ///

    This attribute is only valid for association compliance.

    /// - #[serde(rename = "UploadType")] - #[serde(skip_serializing_if = "Option::is_none")] pub upload_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutComplianceItemsInputBody<'a> { @@ -3745,15 +2990,11 @@ impl<'a> std::fmt::Debug for PutComplianceItemsInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutInventoryInputBody<'a> { ///

    An instance ID where you want to add or update inventory items.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The inventory items that you want to add or update on instances.

    - #[serde(rename = "Items")] - #[serde(skip_serializing_if = "Option::is_none")] pub items: &'a std::option::Option>, } impl<'a> std::fmt::Debug for PutInventoryInputBody<'a> { @@ -3766,7 +3007,7 @@ impl<'a> std::fmt::Debug for PutInventoryInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutParameterInputBody<'a> { ///

    The fully qualified name of the parameter that you want to add to the system. The fully /// qualified name includes the complete hierarchy of the parameter path and name. For parameters in @@ -3809,16 +3050,12 @@ pub struct PutParameterInputBody<'a> { /// arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName ///

    /// - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    Information about the parameter that you want to add to the system. Optional but /// recommended.

    /// ///

    Do not enter personally identifiable information in this field.

    ///
    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The parameter value that you want to add to the system. Standard parameters have a value /// limit of 4 KB. Advanced parameters have a value limit of 8 KB.

    @@ -3827,8 +3064,6 @@ pub struct PutParameterInputBody<'a> { /// include {{}} or {{ssm:parameter-name}} in a /// parameter value.

    /// - #[serde(rename = "Value")] - #[serde(skip_serializing_if = "Option::is_none")] pub value: &'a std::option::Option, ///

    The type of parameter that you want to add to the system.

    /// @@ -3843,8 +3078,6 @@ pub struct PutParameterInputBody<'a> { ///

    Specifying a parameter type is not required when updating a parameter. You must specify a /// parameter type when creating a parameter.

    /// - #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] pub r#type: &'a std::option::Option, ///

    The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key /// Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. @@ -3863,17 +3096,11 @@ pub struct PutParameterInputBody<'a> { /// the Key ID parameter.

    /// /// - #[serde(rename = "KeyId")] - #[serde(skip_serializing_if = "Option::is_none")] pub key_id: &'a std::option::Option, ///

    Overwrite an existing parameter. The default value is 'false'.

    - #[serde(rename = "Overwrite")] - #[serde(skip_serializing_if = "Option::is_none")] pub overwrite: &'a std::option::Option, ///

    A regular expression used to validate the parameter value. For example, for String types /// with values restricted to numbers, you can specify the following: AllowedPattern=^\d+$

    - #[serde(rename = "AllowedPattern")] - #[serde(skip_serializing_if = "Option::is_none")] pub allowed_pattern: &'a std::option::Option, ///

    Optional metadata that you assign to a resource. 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 @@ -3901,8 +3128,6 @@ pub struct PutParameterInputBody<'a> { ///

    To add tags to an existing Systems Manager parameter, use the AddTagsToResource /// action.

    ///
    - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, ///

    The parameter tier to assign to a parameter.

    ///

    Parameter Store offers a standard tier and an advanced tier for parameters. Standard @@ -3962,8 +3187,6 @@ pub struct PutParameterInputBody<'a> { /// ///

    For more information about configuring the default tier option, see Specifying a /// default parameter tier in the AWS Systems Manager User Guide.

    - #[serde(rename = "Tier")] - #[serde(skip_serializing_if = "Option::is_none")] pub tier: &'a std::option::Option, ///

    One or more policies to apply to a parameter. This action takes a JSON array. Parameter /// Store supports the following policy types:

    @@ -3980,8 +3203,6 @@ pub struct PutParameterInputBody<'a> { ///

    All existing policies are preserved until you send new policies or an empty policy. For more /// information about parameter policies, see Assigning parameter /// policies.

    - #[serde(rename = "Policies")] - #[serde(skip_serializing_if = "Option::is_none")] pub policies: &'a std::option::Option, ///

    The data type for a String parameter. Supported data types include plain text /// and Amazon Machine Image IDs.

    @@ -4006,8 +3227,6 @@ pub struct PutParameterInputBody<'a> { /// For more information, see Native /// parameter support for Amazon Machine Image IDs in the /// AWS Systems Manager User Guide.

    - #[serde(rename = "DataType")] - #[serde(skip_serializing_if = "Option::is_none")] pub data_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for PutParameterInputBody<'a> { @@ -4029,11 +3248,9 @@ impl<'a> std::fmt::Debug for PutParameterInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegisterDefaultPatchBaselineInputBody<'a> { ///

    The ID of the patch baseline that should be the default patch baseline.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for RegisterDefaultPatchBaselineInputBody<'a> { @@ -4045,15 +3262,11 @@ impl<'a> std::fmt::Debug for RegisterDefaultPatchBaselineInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegisterPatchBaselineForPatchGroupInputBody<'a> { ///

    The ID of the patch baseline to register the patch group with.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, ///

    The name of the patch group that should be registered with the patch baseline.

    - #[serde(rename = "PatchGroup")] - #[serde(skip_serializing_if = "Option::is_none")] pub patch_group: &'a std::option::Option, } impl<'a> std::fmt::Debug for RegisterPatchBaselineForPatchGroupInputBody<'a> { @@ -4066,15 +3279,11 @@ impl<'a> std::fmt::Debug for RegisterPatchBaselineForPatchGroupInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegisterTargetWithMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window the target should be registered with.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The type of target being registered with the maintenance window.

    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    The targets to register with the maintenance window. In other words, the instances to run /// commands on when the maintenance window runs.

    @@ -4127,25 +3336,15 @@ pub struct RegisterTargetWithMaintenanceWindowInputBody<'a> { ///

    For more information about these examples formats, including the best use case for each one, /// see Examples: Register /// targets with a maintenance window in the AWS Systems Manager User Guide.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    User-provided value that will be included in any CloudWatch events raised while running /// tasks for these targets in this maintenance window.

    - #[serde(rename = "OwnerInformation")] - #[serde(skip_serializing_if = "Option::is_none")] pub owner_information: &'a std::option::Option, ///

    An optional name for the target.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional description for the target.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    User-provided idempotency token.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for RegisterTargetWithMaintenanceWindowInputBody<'a> { @@ -4163,11 +3362,9 @@ impl<'a> std::fmt::Debug for RegisterTargetWithMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window the task should be added to.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The targets (either instances or maintenance window targets).

    /// @@ -4186,12 +3383,8 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { ///

    /// Key=WindowTargetIds,Values=, ///

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    The ARN of the task to run.

    - #[serde(rename = "TaskArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_arn: &'a std::option::Option, ///

    The ARN of the IAM service role for Systems Manager to assume when running a /// maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's @@ -4212,12 +3405,8 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { ///

    /// /// - #[serde(rename = "ServiceRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub service_role_arn: &'a std::option::Option, ///

    The type of task being registered.

    - #[serde(rename = "TaskType")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_type: &'a std::option::Option, ///

    The parameters that should be passed to the task when it is run.

    /// @@ -4227,8 +3416,6 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { /// about how Systems Manager handles these options for the supported maintenance window task /// types, see MaintenanceWindowTaskInvocationParameters.

    ///
    - #[serde(rename = "TaskParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_parameters: &'a std::option::Option< std::collections::HashMap< std::string::String, @@ -4237,15 +3424,11 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { >, ///

    The parameters that the task should use during execution. Populate only the fields that /// match the task type. All other fields should be empty.

    - #[serde(rename = "TaskInvocationParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_invocation_parameters: &'a std::option::Option, ///

    The priority of the task in the maintenance window, the lower the number the higher the /// priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the /// same priority scheduled in parallel.

    - #[serde(rename = "Priority")] - #[serde(skip_serializing_if = "Option::is_none")] pub priority: &'a std::option::Option, ///

    The maximum number of targets this task can be run for in parallel.

    /// @@ -4253,8 +3436,6 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { /// option. Instead, the system inserts a placeholder value of 1. This value does not /// affect the running of your task.

    ///
    - #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_concurrency: &'a std::option::Option, ///

    The maximum number of errors allowed before this task stops being scheduled.

    /// @@ -4262,8 +3443,6 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { /// option. Instead, the system inserts a placeholder value of 1. This value does not /// affect the running of your task.

    ///
    - #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_errors: &'a std::option::Option, ///

    A structure containing information about an S3 bucket to write instance-level logs to.

    /// @@ -4273,20 +3452,12 @@ pub struct RegisterTaskWithMaintenanceWindowInputBody<'a> { /// For information about how Systems Manager handles these options for the supported maintenance /// window task types, see MaintenanceWindowTaskInvocationParameters.

    ///
    - #[serde(rename = "LoggingInfo")] - #[serde(skip_serializing_if = "Option::is_none")] pub logging_info: &'a std::option::Option, ///

    An optional name for the task.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional description for the task.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    User-provided idempotency token.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, } impl<'a> std::fmt::Debug for RegisterTaskWithMaintenanceWindowInputBody<'a> { @@ -4314,7 +3485,7 @@ impl<'a> std::fmt::Debug for RegisterTaskWithMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RemoveTagsFromResourceInputBody<'a> { ///

    The type of resource from which you want to remove a tag.

    /// @@ -4322,8 +3493,6 @@ pub struct RemoveTagsFromResourceInputBody<'a> { /// Specify the name of the managed instance in the following format: mi-ID_number. For example, /// mi-1a2b3c4d5e6f.

    ///
    - #[serde(rename = "ResourceType")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_type: &'a std::option::Option, ///

    The ID of the resource from which you want to remove tags. For example:

    ///

    ManagedInstance: mi-012345abcde

    @@ -4341,12 +3510,8 @@ pub struct RemoveTagsFromResourceInputBody<'a> { /// Specify the name of the managed instance in the following format: mi-ID_number. For example, /// mi-1a2b3c4d5e6f.

    ///
    - #[serde(rename = "ResourceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub resource_id: &'a std::option::Option, ///

    Tag keys that you want to remove from the specified resource.

    - #[serde(rename = "TagKeys")] - #[serde(skip_serializing_if = "Option::is_none")] pub tag_keys: &'a std::option::Option>, } impl<'a> std::fmt::Debug for RemoveTagsFromResourceInputBody<'a> { @@ -4361,7 +3526,7 @@ impl<'a> std::fmt::Debug for RemoveTagsFromResourceInputBody<'a> { ///

    The request body of the ResetServiceSetting API action.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResetServiceSettingInputBody<'a> { ///

    The Amazon Resource Name (ARN) of the service setting to reset. The setting ID can be /// /ssm/automation/customer-script-log-destination, @@ -4370,8 +3535,6 @@ pub struct ResetServiceSettingInputBody<'a> { /// /ssm/parameter-store/high-throughput-enabled, or /// /ssm/managed-instance/activation-tier. For example, /// arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled.

    - #[serde(rename = "SettingId")] - #[serde(skip_serializing_if = "Option::is_none")] pub setting_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for ResetServiceSettingInputBody<'a> { @@ -4383,11 +3546,9 @@ impl<'a> std::fmt::Debug for ResetServiceSettingInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResumeSessionInputBody<'a> { ///

    The ID of the disconnected session to resume.

    - #[serde(rename = "SessionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub session_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for ResumeSessionInputBody<'a> { @@ -4399,16 +3560,12 @@ impl<'a> std::fmt::Debug for ResumeSessionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SendAutomationSignalInputBody<'a> { ///

    The unique identifier for an existing Automation execution that you want to send the signal /// to.

    - #[serde(rename = "AutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub automation_execution_id: &'a std::option::Option, ///

    The type of signal to send to an Automation execution.

    - #[serde(rename = "SignalType")] - #[serde(skip_serializing_if = "Option::is_none")] pub signal_type: &'a std::option::Option, ///

    The data sent with the signal. The data schema depends on the type of signal used in the /// request.

    @@ -4427,8 +3584,6 @@ pub struct SendAutomationSignalInputBody<'a> { ///

    /// StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab" ///

    - #[serde(rename = "Payload")] - #[serde(skip_serializing_if = "Option::is_none")] pub payload: &'a std::option::Option< std::collections::HashMap>, >, @@ -4444,7 +3599,7 @@ impl<'a> std::fmt::Debug for SendAutomationSignalInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SendCommandInputBody<'a> { ///

    The IDs of the instances where the command should run. Specifying instance IDs is most /// useful when you are targeting a limited number of instances, though you can specify up to 50 @@ -4456,8 +3611,6 @@ pub struct SendCommandInputBody<'a> { ///

    For more information about how to use targets, see Using targets and rate /// controls to send commands to a fleet in the /// AWS Systems Manager User Guide.

    - #[serde(rename = "InstanceIds")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_ids: &'a std::option::Option>, ///

    An array of search criteria that targets instances using a Key,Value /// combination that you specify. Specifying targets is most useful when you want to send a command @@ -4468,15 +3621,11 @@ pub struct SendCommandInputBody<'a> { /// option instead.

    ///

    For more information about how to use targets, see Sending commands to a /// fleet in the AWS Systems Manager User Guide.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    The name of the Systems Manager document to run. This can be a public document or a custom document. /// To run a shared document belonging to another account, specify the document ARN. For more /// information about how to use shared documents, see Using shared SSM documents /// in the AWS Systems Manager User Guide.

    - #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_name: &'a std::option::Option, ///

    The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a /// specific version number. If you run commands by using the AWS CLI, then you must escape the first @@ -4485,79 +3634,51 @@ pub struct SendCommandInputBody<'a> { ///

    --document-version "\$DEFAULT"

    ///

    --document-version "\$LATEST"

    ///

    --document-version "3"

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    The Sha256 or Sha1 hash created by the system when the document was created.

    /// ///

    Sha1 hashes have been deprecated.

    ///
    - #[serde(rename = "DocumentHash")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_hash: &'a std::option::Option, ///

    Sha256 or Sha1.

    /// ///

    Sha1 hashes have been deprecated.

    ///
    - #[serde(rename = "DocumentHashType")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_hash_type: &'a std::option::Option, ///

    If this time is reached and the command has not already started running, it will not /// run.

    - #[serde(rename = "TimeoutSeconds")] - #[serde(skip_serializing_if = "Option::is_none")] pub timeout_seconds: &'a std::option::Option, ///

    User-specified information about the command, such as a brief description of what the /// command should do.

    - #[serde(rename = "Comment")] - #[serde(skip_serializing_if = "Option::is_none")] pub comment: &'a std::option::Option, ///

    The required and optional parameters specified in the document being run.

    - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option< 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.

    - #[serde(rename = "OutputS3Region")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_s3_region: &'a std::option::Option, ///

    The name of the S3 bucket where command execution responses should be stored.

    - #[serde(rename = "OutputS3BucketName")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_s3_bucket_name: &'a std::option::Option, ///

    The directory structure within the S3 bucket where the responses should be stored.

    - #[serde(rename = "OutputS3KeyPrefix")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_s3_key_prefix: &'a std::option::Option, ///

    (Optional) The maximum number of instances that are allowed to run the command at the same /// time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. /// For more information about how to use MaxConcurrency, see Using /// concurrency controls in the AWS Systems Manager User Guide.

    - #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_concurrency: &'a std::option::Option, ///

    The maximum number of errors allowed without the command failing. When the command fails one /// more time beyond the value of MaxErrors, the systems stops sending the command to additional /// targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For /// more information about how to use MaxErrors, see Using /// error controls in the AWS Systems Manager User Guide.

    - #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_errors: &'a std::option::Option, ///

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run /// Command commands.

    - #[serde(rename = "ServiceRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub service_role_arn: &'a std::option::Option, ///

    Configurations for sending notifications.

    - #[serde(rename = "NotificationConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub notification_config: &'a std::option::Option, ///

    Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

    - #[serde(rename = "CloudWatchOutputConfig")] - #[serde(skip_serializing_if = "Option::is_none")] pub cloud_watch_output_config: &'a std::option::Option, } impl<'a> std::fmt::Debug for SendCommandInputBody<'a> { @@ -4585,11 +3706,9 @@ impl<'a> std::fmt::Debug for SendCommandInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartAssociationsOnceInputBody<'a> { ///

    The association IDs that you want to run immediately and only one time.

    - #[serde(rename = "AssociationIds")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_ids: &'a std::option::Option>, } impl<'a> std::fmt::Debug for StartAssociationsOnceInputBody<'a> { @@ -4601,49 +3720,33 @@ impl<'a> std::fmt::Debug for StartAssociationsOnceInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartAutomationExecutionInputBody<'a> { ///

    The name of the Systems Manager document to run. This can be a public document or a custom document. /// To run a shared document belonging to another account, specify the document ARN. For more /// information about how to use shared documents, see Using shared SSM documents /// in the AWS Systems Manager User Guide.

    - #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_name: &'a std::option::Option, ///

    The version of the Automation document to use for this execution.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    A key-value map of execution parameters, which match the declared parameters in the /// Automation document.

    - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option< std::collections::HashMap>, >, ///

    User-provided idempotency token. The token must be unique, is case insensitive, enforces the /// UUID format, and can't be reused.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, ///

    The execution mode of the automation. Valid modes include the following: Auto and /// Interactive. The default mode is Auto.

    - #[serde(rename = "Mode")] - #[serde(skip_serializing_if = "Option::is_none")] pub mode: &'a std::option::Option, ///

    The name of the parameter used as the target resource for the rate-controlled execution. /// Required if you specify targets.

    - #[serde(rename = "TargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_parameter_name: &'a std::option::Option, ///

    A key-value mapping to target resources. Required if you specify TargetParameterName.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    A key-value mapping of document parameters to target resources. Both Targets and TargetMaps /// cannot be specified together.

    - #[serde(rename = "TargetMaps")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_maps: &'a std::option::Option< std::vec::Vec< std::collections::HashMap>, @@ -4651,8 +3754,6 @@ pub struct StartAutomationExecutionInputBody<'a> { >, ///

    The maximum number of targets allowed to run this task in parallel. You can specify a /// number, such as 10, or a percentage, such as 10%. The default value is 10.

    - #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_concurrency: &'a std::option::Option, ///

    The number of errors that are allowed before the system stops running the automation on /// additional targets. You can specify either an absolute number of errors, for example 10, or a @@ -4665,15 +3766,11 @@ pub struct StartAutomationExecutionInputBody<'a> { /// complete, but some of these executions may fail as well. If you need to ensure that there won't /// be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one /// at a time.

    - #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_errors: &'a std::option::Option, ///

    A location is a combination of AWS Regions and/or AWS accounts where you want to run the /// Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For /// more information, see Running Automation workflows in multiple AWS Regions and accounts in the /// AWS Systems Manager User Guide.

    - #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_locations: &'a std::option::Option>, ///

    Optional metadata that you assign to a resource. You can specify a maximum of five tags for /// an automation. Tags enable you to categorize a resource in different ways, such as by purpose, @@ -4696,8 +3793,6 @@ pub struct StartAutomationExecutionInputBody<'a> { ///

    To add tags to an existing patch baseline, use the AddTagsToResource /// action.

    /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, } impl<'a> std::fmt::Debug for StartAutomationExecutionInputBody<'a> { @@ -4720,42 +3815,27 @@ impl<'a> std::fmt::Debug for StartAutomationExecutionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartChangeRequestExecutionInputBody<'a> { ///

    The date and time specified in the change request to run the Automation runbooks.

    /// ///

    The Automation runbooks specified for the runbook workflow can't run until all required /// approvals for the change request have been received.

    ///
    - #[serde(rename = "ScheduledTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub scheduled_time: &'a std::option::Option, ///

    The name of the change template document to run during the runbook workflow.

    - #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_name: &'a std::option::Option, ///

    The version of the change template document to run during the runbook workflow.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    A key-value map of parameters that match the declared parameters in the change template /// document.

    - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option< std::collections::HashMap>, >, ///

    The name of the change request associated with the runbook workflow to be run.

    - #[serde(rename = "ChangeRequestName")] - #[serde(skip_serializing_if = "Option::is_none")] pub change_request_name: &'a std::option::Option, ///

    The user-provided idempotency token. The token must be unique, is case insensitive, enforces /// the UUID format, and can't be reused.

    - #[serde(rename = "ClientToken")] - #[serde(skip_serializing_if = "Option::is_none")] pub client_token: &'a std::option::Option, ///

    Information about the Automation runbooks (Automation documents) that are run during the /// runbook workflow.

    @@ -4763,8 +3843,6 @@ pub struct StartChangeRequestExecutionInputBody<'a> { ///

    The Automation runbooks specified for the runbook workflow can't run until all required /// approvals for the change request have been received.

    /// - #[serde(rename = "Runbooks")] - #[serde(skip_serializing_if = "Option::is_none")] pub runbooks: &'a std::option::Option>, ///

    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 @@ -4783,22 +3861,13 @@ pub struct StartChangeRequestExecutionInputBody<'a> { ///

    /// /// - #[serde(rename = "Tags")] - #[serde(skip_serializing_if = "Option::is_none")] pub tags: &'a std::option::Option>, ///

    The time that the requester expects the runbook workflow related to the change request to /// complete. The time is an estimate only that the requester provides for reviewers.

    - #[serde(rename = "ScheduledEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub scheduled_end_time: &'a std::option::Option, ///

    User-provided details about the change. If no details are provided, content specified in the /// Template information section of the associated change template /// is added.

    - #[serde(rename = "ChangeDetails")] - #[serde(skip_serializing_if = "Option::is_none")] pub change_details: &'a std::option::Option, } impl<'a> std::fmt::Debug for StartChangeRequestExecutionInputBody<'a> { @@ -4819,21 +3888,15 @@ impl<'a> std::fmt::Debug for StartChangeRequestExecutionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartSessionInputBody<'a> { ///

    The instance to connect to for the session.

    - #[serde(rename = "Target")] - #[serde(skip_serializing_if = "Option::is_none")] pub target: &'a std::option::Option, ///

    The name of the SSM document to define the parameters and plugin settings for the session. /// For example, SSM-SessionManagerRunShell. You can call the GetDocument API to verify the document exists before attempting to start a session. /// If no document name is provided, a shell to the instance is launched by default.

    - #[serde(rename = "DocumentName")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_name: &'a std::option::Option, ///

    Reserved for future use.

    - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option< std::collections::HashMap>, >, @@ -4849,16 +3912,12 @@ impl<'a> std::fmt::Debug for StartSessionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StopAutomationExecutionInputBody<'a> { ///

    The execution ID of the Automation to stop.

    - #[serde(rename = "AutomationExecutionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub automation_execution_id: &'a std::option::Option, ///

    The stop request type. Valid types include the following: Cancel and Complete. The default /// type is Cancel.

    - #[serde(rename = "Type")] - #[serde(skip_serializing_if = "Option::is_none")] pub r#type: &'a std::option::Option, } impl<'a> std::fmt::Debug for StopAutomationExecutionInputBody<'a> { @@ -4871,11 +3930,9 @@ impl<'a> std::fmt::Debug for StopAutomationExecutionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TerminateSessionInputBody<'a> { ///

    The ID of the session to terminate.

    - #[serde(rename = "SessionId")] - #[serde(skip_serializing_if = "Option::is_none")] pub session_id: &'a std::option::Option, } impl<'a> std::fmt::Debug for TerminateSessionInputBody<'a> { @@ -4887,20 +3944,14 @@ impl<'a> std::fmt::Debug for TerminateSessionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UnlabelParameterVersionInputBody<'a> { ///

    The parameter name of which you want to delete one or more labels.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The specific version of the parameter which you want to delete one or more labels from. If /// it is not present, the call will fail.

    - #[serde(rename = "ParameterVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameter_version: &'a std::option::Option, ///

    One or more labels to delete from the specified parameter version.

    - #[serde(rename = "Labels")] - #[serde(skip_serializing_if = "Option::is_none")] pub labels: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UnlabelParameterVersionInputBody<'a> { @@ -4914,30 +3965,20 @@ impl<'a> std::fmt::Debug for UnlabelParameterVersionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAssociationInputBody<'a> { ///

    The ID of the association you want to update.

    - #[serde(rename = "AssociationId")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_id: &'a std::option::Option, ///

    The parameters you want to update for the association. If you create a parameter using /// Parameter Store, you can reference the parameter using {{ssm:parameter-name}}

    - #[serde(rename = "Parameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub parameters: &'a std::option::Option< std::collections::HashMap>, >, ///

    The document version you want update for the association.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    The cron expression used to schedule the association that you want to update.

    - #[serde(rename = "ScheduleExpression")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule_expression: &'a std::option::Option, ///

    An S3 bucket where you want to store the results of this request.

    - #[serde(rename = "OutputLocation")] - #[serde(skip_serializing_if = "Option::is_none")] pub output_location: &'a std::option::Option, ///

    The name of the SSM document that contains the configuration information for the instance. /// You can specify Command or Automation documents.

    @@ -4956,27 +3997,17 @@ pub struct UpdateAssociationInputBody<'a> { ///

    For AWS-predefined documents and SSM documents you created in your account, you only need to /// specify the document name. For example, AWS-ApplyPatchBaseline or /// My-Document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The targets of the association.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    The name of the association that you want to update.

    - #[serde(rename = "AssociationName")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_name: &'a std::option::Option, ///

    This parameter is provided for concurrency control purposes. You must specify the latest /// association version in the service. If you want to ensure that this request succeeds, either /// specify $LATEST, or omit this parameter.

    - #[serde(rename = "AssociationVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_version: &'a std::option::Option, ///

    Specify the target for the association. This target is required for associations that use an /// Automation document and target resources by using rate controls.

    - #[serde(rename = "AutomationTargetParameterName")] - #[serde(skip_serializing_if = "Option::is_none")] pub automation_target_parameter_name: &'a std::option::Option, ///

    The number of errors that are allowed before the system stops sending requests to run the /// association on additional targets. You can specify either an absolute number of errors, for @@ -4989,8 +4020,6 @@ pub struct UpdateAssociationInputBody<'a> { /// complete, but some of these executions may fail as well. If you need to ensure that there won't /// be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one /// at a time.

    - #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_errors: &'a std::option::Option, ///

    The maximum number of targets allowed to run the association at the same time. You can /// specify a number, for example 10, or a percentage of the target set, for example 10%. The default @@ -4999,12 +4028,8 @@ pub struct UpdateAssociationInputBody<'a> { /// MaxConcurrency associations, the association is allowed to run. During the next association /// interval, the new instance will process its association within the limit specified for /// MaxConcurrency.

    - #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_concurrency: &'a std::option::Option, ///

    The severity level to assign to the association.

    - #[serde(rename = "ComplianceSeverity")] - #[serde(skip_serializing_if = "Option::is_none")] pub compliance_severity: &'a std::option::Option, ///

    The mode for generating association compliance. You can specify AUTO or /// MANUAL. In AUTO mode, the system uses the status of the association @@ -5015,8 +4040,6 @@ pub struct UpdateAssociationInputBody<'a> { /// for the PutComplianceItems API action. In this case, compliance data is not /// managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    ///

    By default, all associations use AUTO mode.

    - #[serde(rename = "SyncCompliance")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_compliance: &'a std::option::Option, ///

    By default, when you update an association, the system runs it immediately after it is /// updated and then according to the schedule you specified. Specify this option if you don't want @@ -5026,20 +4049,15 @@ pub struct UpdateAssociationInputBody<'a> { /// so, specify the no-apply-only-at-cron-interval parameter when you update the /// association from the command line. This parameter forces the association to run immediately after /// updating it and according to the interval specified.

    - #[serde(rename = "ApplyOnlyAtCronInterval")] pub apply_only_at_cron_interval: &'a bool, ///

    The names or Amazon Resource Names (ARNs) of the Systems Manager Change Calendar type /// documents you want to gate your associations under. The associations only run when that Change /// Calendar is open. For more information, see AWS Systems Manager Change /// Calendar.

    - #[serde(rename = "CalendarNames")] - #[serde(skip_serializing_if = "Option::is_none")] pub calendar_names: &'a std::option::Option>, ///

    A location is a combination of AWS Regions and AWS accounts where you want to run the /// association. Use this action to update an association in multiple Regions and multiple /// accounts.

    - #[serde(rename = "TargetLocations")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_locations: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateAssociationInputBody<'a> { @@ -5073,19 +4091,13 @@ impl<'a> std::fmt::Debug for UpdateAssociationInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAssociationStatusInputBody<'a> { ///

    The name of the Systems Manager document.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The ID of the instance.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The association status.

    - #[serde(rename = "AssociationStatus")] - #[serde(skip_serializing_if = "Option::is_none")] pub association_status: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateAssociationStatusInputBody<'a> { @@ -5099,46 +4111,30 @@ impl<'a> std::fmt::Debug for UpdateAssociationStatusInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDocumentInputBody<'a> { ///

    A valid JSON or YAML string.

    - #[serde(rename = "Content")] - #[serde(skip_serializing_if = "Option::is_none")] pub content: &'a std::option::Option, ///

    A list of key and value pairs that describe attachments to a version of a document.

    - #[serde(rename = "Attachments")] - #[serde(skip_serializing_if = "Option::is_none")] pub attachments: &'a std::option::Option>, ///

    The name of the Systems Manager document that you want to update.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The friendly name of the Systems Manager document that you want to update. This value can differ for /// each version of the document. If you do not specify a value for this parameter in your request, /// the existing value is applied to the new document version.

    - #[serde(rename = "DisplayName")] - #[serde(skip_serializing_if = "Option::is_none")] pub display_name: &'a std::option::Option, ///

    An optional field specifying the version of the artifact you are updating with the document. /// For example, "Release 12, Update 6". This value is unique across all versions of a document, and /// cannot be changed.

    - #[serde(rename = "VersionName")] - #[serde(skip_serializing_if = "Option::is_none")] pub version_name: &'a std::option::Option, ///

    The version of the document that you want to update. Currently, Systems Manager supports updating only /// the latest version of the document. You can specify the version number of the latest version or /// use the $LATEST variable.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    Specify the document format for the new document version. Systems Manager supports JSON and YAML /// documents. JSON is the default format.

    - #[serde(rename = "DocumentFormat")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_format: &'a std::option::Option, ///

    Specify a new target type for the document.

    - #[serde(rename = "TargetType")] - #[serde(skip_serializing_if = "Option::is_none")] pub target_type: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateDocumentInputBody<'a> { @@ -5157,15 +4153,11 @@ impl<'a> std::fmt::Debug for UpdateDocumentInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDocumentDefaultVersionInputBody<'a> { ///

    The name of a custom document that you want to set as the default version.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The version of a custom document that you want to set as the default version.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateDocumentDefaultVersionInputBody<'a> { @@ -5178,19 +4170,13 @@ impl<'a> std::fmt::Debug for UpdateDocumentDefaultVersionInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDocumentMetadataInputBody<'a> { ///

    The name of the document for which a version is to be updated.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The version of a document to update.

    - #[serde(rename = "DocumentVersion")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_version: &'a std::option::Option, ///

    The document review details to update.

    - #[serde(rename = "DocumentReviews")] - #[serde(skip_serializing_if = "Option::is_none")] pub document_reviews: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateDocumentMetadataInputBody<'a> { @@ -5204,43 +4190,29 @@ impl<'a> std::fmt::Debug for UpdateDocumentMetadataInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateMaintenanceWindowInputBody<'a> { ///

    The ID of the maintenance window to update.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The name of the maintenance window.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional description for the update request.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    The time zone that the scheduled maintenance window executions are based on, in Internet /// Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or /// "Asia/Seoul". For more information, see the Time /// Zone Database on the IANA website.

    - #[serde(rename = "StartDate")] - #[serde(skip_serializing_if = "Option::is_none")] pub start_date: &'a std::option::Option, ///

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to /// become inactive. EndDate allows you to set a date and time in the future when the maintenance /// window will no longer run.

    - #[serde(rename = "EndDate")] - #[serde(skip_serializing_if = "Option::is_none")] pub end_date: &'a std::option::Option, ///

    The schedule of the maintenance window in the form of a cron or rate expression.

    - #[serde(rename = "Schedule")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule: &'a std::option::Option, ///

    The time zone that the scheduled maintenance window executions are based on, in Internet /// Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or /// "Asia/Seoul". For more information, see the Time /// Zone Database on the IANA website.

    - #[serde(rename = "ScheduleTimezone")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule_timezone: &'a std::option::Option, ///

    The number of days to wait after the date and time specified by a CRON expression before /// running the maintenance window.

    @@ -5251,31 +4223,19 @@ pub struct UpdateMaintenanceWindowInputBody<'a> { ///

    ///

    If the schedule offset is 2, the maintenance window won't run until two days /// later.

    - #[serde(rename = "ScheduleOffset")] - #[serde(skip_serializing_if = "Option::is_none")] pub schedule_offset: &'a std::option::Option, ///

    The duration of the maintenance window in hours.

    - #[serde(rename = "Duration")] - #[serde(skip_serializing_if = "Option::is_none")] pub duration: &'a std::option::Option, ///

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new /// tasks for execution.

    - #[serde(rename = "Cutoff")] - #[serde(skip_serializing_if = "Option::is_none")] pub cutoff: &'a std::option::Option, ///

    Whether targets must be registered with the maintenance window before tasks can be defined /// for those targets.

    - #[serde(rename = "AllowUnassociatedTargets")] - #[serde(skip_serializing_if = "Option::is_none")] pub allow_unassociated_targets: &'a std::option::Option, ///

    Whether the maintenance window is enabled.

    - #[serde(rename = "Enabled")] - #[serde(skip_serializing_if = "Option::is_none")] pub enabled: &'a std::option::Option, ///

    If True, then all fields that are required by the CreateMaintenanceWindow action are also /// required for this API request. Optional fields that are not specified are set to null.

    - #[serde(rename = "Replace")] - #[serde(skip_serializing_if = "Option::is_none")] pub replace: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateMaintenanceWindowInputBody<'a> { @@ -5302,38 +4262,24 @@ impl<'a> std::fmt::Debug for UpdateMaintenanceWindowInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateMaintenanceWindowTargetInputBody<'a> { ///

    The maintenance window ID with which to modify the target.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The target ID to modify.

    - #[serde(rename = "WindowTargetId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_target_id: &'a std::option::Option, ///

    The targets to add or replace.

    - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    User-provided value that will be included in any CloudWatch events raised while running /// tasks for these targets in this maintenance window.

    - #[serde(rename = "OwnerInformation")] - #[serde(skip_serializing_if = "Option::is_none")] pub owner_information: &'a std::option::Option, ///

    A name for the update.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    An optional description for the update.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow action /// are also required for this API request. Optional fields that are not specified are set to /// null.

    - #[serde(rename = "Replace")] - #[serde(skip_serializing_if = "Option::is_none")] pub replace: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateMaintenanceWindowTargetInputBody<'a> { @@ -5351,15 +4297,11 @@ impl<'a> std::fmt::Debug for UpdateMaintenanceWindowTargetInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateMaintenanceWindowTaskInputBody<'a> { ///

    The maintenance window ID that contains the task to modify.

    - #[serde(rename = "WindowId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_id: &'a std::option::Option, ///

    The task ID to modify.

    - #[serde(rename = "WindowTaskId")] - #[serde(skip_serializing_if = "Option::is_none")] pub window_task_id: &'a std::option::Option, ///

    The targets (either instances or tags) to modify. Instances are specified using /// Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified using @@ -5372,12 +4314,8 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { /// maintenance window tasks without targets in the /// AWS Systems Manager User Guide.

    /// - #[serde(rename = "Targets")] - #[serde(skip_serializing_if = "Option::is_none")] pub targets: &'a std::option::Option>, ///

    The task ARN to modify.

    - #[serde(rename = "TaskArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_arn: &'a std::option::Option, ///

    The ARN of the IAM service role for Systems Manager to assume when running a /// maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's @@ -5398,8 +4336,6 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { ///

    /// /// - #[serde(rename = "ServiceRoleArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub service_role_arn: &'a std::option::Option, ///

    The parameters to modify.

    /// @@ -5412,8 +4348,6 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { ///

    The map has the following format:

    ///

    Key: string, between 1 and 255 characters

    ///

    Value: an array of strings, each string is between 1 and 255 characters

    - #[serde(rename = "TaskParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_parameters: &'a std::option::Option< std::collections::HashMap< std::string::String, @@ -5432,14 +4366,10 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { /// maintenance window task and specify only a different OutputS3BucketName value, the /// values for Comment and NotificationConfig are removed.

    /// - #[serde(rename = "TaskInvocationParameters")] - #[serde(skip_serializing_if = "Option::is_none")] pub task_invocation_parameters: &'a std::option::Option, ///

    The new task priority to specify. The lower the number, the higher the priority. Tasks that /// have the same priority are scheduled in parallel.

    - #[serde(rename = "Priority")] - #[serde(skip_serializing_if = "Option::is_none")] pub priority: &'a std::option::Option, ///

    The new MaxConcurrency value you want to specify. MaxConcurrency /// is the number of targets that are allowed to run this task in parallel.

    @@ -5449,8 +4379,6 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { /// in the response to this command. This value does not affect the running of your task and can be /// ignored.

    ///
    - #[serde(rename = "MaxConcurrency")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_concurrency: &'a std::option::Option, ///

    The new MaxErrors value to specify. MaxErrors is the maximum /// number of errors that are allowed before the task stops being scheduled.

    @@ -5460,8 +4388,6 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { /// in the response to this command. This value does not affect the running of your task and can be /// ignored.

    /// - #[serde(rename = "MaxErrors")] - #[serde(skip_serializing_if = "Option::is_none")] pub max_errors: &'a std::option::Option, ///

    The new logging location in Amazon S3 to specify.

    /// @@ -5471,22 +4397,14 @@ pub struct UpdateMaintenanceWindowTaskInputBody<'a> { /// For information about how Systems Manager handles these options for the supported maintenance /// window task types, see MaintenanceWindowTaskInvocationParameters.

    ///
    - #[serde(rename = "LoggingInfo")] - #[serde(skip_serializing_if = "Option::is_none")] pub logging_info: &'a std::option::Option, ///

    The new task name to specify.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    The new task description to specify.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    If True, then all fields that are required by the RegisterTaskWithMaintenanceWindow action /// are also required for this API request. Optional fields that are not specified are set to /// null.

    - #[serde(rename = "Replace")] - #[serde(skip_serializing_if = "Option::is_none")] pub replace: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateMaintenanceWindowTaskInputBody<'a> { @@ -5514,15 +4432,11 @@ impl<'a> std::fmt::Debug for UpdateMaintenanceWindowTaskInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateManagedInstanceRoleInputBody<'a> { ///

    The ID of the managed instance where you want to update the role.

    - #[serde(rename = "InstanceId")] - #[serde(skip_serializing_if = "Option::is_none")] pub instance_id: &'a std::option::Option, ///

    The IAM role you want to assign or change.

    - #[serde(rename = "IamRole")] - #[serde(skip_serializing_if = "Option::is_none")] pub iam_role: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateManagedInstanceRoleInputBody<'a> { @@ -5535,12 +4449,10 @@ impl<'a> std::fmt::Debug for UpdateManagedInstanceRoleInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateOpsItemInputBody<'a> { ///

    Update the information about the OpsItem. Provide enough information so that users reading /// this OpsItem for the first time understand the issue.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem /// object.

    @@ -5561,82 +4473,42 @@ pub struct UpdateOpsItemInputBody<'a> { /// the request. Use the /aws/automations key in OperationalData to associate an /// Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see /// Creating OpsItems manually in the AWS Systems Manager User Guide.

    - #[serde(rename = "OperationalData")] - #[serde(skip_serializing_if = "Option::is_none")] pub operational_data: &'a std::option::Option< std::collections::HashMap, >, ///

    Keys that you want to remove from the OperationalData map.

    - #[serde(rename = "OperationalDataToDelete")] - #[serde(skip_serializing_if = "Option::is_none")] pub operational_data_to_delete: &'a std::option::Option>, ///

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this /// OpsItem is edited or changed.

    - #[serde(rename = "Notifications")] - #[serde(skip_serializing_if = "Option::is_none")] pub notifications: &'a std::option::Option>, ///

    The importance of this OpsItem in relation to other OpsItems in the system.

    - #[serde(rename = "Priority")] - #[serde(skip_serializing_if = "Option::is_none")] pub priority: &'a std::option::Option, ///

    One or more OpsItems that share something in common with the current OpsItems. For example, /// related OpsItems can include OpsItems with similar error messages, impacted resources, or /// statuses for the impacted resource.

    - #[serde(rename = "RelatedOpsItems")] - #[serde(skip_serializing_if = "Option::is_none")] pub related_ops_items: &'a std::option::Option>, ///

    The OpsItem status. Status can be Open, In Progress, or /// Resolved. For more information, see Editing OpsItem details in the AWS Systems Manager User Guide.

    - #[serde(rename = "Status")] - #[serde(skip_serializing_if = "Option::is_none")] pub status: &'a std::option::Option, ///

    The ID of the OpsItem.

    - #[serde(rename = "OpsItemId")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_item_id: &'a std::option::Option, ///

    A short heading that describes the nature of the OpsItem and the impacted resource.

    - #[serde(rename = "Title")] - #[serde(skip_serializing_if = "Option::is_none")] pub title: &'a std::option::Option, ///

    Specify a new category for an OpsItem.

    - #[serde(rename = "Category")] - #[serde(skip_serializing_if = "Option::is_none")] pub category: &'a std::option::Option, ///

    Specify a new severity for an OpsItem.

    - #[serde(rename = "Severity")] - #[serde(skip_serializing_if = "Option::is_none")] pub severity: &'a std::option::Option, ///

    The time a runbook workflow started. Currently reported only for the OpsItem type /// /aws/changerequest.

    - #[serde(rename = "ActualStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub actual_start_time: &'a std::option::Option, ///

    The time a runbook workflow ended. Currently reported only for the OpsItem type /// /aws/changerequest.

    - #[serde(rename = "ActualEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub actual_end_time: &'a std::option::Option, ///

    The time specified in a change request for a runbook workflow to start. Currently supported /// only for the OpsItem type /aws/changerequest.

    - #[serde(rename = "PlannedStartTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub planned_start_time: &'a std::option::Option, ///

    The time specified in a change request for a runbook workflow to end. Currently supported /// only for the OpsItem type /aws/changerequest.

    - #[serde(rename = "PlannedEndTime")] - #[serde(skip_serializing_if = "Option::is_none")] - #[serde( - serialize_with = "crate::serde_util::stdoptionoptionsmithytypesinstant_epoch_seconds_ser" - )] pub planned_end_time: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateOpsItemInputBody<'a> { @@ -5665,21 +4537,15 @@ impl<'a> std::fmt::Debug for UpdateOpsItemInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateOpsMetadataInputBody<'a> { ///

    The Amazon Resoure Name (ARN) of the OpsMetadata Object to update.

    - #[serde(rename = "OpsMetadataArn")] - #[serde(skip_serializing_if = "Option::is_none")] pub ops_metadata_arn: &'a std::option::Option, ///

    Metadata to add to an OpsMetadata object.

    - #[serde(rename = "MetadataToUpdate")] - #[serde(skip_serializing_if = "Option::is_none")] pub metadata_to_update: &'a std::option::Option< std::collections::HashMap, >, ///

    The metadata keys to delete from the OpsMetadata object.

    - #[serde(rename = "KeysToDelete")] - #[serde(skip_serializing_if = "Option::is_none")] pub keys_to_delete: &'a std::option::Option>, } impl<'a> std::fmt::Debug for UpdateOpsMetadataInputBody<'a> { @@ -5693,47 +4559,31 @@ impl<'a> std::fmt::Debug for UpdateOpsMetadataInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdatePatchBaselineInputBody<'a> { ///

    The ID of the patch baseline to update.

    - #[serde(rename = "BaselineId")] - #[serde(skip_serializing_if = "Option::is_none")] pub baseline_id: &'a std::option::Option, ///

    The name of the patch baseline.

    - #[serde(rename = "Name")] - #[serde(skip_serializing_if = "Option::is_none")] pub name: &'a std::option::Option, ///

    A set of global filters used to include patches in the baseline.

    - #[serde(rename = "GlobalFilters")] - #[serde(skip_serializing_if = "Option::is_none")] pub global_filters: &'a std::option::Option, ///

    A set of rules used to include patches in the baseline.

    - #[serde(rename = "ApprovalRules")] - #[serde(skip_serializing_if = "Option::is_none")] pub approval_rules: &'a std::option::Option, ///

    A list of explicitly approved patches for the baseline.

    ///

    For information about accepted formats for lists of approved patches and rejected patches, /// see About /// package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    - #[serde(rename = "ApprovedPatches")] - #[serde(skip_serializing_if = "Option::is_none")] pub approved_patches: &'a std::option::Option>, ///

    Assigns a new compliance severity level to an existing patch baseline.

    - #[serde(rename = "ApprovedPatchesComplianceLevel")] - #[serde(skip_serializing_if = "Option::is_none")] pub approved_patches_compliance_level: &'a std::option::Option, ///

    Indicates whether the list of approved patches includes non-security updates that should be /// applied to the instances. The default value is 'false'. Applies to Linux instances only.

    - #[serde(rename = "ApprovedPatchesEnableNonSecurity")] - #[serde(skip_serializing_if = "Option::is_none")] pub approved_patches_enable_non_security: &'a std::option::Option, ///

    A list of explicitly rejected patches for the baseline.

    ///

    For information about accepted formats for lists of approved patches and rejected patches, /// see About /// package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    - #[serde(rename = "RejectedPatches")] - #[serde(skip_serializing_if = "Option::is_none")] pub rejected_patches: &'a std::option::Option>, ///

    The action for Patch Manager to take on patches included in the RejectedPackages /// list.

    @@ -5754,22 +4604,14 @@ pub struct UpdatePatchBaselineInputBody<'a> { /// InstalledRejected.

    /// /// - #[serde(rename = "RejectedPatchesAction")] - #[serde(skip_serializing_if = "Option::is_none")] pub rejected_patches_action: &'a std::option::Option, ///

    A description of the patch baseline.

    - #[serde(rename = "Description")] - #[serde(skip_serializing_if = "Option::is_none")] pub description: &'a std::option::Option, ///

    Information about the patches to use to update the instances, including target operating /// systems and source repositories. Applies to Linux instances only.

    - #[serde(rename = "Sources")] - #[serde(skip_serializing_if = "Option::is_none")] pub sources: &'a std::option::Option>, ///

    If True, then all fields that are required by the CreatePatchBaseline action are also /// required for this API request. Optional fields that are not specified are set to null.

    - #[serde(rename = "Replace")] - #[serde(skip_serializing_if = "Option::is_none")] pub replace: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdatePatchBaselineInputBody<'a> { @@ -5798,20 +4640,14 @@ impl<'a> std::fmt::Debug for UpdatePatchBaselineInputBody<'a> { } #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateResourceDataSyncInputBody<'a> { ///

    The name of the resource data sync you want to update.

    - #[serde(rename = "SyncName")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_name: &'a std::option::Option, ///

    The type of resource data sync. The supported SyncType is /// SyncFromSource.

    - #[serde(rename = "SyncType")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_type: &'a std::option::Option, ///

    Specify information about the data sources to synchronize.

    - #[serde(rename = "SyncSource")] - #[serde(skip_serializing_if = "Option::is_none")] pub sync_source: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateResourceDataSyncInputBody<'a> { @@ -5826,7 +4662,7 @@ impl<'a> std::fmt::Debug for UpdateResourceDataSyncInputBody<'a> { ///

    The request body of the UpdateServiceSetting API action.

    #[non_exhaustive] -#[derive(serde::Serialize, std::clone::Clone, std::cmp::PartialEq)] +#[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateServiceSettingInputBody<'a> { ///

    The Amazon Resource Name (ARN) of the service setting to reset. For example, /// arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled. @@ -5858,8 +4694,6 @@ pub struct UpdateServiceSettingInputBody<'a> { ///

    /// /// - #[serde(rename = "SettingId")] - #[serde(skip_serializing_if = "Option::is_none")] pub setting_id: &'a std::option::Option, ///

    The new value to specify for the service setting. For the /// /ssm/parameter-store/default-parameter-tier setting ID, the setting value can be @@ -5882,8 +4716,6 @@ pub struct UpdateServiceSettingInputBody<'a> { /// value can be CloudWatch.

    ///

    For the /ssm/automation/customer-script-log-group-name setting ID, the setting /// value can be the name of a CloudWatch Logs log group.

    - #[serde(rename = "SettingValue")] - #[serde(skip_serializing_if = "Option::is_none")] pub setting_value: &'a std::option::Option, } impl<'a> std::fmt::Debug for UpdateServiceSettingInputBody<'a> {