diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 4f1cddb1688..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-language: rust
-# cache dependencies: https://docs.travis-ci.com/user/caching/#Rust-Cargo-cache
-cache:
- directories:
- - ~/.cargo
-# rustdoc is slow on 1.34.0 and 1.35.0 (beta): use older version for docs
-rust:
- - 1.33.0
-os:
- - linux
-git:
- depth: 5
-script:
- - |
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "1.33.0" && "$JOB" == "api_docs" ]]; then
- echo "Running cargo docs on stable Rust on Linux" &&
- RUST_VERSION=1.33.0 make docs
- fi
-after_success:
- # upload the documentation from the build if it's from Rust stable, Linux and not a pull request:
- - |
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "1.33.0" && "$TRAVIS_PULL_REQUEST" == false && "$JOB" == "api_docs" ]]; then
- echo '' > target/doc/index.html \
- && mkdir target/doc/rusoto/ && echo '' > target/doc/rusoto/index.html \
- && sudo pip install ghp-import && ghp-import -n target/doc \
- && git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages \
- && cd ..
- fi
-env:
- global:
- - RUST_BACKTRACE=1
- - CARGO_INCREMENTAL=0
- matrix:
- - JOB=api_docs
-branches:
- only:
- - master
- - auto
-notifications:
- email: false
-matrix:
- fast_finish: true
diff --git a/.travis/split_workspace b/.travis/split_workspace
deleted file mode 100755
index b3e5d6e689e..00000000000
--- a/.travis/split_workspace
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/python
-"""Split members of workspace into evenly sized chunks for testing
-
-Example splitting members into three chunks:
-
-# Test first of three chunks
-$ ./split_workspace 1 3 # rewrites Cargo.toml
-$ cargo test
-
-# Reset Cargo.toml and test second of three chunks
-$ git checkout Cargo.toml
-$ ./split_workspace 2 3
-$ cargo test
-
-# Reset Cargo.toml and test third of three chunks
-$ git checkout Cargo.toml
-$ ./split_workspace 3 3
-$ cargo test
-"""
-
-import sys
-import toml
-
-
-def get_chunk(members, part, total_parts):
- chunk_size = int(len(members) / total_parts)
- end = None if part == total_parts - 1 else chunk_size*(part+1)
- return members[chunk_size*part:end]
-
-
-def main():
- if len(sys.argv) != 3:
- raise AssertionError('Expected exactly two arguments')
- part, total_parts = int(sys.argv[1]) - 1, int(sys.argv[2])
- content = toml.load('Cargo.toml')
- members_of_part = get_chunk(content['workspace']['members'], part, total_parts)
- content['workspace']['members'] = members_of_part
- with open('Cargo.toml', 'w') as f:
- toml.dump(content, f)
-
-
-if __name__ == '__main__':
- main()
diff --git a/AWS-CREDENTIALS.md b/AWS-CREDENTIALS.md
index 7480cbdb60c..5a46f816db8 100644
--- a/AWS-CREDENTIALS.md
+++ b/AWS-CREDENTIALS.md
@@ -1,20 +1,26 @@
### Credentials
-Rusoto has the ability to source AWS access credentials in a few different ways:
+#### Best Practices
-1. Environment variables via `rusoto_core::EnvironmentProvider` (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`)
-2. AWS credentials file via `rusoto_core::ProfileProvider`
-3. IAM ECS container profile via `rusoto_core::ContainerProvider`
-4. IAM EC2 instance profile via `rusoto_core::InstanceMetadataProvider`
+Please follow the [AWS documentation on best practices](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) for managing credentials for your account. These credentials provide anyone who has access to them access to your AWS account. You can mitigate risk that goes along with that access by following these best practices.
-There is also `rusoto_core::ChainProvider`, which is a convenience for attempting to source access credentials using the methods above in order.
+#### Usage
+
+Much like the [standard AWS toolchain](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), Rusoto has the ability to source AWS access credentials from multiple sources, either independently or in a tiered fashion.
+
+1. Environment variables via [`rusoto_core::EnvironmentProvider`](https://docs.rs/rusoto_credential/latest/rusoto_credential/struct.EnvironmentProvider.html) (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`)
+2. AWS credentials file via [`rusoto_core::ProfileProvider`](https://docs.rs/rusoto_credential/latest/rusoto_credential/struct.ProfileProvider.html)
+3. IAM ECS container profile via [`rusoto_core::ContainerProvider`](https://docs.rs/rusoto_credential/latest/rusoto_credential/struct.ContainerProvider.html)
+4. IAM EC2 instance profile via [`rusoto_core::InstanceMetadataProvider`](https://docs.rs/rusoto_credential/latest/rusoto_credential/struct.InstanceMetadataProvider.html)
+
+The [`rusoto_core::ChainProvider`](https://docs.rs/rusoto_credential/latest/rusoto_credential/struct.ChainProvider.html) is a convenience for attempting to source access credentials using all the methods above in that order.
If credentials cannot be obtained through one method, it falls back to the next.
If all possibilites are exhausted, an error will be returned.
`ProfileProvider` (and `ChainProvider`) also allow you to specify a custom path to the credentials file and the name of the profile to use.
If not explicitly provided as arguments, the values for these two parameters are computed according to the following rules:
-* **location of credentials file:** if set and not empty the value of the environment variable ```AWS_SHARED_CREDENTIALS_FILE``` otherwise ```"~/.aws/credentials"```.
-* **profile name:** if set and not empty the value of the environment variable ```AWS_PROFILE``` otherwise ```"default"```
+* **location of credentials file:** if set and not empty the value of the environment variable `AWS_SHARED_CREDENTIALS_FILE` otherwise `"~/.aws/credentials"`.
+* **profile name:** if set and not empty the value of the environment variable ```AWS_PROFILE``` otherwise `"default"`
It's also possible to implement your own credentials sourcing mechanism by creating a type that implements `rusoto_core::ProvideAwsCredentials`.
@@ -23,11 +29,6 @@ It's also possible to implement your own credentials sourcing mechanism by creat
If your aws account belongs to an organization and you need to use sts:AssumeRole, you're probably looking for `rusoto_sts::StsAssumeRoleSessionCredentialsProvider`. A simple program that uses sts:AssumeRole looks like this:
```rust,no_run
-extern crate env_logger;
-extern crate rusoto_core;
-extern crate rusoto_ec2;
-extern crate rusoto_sts;
-
use std::default::Default;
use rusoto_core::{Region, HttpClient};
@@ -36,7 +37,7 @@ use rusoto_ec2::{Ec2Client, Ec2, DescribeSpotInstanceRequestsRequest};
use rusoto_sts::{StsClient, StsAssumeRoleSessionCredentialsProvider};
fn main() {
- let _ = env_logger::try_init();
+ env_logger::init();
let sts = StsClient::new(Region::EuWest1);
@@ -56,11 +57,12 @@ fn main() {
}
```
-### Important note about using the StsAssumeRoleSessionCredentialsProvider in the recommended way
-**Be careful** that the current behavior of `rusoto_sts::StsAssumeRoleSessionCredentialsProvider` needs to be used with `rusoto_credential::AutoRefreshingProvider` as a wrapper to get advantage of using the already cached token of AssumeRole as it lives by default for 1 hour.
-Current implementation is not using the cached token returned by the AssumeRole by default so it will be refreshed with every call to AWS resource.
+### Important note about using the StsAssumeRoleSessionCredentialsProvider
-This will affect the performance as well as the billing of AWS.
+**Be careful**. The current `rusoto_sts::StsAssumeRoleSessionCredentialsProvider` should be used with `rusoto_credential::AutoRefreshingProvider` as a wrapper to take advantage of using the already cached token of AssumeRole as its only valid for 1 hour by default.
+The current implementation does not reuse the cached token returned by the AssumeRole by default so it will be refreshed with every call to AWS resource.
+
+This will affect the performance as well as the size of you AWS bill.
- https://docs.rs/rusoto_credential
- https://crates.io/crates/rusoto_credential
@@ -75,21 +77,11 @@ let provider = StsAssumeRoleSessionCredentialsProvider::new(
let auto_refreshing_provider = rusoto_credential::AutoRefreshingProvider::new(provider);
```
-#### Credential refreshing
-
-Credentials obtained from environment variables and credential files expire ten minutes after being acquired and are refreshed on subsequent calls to `credentials()` (a method from the `ProvideAwsCredentials` trait).
-
-IAM instance profile credentials are refreshed as needed.
-Upon calling `credentials()` it will see if they are expired or not.
-If expired, it attempts to get new credentials from the metadata service.
-If that fails it will return an error.
-IAM credentials expiration time comes from the IAM metadata response.
-
#### Local integration testing of IAM credentials
Edit the relevant `address`/IP locations in [credential/src/container.rs](credential/src/container.rs) and [credential/src/instance_metadata.rs](credential/src/instance_metadata.rs).
For local testing, you can use [moe](https://github.com/matthewkmayer/moe) and set the string to this:
```rust,ignore
-let mut address: String = "http://localhost:8080/latest/meta-data/iam/security-credentials".to_owned();
+let address: String = "http://localhost:8080/latest/meta-data/iam/security-credentials".to_owned();
```
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 023c1809568..299cfe32bc3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,42 @@
## [Unreleased]
(Please put changes here)
+- Use static initializer for AWS profile regex
+- Add QLDB service
+- Add QLDB Session service
+- Update Skeptic tests for Rusoto v0.41
+- Don't decode query string parameters before encoding it. Results in fixing the prefix and marker
+params for s3 `list_objects` methods
+- Add Textract service
+- Update CloudDirectory API definition to `2017-01-11`
+- Add SecurityHub service
+- Add Transfer service
+- Introducing `rusoto_signature`, a standalone crate for signing HTTP requests.
+- Make static credentials into a credential provider
+- Add anonymous credentials support
+- Don't trim whitepsace when parsing xml payload. Fixes truncating of items with spaces in payloads
+such as an S3 key returned in `list_objects_v2`
+
+## [0.41.0] - 2019-10-07
+
+- Add `HttpClient::from_builder`
+- Upgrade to botocore from `1.12.163` to `1.12.230`
+- The types `rusoto_events::{CloudWatchEvents,CloudWatchEventsClient}` were renamed to `rusoto_events::{EventBridge,EventBridgeClient}`
+- Deserialize PostTextResponse correctly by allowing null values in the slots field
+- Fix Profile Config Loading: should ignore comments with '=' chars
+- Add App Mesh service
+- Fix service_crategen to parse operations with multiple static params
+- Refactor S3 integration tests - about a `#[test]` per behavior
+- Add support for non signing clients
+- Add EC2 Instance Connect service
+- Allow deserialization of regions without an endpoint specified
+- Add ApNortheast3 region
+- Add MeSouth1 region
+- Add x-amz-content-sha256 header to signed and canonical headers
+- Added `Eq` and `Hash` implementations on `Region`
+- Fixed parsing of Athena error messages
+- Fix credential_process behavior when using the non-default profile
+- Correctly read session tokens from credential_process
## [0.40.0] - 2019-06-28
diff --git a/Cargo.toml b/Cargo.toml
index 57ade6fc85a..cc6ffa85c71 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,8 +1,10 @@
[workspace]
members = [
"mock",
+ "rusoto/credential_service_mock",
"rusoto/core",
"rusoto/credential",
+ "rusoto/signature",
"rusoto/services/acm",
"rusoto/services/acm-pca",
"rusoto/services/alexaforbusiness",
@@ -11,6 +13,7 @@ members = [
"rusoto/services/apigatewaymanagementapi",
"rusoto/services/apigatewayv2",
"rusoto/services/application-autoscaling",
+ "rusoto/services/appmesh",
"rusoto/services/appstream",
"rusoto/services/appsync",
"rusoto/services/athena",
@@ -54,6 +57,7 @@ members = [
"rusoto/services/dynamodb",
"rusoto/services/dynamodbstreams",
"rusoto/services/ec2",
+ "rusoto/services/ec2-instance-connect",
"rusoto/services/ecr",
"rusoto/services/ecs",
"rusoto/services/elasticache",
@@ -117,6 +121,8 @@ members = [
"rusoto/services/pi",
"rusoto/services/polly",
"rusoto/services/pricing",
+ "rusoto/services/qldb",
+ "rusoto/services/qldb-session",
"rusoto/services/ram",
"rusoto/services/rds",
"rusoto/services/rds-data",
@@ -131,6 +137,7 @@ members = [
"rusoto/services/sagemaker-runtime",
"rusoto/services/sdb",
"rusoto/services/secretsmanager",
+ "rusoto/services/securityhub",
"rusoto/services/serverlessrepo",
"rusoto/services/servicecatalog",
"rusoto/services/servicediscovery",
@@ -146,7 +153,9 @@ members = [
"rusoto/services/sts",
"rusoto/services/support",
"rusoto/services/swf",
+ "rusoto/services/textract",
"rusoto/services/transcribe",
+ "rusoto/services/transfer",
"rusoto/services/translate",
"rusoto/services/waf",
"rusoto/services/waf-regional",
@@ -167,4 +176,4 @@ exclude = [
[profile.bench]
opt-level = 3
debug = false
-debug-assertions = false
\ No newline at end of file
+debug-assertions = false
diff --git a/Makefile b/Makefile
index a87cacf2ed2..6c7b634c66f 100644
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,11 @@ docs:
unit_test:
cargo +$$RUST_VERSION test --all
+# Doctests can be very slow to compile and run. This option lets us skip those if needed.
+.PHONY: unit_test_no_doctests
+unit_test_no_doctests:
+ cargo +$$RUST_VERSION test --all --lib
+
.PHONY: skeptical
skeptical:
(cd skeptical && cargo +$$RUST_VERSION test)
@@ -41,7 +46,8 @@ check_integration_test:
.PHONY: rustls_unit_test
rustls_unit_test:
- cargo +$$RUST_VERSION test --all -v --no-default-features --features=rustls
+ (cd rusoto/core && cargo +$$RUST_VERSION test --no-default-features --features=rustls)
+ (cd rusoto/services && ./rustls-unit-test.sh $$RUST_VERSION)
.PHONY: check_service_defintions
check_service_defintions:
@@ -54,3 +60,7 @@ time_credentials:
.PHONY: bench_s3
bench_s3:
(cd rusoto/services/s3 && cargo +nightly bench)
+
+.PHONY: credential_integration_test
+credential_integration_test:
+ (cd rusoto/credential_service_mock && ./run-and-test.sh )
diff --git a/README.md b/README.md
index 5ff45ef2ff7..30cbff49dbd 100644
--- a/README.md
+++ b/README.md
@@ -43,9 +43,9 @@ For example, to include only S3 and SQS:
```toml
[dependencies]
-rusoto_core = "0.40.0"
-rusoto_sqs = "0.40.0"
-rusoto_s3 = "0.40.0"
+rusoto_core = "0.41.0"
+rusoto_sqs = "0.41.0"
+rusoto_s3 = "0.41.0"
```
## Migration notes
@@ -110,12 +110,14 @@ Information on release schedules and procedures are in [RELEASING](RELEASING.md)
See [CONTRIBUTING](CONTRIBUTING.md).
-## Supported OSs and Rust versions
+## Supported OSs, Rust versions and non-AWS projects
Linux, OSX and Windows are supported and tested via Azure Pipelines and Appveyor.
Rust stable, beta and nightly are supported.
+Rusoto's primary aim is to be used with AWS. Other projects that provide AWS-like APIs, such as Ceph, Minio, Yandex Object Storage, etc... are not a focus at this time. PRs to fix issues with Rusoto and AWS-like APIs are welcome but generally won't be created by Rusoto maintainers.
+
## License
Rusoto is distributed under the terms of the MIT license.
diff --git a/RELEASING.md b/RELEASING.md
index d8dbb5ba5ac..108676ec9fe 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -27,18 +27,20 @@ Rusoto uses [semantic versioning 2.0.0](http://semver.org/).
3. Publish new version of `rusoto_credential` if changes have been made to it.
4. Publish new version of `rusoto_core` if changes have been made to it.
5. Publish new version of `rusoto_mock` if it changes have been made to it.
-6. Run `publish-services.sh` in the `rusoto/services` dir. *Warning*: takes >2 hours on a low end Macbook. The script can be run again if an issue comes up without problems - crates.io prevents republishing.
+6. Run `publish-services.sh` in the `rusoto/services` dir. *Warning*: takes >4 hours on a low end Macbook. The script can be run again if an issue comes up without problems - crates.io prevents republishing.
7. Tag master branch with the new version. Example: `git tag -a rusoto-v0.21.0 -m "Rusoto 0.21.0 release."` then `git push --tags origin`.
### Git tags
-Due to multiple crates being in the repo, releases for each crate will be in the format `crate-vmajor.minor.patch`.
+Due to multiple crates being in the repo, releases for each crate will be in the format `crate-vmajor.minor.patch`. Rusoto core, service crates, credentials and `rusoto_mock` will all have the same versions for a new release:
Examples:
-* `rusoto-v0.21.0`
-* `credentials-v0.3.0`
-* `mock-v0.27.0`
+* `rusoto-v0.41.0`
+* `credentials-v0.41.0`
+* `mock-v0.41.0`
+
+When bug fixes for a crate are published, all crates get a new release.
### Release notes
diff --git a/appveyor.yml b/appveyor.yml
index 8fb9bff2387..877a8131748 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -27,8 +27,9 @@ install:
build: off
test_script:
- cargo update
- - make unit_test
- - make rustls_unit_test
+ - set RUST_VERSION=%CHANNEL%
+ - echo using rust_version %RUST_VERSION%
+ - make unit_test_no_doctests
- make check_integration_test
branches:
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index ed89c4afad3..94057e743cd 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -17,10 +17,26 @@ jobs:
displayName: 'Install Rust'
- script: make unit_test
displayName: 'Run unit tests'
- - script: make rustls_unit_test
- displayName: 'Run unit tests with rustls'
- script: make check_integration_test
displayName: 'Cargo check integration tests'
+ - script: make credential_integration_test
+ displayName: 'Credential integration tests'
+
+- job: 'rustls_unit_tests_linux'
+ displayName: 'Rustls unit tests on Linux'
+ pool:
+ vmImage: 'Ubuntu-16.04'
+
+ steps:
+ - checkout: self
+ fetchDepth: 5
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ displayName: 'Install Rust'
+ - script: make rustls_unit_test
+ displayName: 'Run unit tests with rustls'
- job: 'unit_and_integration_tests_linux_beta'
displayName: 'Unit and integration tests on Linux (beta channel)'
@@ -41,10 +57,26 @@ jobs:
displayName: 'Install Rust beta'
- script: RUST_VERSION=beta make unit_test
displayName: 'Run unit tests'
+
+- job: 'rustls_unit_tests_linux_beta'
+ displayName: 'Rustls unit tests on Linux (beta channel)'
+ pool:
+ vmImage: 'Ubuntu-16.04'
+
+ steps:
+ - checkout: self
+ fetchDepth: 5
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain beta-x86_64-unknown-linux-gnu -y
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ displayName: 'Install Rustup'
+ - script: |
+ rustup install beta
+ rustup default beta
+ displayName: 'Install Rust beta'
- script: RUST_VERSION=beta make rustls_unit_test
displayName: 'Run unit tests with rustls'
- - script: RUST_VERSION=beta make check_integration_test
- displayName: 'Cargo check integration tests'
- job: 'unit_and_integration_tests_linux_nightly'
displayName: 'Unit and integration tests on Linux (nightly channel)'
@@ -66,13 +98,31 @@ jobs:
- script: RUST_VERSION=nightly make unit_test
displayName: 'Run unit tests'
continueOnError: true
- - script: RUST_VERSION=nightly make rustls_unit_test
- displayName: 'Run unit tests with rustls'
- continueOnError: true
- script: RUST_VERSION=nightly make check_integration_test
displayName: 'Cargo check integration tests'
continueOnError: true
+- job: 'rustls_unit_tests_linux_nightly'
+ displayName: 'Rustls unit tests on Linux (nightly channel)'
+ pool:
+ vmImage: 'Ubuntu-16.04'
+
+ steps:
+ - checkout: self
+ fetchDepth: 5
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-x86_64-unknown-linux-gnu -y
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ displayName: 'Install Rustup'
+ - script: |
+ rustup install nightly
+ rustup default nightly
+ displayName: 'Install Rust beta'
+ - script: RUST_VERSION=nightly make rustls_unit_test
+ displayName: 'Run unit tests with rustls'
+ continueOnError: true
+
- job: 'unit_and_integration_tests_osx'
displayName: 'Unit and integration tests on OSX'
pool:
@@ -88,11 +138,25 @@ jobs:
displayName: 'Install Rust'
- script: make unit_test
displayName: 'Run unit tests'
- - script: make rustls_unit_test
- displayName: 'Run unit tests with rustls'
- script: make check_integration_test
displayName: 'Cargo check integration tests'
+- job: 'rustls_unit_tests_osx'
+ displayName: 'Unit and integration tests on OSX'
+ pool:
+ vmImage: 'macos-10.13'
+
+ steps:
+ - checkout: self
+ fetchDepth: 5
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ displayName: 'Install Rust'
+ - script: make rustls_unit_test
+ displayName: 'Run unit tests with rustls'
+
- job: 'unit_and_integration_tests_osx_beta'
displayName: 'Unit and integration tests on OSX (beta channel)'
pool:
@@ -108,11 +172,25 @@ jobs:
displayName: 'Install Rust'
- script: RUST_VERSION=beta make unit_test
displayName: 'Run unit tests'
- - script: RUST_VERSION=beta make rustls_unit_test
- displayName: 'Run unit tests with rustls'
- script: RUST_VERSION=beta make check_integration_test
displayName: 'Cargo check integration tests'
+- job: 'rustls_unit_tests_osx_beta'
+ displayName: 'Rustls unit tests on OSX (beta channel)'
+ pool:
+ vmImage: 'macos-10.13'
+
+ steps:
+ - checkout: self
+ fetchDepth: 5
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain beta
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ displayName: 'Install Rust'
+ - script: RUST_VERSION=beta make rustls_unit_test
+ displayName: 'Run unit tests with rustls'
+
- job: 'unit_and_integration_tests_osx_nightly'
displayName: 'Unit and integration tests on OSX (nightly channel)'
pool:
@@ -129,13 +207,27 @@ jobs:
- script: RUST_VERSION=nightly make unit_test
displayName: 'Run unit tests'
continueOnError: true
- - script: RUST_VERSION=nightly make rustls_unit_test
- displayName: 'Run unit tests with rustls'
- continueOnError: true
- script: RUST_VERSION=nightly make check_integration_test
displayName: 'Cargo check integration tests'
continueOnError: true
+- job: 'rustls_unit_tests_osx_nightly'
+ displayName: 'Rustls unit tests on OSX (nightly channel)'
+ pool:
+ vmImage: 'macos-10.13'
+
+ steps:
+ - checkout: self
+ fetchDepth: 5
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ displayName: 'Install Rust'
+ - script: RUST_VERSION=nightly make rustls_unit_test
+ displayName: 'Run unit tests with rustls'
+ continueOnError: true
+
- job: 'crate_gen_linux'
displayName: 'Crate generation on Linux'
pool:
diff --git a/integration_tests/Cargo.toml b/integration_tests/Cargo.toml
index fe6952c9683..214391a86f2 100644
--- a/integration_tests/Cargo.toml
+++ b/integration_tests/Cargo.toml
@@ -22,6 +22,7 @@ debug = false
[dependencies.rusoto_core]
path = "../rusoto/core"
+default-features = false
[dependencies.rusoto_acm]
optional = true
@@ -43,6 +44,10 @@ path = "../rusoto/services/apigateway"
optional = true
path = "../rusoto/services/application-autoscaling"
+[dependencies.rusoto_appmesh]
+optional = true
+path = "../rusoto/services/appmesh"
+
[dependencies.rusoto_appstream]
optional = true
path = "../rusoto/services/appstream"
@@ -215,6 +220,10 @@ path = "../rusoto/services/dynamodbstreams"
optional = true
path = "../rusoto/services/ec2"
+[dependencies.rusoto_ec2_instance_connect]
+optional = true
+path = "../rusoto/services/ec2-instance-connect"
+
[dependencies.rusoto_ecr]
optional = true
path = "../rusoto/services/ecr"
@@ -511,6 +520,10 @@ path = "../rusoto/services/sdb"
optional = true
path = "../rusoto/services/secretsmanager"
+[dependencies.rusoto_securityhub]
+optional = true
+path = "../rusoto/services/securityhub"
+
[dependencies.rusoto_serverlessrepo]
optional = true
path = "../rusoto/services/serverlessrepo"
@@ -575,6 +588,10 @@ path = "../rusoto/services/swf"
optional = true
path = "../rusoto/services/transcribe"
+[dependencies.rusoto_transfer]
+optional = true
+path = "../rusoto/services/transfer"
+
[dependencies.rusoto_translate]
optional = true
path = "../rusoto/services/translate"
@@ -619,172 +636,181 @@ path = "../rusoto/services/apigatewaymanagementapi"
optional = true
path = "../rusoto/services/apigatewayv2"
+[dependencies.rusoto_qldb]
+optional = true
+path = "../rusoto/services/qldb"
+
[dependencies.rusoto_ram]
optional = true
path = "../rusoto/services/ram"
[dev-dependencies]
-env_logger = "0.5"
+env_logger = "0.7"
futures = "0.1.16"
futures-fs = "0.0.3"
log = "0.4.1"
-rand = "^0.3.14"
+rand = "^0.7.2"
time = "0.1.37"
reqwest = "0.9"
http = "0.1.17"
[features]
all = [
- "core",
- "acm",
- "acm-pca",
- "alexaforbusiness",
- "apigateway",
- "application-autoscaling",
- "appstream",
- "appsync",
- "athena",
- "autoscaling",
- "autoscaling-plans",
- "batch",
- "budgets",
- "ce",
- "cloud9",
- "chime",
- "clouddirectory",
- "cloudformation",
- "cloudfront",
- "cloudhsm",
- "cloudhsmv2",
- "cloudsearch",
- "cloudsearchdomain",
- "cloudtrail",
- "cloudwatch",
- "codebuild",
- "codecommit",
- "codedeploy",
- "codepipeline",
- "codestar",
- "cognito-identity",
- "cognito-idp",
- "cognito-sync",
- "comprehend",
- "comprehendmedical",
- "config",
- "connect",
- "cur",
- "datapipeline",
- "dax",
- "devicefarm",
- "directconnect",
- "discovery",
- "dms",
- "docdb",
- "ds",
- "dynamodb",
- "dynamodbstreams",
- "ec2",
- "ecr",
- "ecs",
- "elasticache",
- "elasticbeanstalk",
- "efs",
- "eks",
- "elastictranscoder",
- "elb",
- "elbv2",
- "emr",
- "events",
- "firehose",
- "fms",
- "fsx",
- "gamelift",
- "glacier",
- "glue",
- "greengrass",
- "guardduty",
- "iam",
- "importexport",
- "inspector",
- "iot",
- "iotanalytics",
- "iotdata",
- "iot1clickdevices",
- "iot1clickprojects",
- "kafka",
- "kinesis",
- "kinesisanalytics",
- "kinesisvideo",
- "kinesisvideomedia",
- "kinesisvideoarchivedmedia",
- "kms",
- "lambda",
- "lex-models",
- "license-manager",
- "lightsail",
- "lex-runtime",
- "logs",
- "neptune",
- "machinelearning",
- "macie",
- "marketplacecommerceanalytics",
- "marketplace-entitlement",
- "mediaconvert",
- "medialive",
- "mediapackage",
- "mediastore",
- "mediatailor",
- "mgh",
- "mobile",
- "mq",
- "mturk",
- "opsworks",
- "opsworkscm",
- "organizations",
- "pi",
- "polly",
- "pricing",
- "redshift",
- "rekognition",
- "resource-groups",
- "resourcegroupstaggingapi",
- "rds",
- "rds-data",
- "route53",
- "route53domains",
- "s3",
- "sagemaker",
- "sagemaker-runtime",
- "sdb",
- "secretsmanager",
- "serverlessrepo",
- "servicecatalog",
- "servicediscovery",
- "ses",
- "shield",
- "sms",
- "snowball",
- "sns",
- "sqs",
- "ssm",
- "stepfunctions",
- "storagegateway",
- "sts",
- "support",
- "swf",
- "transcribe",
- "translate",
- "waf",
- "waf-regional",
- "workdocs",
- "worklink",
- "workmail",
- "workspaces",
- "xray",
- "amplify",
- "apigatewaymanagementapi",
- "apigatewayv2",
- "ram"
+ "core",
+ "acm",
+ "acm-pca",
+ "alexaforbusiness",
+ "apigateway",
+ "application-autoscaling",
+ "appmesh",
+ "appstream",
+ "appsync",
+ "athena",
+ "autoscaling",
+ "autoscaling-plans",
+ "batch",
+ "budgets",
+ "ce",
+ "cloud9",
+ "chime",
+ "clouddirectory",
+ "cloudformation",
+ "cloudfront",
+ "cloudhsm",
+ "cloudhsmv2",
+ "cloudsearch",
+ "cloudsearchdomain",
+ "cloudtrail",
+ "cloudwatch",
+ "codebuild",
+ "codecommit",
+ "codedeploy",
+ "codepipeline",
+ "codestar",
+ "cognito-identity",
+ "cognito-idp",
+ "cognito-sync",
+ "comprehend",
+ "comprehendmedical",
+ "config",
+ "connect",
+ "cur",
+ "datapipeline",
+ "dax",
+ "devicefarm",
+ "directconnect",
+ "discovery",
+ "dms",
+ "docdb",
+ "ds",
+ "dynamodb",
+ "dynamodbstreams",
+ "ec2",
+ "ec2-instance-connect",
+ "ecr",
+ "ecs",
+ "elasticache",
+ "elasticbeanstalk",
+ "efs",
+ "eks",
+ "elastictranscoder",
+ "elb",
+ "elbv2",
+ "emr",
+ "events",
+ "firehose",
+ "fms",
+ "fsx",
+ "gamelift",
+ "glacier",
+ "glue",
+ "greengrass",
+ "guardduty",
+ "iam",
+ "importexport",
+ "inspector",
+ "iot",
+ "iotanalytics",
+ "iotdata",
+ "iot1clickdevices",
+ "iot1clickprojects",
+ "kafka",
+ "kinesis",
+ "kinesisanalytics",
+ "kinesisvideo",
+ "kinesisvideomedia",
+ "kinesisvideoarchivedmedia",
+ "kms",
+ "lambda",
+ "lex-models",
+ "license-manager",
+ "lightsail",
+ "lex-runtime",
+ "logs",
+ "neptune",
+ "machinelearning",
+ "macie",
+ "marketplacecommerceanalytics",
+ "marketplace-entitlement",
+ "mediaconvert",
+ "medialive",
+ "mediapackage",
+ "mediastore",
+ "mediatailor",
+ "mgh",
+ "mobile",
+ "mq",
+ "mturk",
+ "opsworks",
+ "opsworkscm",
+ "organizations",
+ "pi",
+ "polly",
+ "pricing",
+ "redshift",
+ "rekognition",
+ "resource-groups",
+ "resourcegroupstaggingapi",
+ "rds",
+ "rds-data",
+ "route53",
+ "route53domains",
+ "s3",
+ "sagemaker",
+ "sagemaker-runtime",
+ "sdb",
+ "secretsmanager",
+ "securityhub",
+ "serverlessrepo",
+ "servicecatalog",
+ "servicediscovery",
+ "ses",
+ "shield",
+ "sms",
+ "snowball",
+ "sns",
+ "sqs",
+ "ssm",
+ "stepfunctions",
+ "storagegateway",
+ "sts",
+ "support",
+ "swf",
+ "transcribe",
+ "transfer",
+ "translate",
+ "waf",
+ "waf-regional",
+ "workdocs",
+ "worklink",
+ "workmail",
+ "workspaces",
+ "xray",
+ "amplify",
+ "apigatewaymanagementapi",
+ "apigatewayv2",
+ "ram",
+ "qldb"
]
core = []
acm = ["rusoto_acm"]
@@ -792,6 +818,7 @@ acm-pca = ["rusoto_acm_pca"]
alexaforbusiness = ["rusoto_alexaforbusiness"]
apigateway = ["rusoto_apigateway"]
application-autoscaling = ["rusoto_application_autoscaling"]
+appmesh = ["rusoto_appmesh"]
appstream = ["rusoto_appstream"]
appsync = ["rusoto_appsync"]
athena = ["rusoto_athena"]
@@ -835,6 +862,7 @@ ds = ["rusoto_ds"]
dynamodb = ["rusoto_dynamodb"]
dynamodbstreams = ["rusoto_dynamodbstreams"]
ec2 = ["rusoto_ec2"]
+ec2-instance-connect = ["rusoto_ec2_instance_connect"]
ecr = ["rusoto_ecr"]
ecs = ["rusoto_ecs"]
elasticache = ["rusoto_elasticache"]
@@ -909,6 +937,7 @@ sagemaker = ["rusoto_sagemaker"]
sagemaker-runtime = ["rusoto_sagemaker_runtime"]
sdb = ["rusoto_sdb"]
secretsmanager = ["rusoto_secretsmanager"]
+securityhub = ["rusoto_securityhub"]
serverlessrepo = ["rusoto_serverlessrepo"]
servicecatalog = ["rusoto_servicecatalog"]
servicediscovery = ["rusoto_servicediscovery"]
@@ -925,6 +954,7 @@ sts = ["rusoto_sts", "rusoto_ec2"]
support = ["rusoto_support"]
swf = ["rusoto_swf"]
transcribe = ["rusoto_transcribe"]
+transfer = ["rusoto_transfer"]
translate = ["rusoto_translate"]
waf = ["rusoto_waf"]
waf-regional = ["rusoto_waf_regional"]
@@ -937,6 +967,10 @@ amplify = ["rusoto_amplify"]
apigatewaymanagementapi = ["rusoto_apigatewaymanagementapi"]
apigatewayv2 = ["rusoto_apigatewayv2"]
ram = ["rusoto_ram"]
+qldb = ["rusoto_qldb"]
nightly-testing = ["rusoto_core/nightly-testing"]
disable_ceph_unsupported = []
disable_minio_unsupported = []
+default = ["native-tls"]
+native-tls = ["rusoto_core/native-tls"]
+rustls = ["rusoto_core/rustls"]
\ No newline at end of file
diff --git a/integration_tests/tests/appmesh.rs b/integration_tests/tests/appmesh.rs
new file mode 100644
index 00000000000..a32c29e3331
--- /dev/null
+++ b/integration_tests/tests/appmesh.rs
@@ -0,0 +1,23 @@
+#![cfg(feature = "appmesh")]
+
+extern crate rusoto_appmesh;
+extern crate rusoto_core;
+
+use rusoto_appmesh::{AppMesh, AppMeshClient, ListMeshesInput};
+use rusoto_core::Region;
+
+#[test]
+fn main() {
+ let appmesh = AppMeshClient::new(Region::UsEast1);
+
+ match appmesh.list_meshes(ListMeshesInput::default()).sync() {
+ Ok(response) => {
+ for mesh_ref in response.meshes {
+ println!("arn -> {:?}", mesh_ref.arn);
+ }
+ }
+ Err(err) => {
+ panic!("Error listing meshes {:#?}", err);
+ }
+ }
+}
diff --git a/integration_tests/tests/cognitoidentity.rs b/integration_tests/tests/cognitoidentity.rs
index 03234eea11b..7fd7c3cf3fe 100644
--- a/integration_tests/tests/cognitoidentity.rs
+++ b/integration_tests/tests/cognitoidentity.rs
@@ -4,8 +4,7 @@ extern crate rusoto_cognito_identity;
extern crate rusoto_core;
use rusoto_cognito_identity::{
- CognitoIdentity, CognitoIdentityClient, ListIdentitiesInput,
- ListIdentityPoolsInput,
+ CognitoIdentity, CognitoIdentityClient, ListIdentitiesInput, ListIdentityPoolsInput,
};
use rusoto_core::{Region, RusotoError};
diff --git a/integration_tests/tests/core.rs b/integration_tests/tests/core.rs
index 8235ac95ee6..038473595b9 100644
--- a/integration_tests/tests/core.rs
+++ b/integration_tests/tests/core.rs
@@ -4,12 +4,14 @@ extern crate futures;
extern crate reqwest;
extern crate rusoto_core;
+use futures::future::ok;
use futures::Future;
+use rusoto_core::request::{HttpClient, HttpResponse};
use rusoto_core::credential::{DefaultCredentialsProvider, ProvideAwsCredentials};
use rusoto_core::param::{Params, ServiceParams};
use rusoto_core::signature::SignedRequest;
-use rusoto_core::Region;
+use rusoto_core::{Client, Region};
#[test]
fn get_caller_identity_presigned() {
@@ -36,3 +38,36 @@ fn get_caller_identity_presigned() {
"presigned url should succeed when used"
);
}
+
+#[test]
+fn with_signature() {
+ let client = Client::shared();
+ let mut request = SignedRequest::new("GET", "sts", &Region::UsEast1, "/");
+ let mut params = Params::new();
+ params.put("Action", "GetCallerIdentity");
+ params.put("Version", "2011-06-15");
+ request.set_params(params);
+ let response = client
+ .sign_and_dispatch:: {
- credentials_provider: Arc ,
+ credentials_provider: Option Imports a signed private CA certificate into ACM Private CA. This action is used when you are using a chain of trust whose root is located outside ACM Private CA. Before you can call this action, the following preparations must in place: In ACM Private CA, call the CreateCertificateAuthority action to create the private CA that that you plan to back with the imported certificate. Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR). Sign the CSR using a root or intermediate CA hosted either by an on-premises PKI hierarchy or a commercial CA.. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory. The following requirements apply when you import a CA certificate. You cannot import a non-self-signed certificate for use as a root CA. You cannot import a self-signed certificate for use as a subordinate CA. Your certificate chain must not include the private CA certificate that you are importing. Your ACM Private CA-hosted or on-premises CA certificate must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built. The chain must be PEM-encoded.(&self, serializer: S) -> Result
Uses your private certificate authority (CA) to issue a client certificate. This operation returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate operation and specifying the ARN.
You cannot use the ACM ListCertificateAuthorities operation to retrieve the ARNs of the certificates that you issue by using ACM PCA.
Uses your private certificate authority (CA) to issue a client certificate. This action returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate action and specifying the ARN.
You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the certificates that you issue by using ACM Private CA.
Lists the private certificate authorities that you created by using the CreateCertificateAuthority operation.
+ ///Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.
fn list_certificate_authorities( &self, input: ListCertificateAuthoritiesRequest, ) -> RusotoFutureLists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission operation and revoked with the DeletePermission operation.
+ ///Lists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission action and revoked with the DeletePermission action.
fn list_permissions( &self, input: ListPermissionsRequest, ) -> RusotoFutureLists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority operation to add one or more tags to your CA. Call the UntagCertificateAuthority operation to remove tags.
+ ///Lists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority action to add one or more tags to your CA. Call the UntagCertificateAuthority action to remove tags.
fn list_tags(&self, input: ListTagsRequest) -> RusotoFutureRestores a certificate authority (CA) that is in the DELETED
state. You can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority operation. Currently, you can specify 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at any time in a 30 day period. You can check the time remaining in the restoration period of a private CA in the DELETED
state by calling the DescribeCertificateAuthority or ListCertificateAuthorities operations. The status of a restored CA is set to its pre-deletion status when the RestoreCertificateAuthority operation returns. To change its status to ACTIVE
, call the UpdateCertificateAuthority operation. If the private CA was in the PENDING_CERTIFICATE
state at deletion, you must use the ImportCertificateAuthorityCertificate operation to import a certificate authority into the private CA before it can be activated. You cannot restore a CA after the restoration period has ended.
Restores a certificate authority (CA) that is in the DELETED
state. You can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at any time in a 30 day period. You can check the time remaining in the restoration period of a private CA in the DELETED
state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set to its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to ACTIVE
, call the UpdateCertificateAuthority action. If the private CA was in the PENDING_CERTIFICATE
state at deletion, you must use the ImportCertificateAuthorityCertificate action to import a certificate authority into the private CA before it can be activated. You cannot restore a CA after the restoration period has ended.
Revokes a certificate that you issued by calling the IssueCertificate operation. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM PCA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM PCA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport.
+ ///Revokes a certificate that was issued inside ACM Private CA. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM Private CA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM Private CA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport.
You cannot revoke a root CA self-signed certificate.
Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority operation. Call the ListTags operation to see what tags are associated with your CA.
+ ///Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority action. Call the ListTags action to see what tags are associated with your CA.
fn tag_certificate_authority( &self, input: TagCertificateAuthorityRequest, ) -> RusotoFuture<(), TagCertificateAuthorityError>; - ///Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this operation, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags operation to see what tags are associated with your CA.
+ ///Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this action, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to see what tags are associated with your CA.
fn untag_certificate_authority( &self, input: UntagCertificateAuthorityRequest, @@ -1983,10 +2007,7 @@ impl AcmPcaClient { /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> AcmPcaClient { - AcmPcaClient { - client: Client::shared(), - region, - } + Self::new_with_client(Client::shared(), region) } pub fn new_with( @@ -2000,15 +2021,19 @@ impl AcmPcaClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - AcmPcaClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client(client: Client, region: region::Region) -> AcmPcaClient { + AcmPcaClient { client, region } } } impl AcmPca for AcmPcaClient { - ///
Creates a private subordinate certificate authority (CA). You must specify the CA configuration, the revocation configuration, the CA type, and an optional idempotency token. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses to sign, and X.500 subject information. The CRL (certificate revocation list) configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this operation returns the Amazon Resource Name (ARN) of the CA.
+ ///Creates a root or subordinate private certificate authority (CA). You must specify the CA configuration, the certificate revocation list (CRL) configuration, the CA type, and an optional idempotency token to avoid accidental creation of multiple CAs. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses, and X.500 subject information. The CRL configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this action returns the Amazon Resource Name (ARN) of the CA.
fn create_certificate_authority( &self, input: CreateCertificateAuthorityRequest, @@ -2034,7 +2059,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate operations use the private key. You can generate a new report every 30 minutes.
+ ///Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the private key.
fn create_certificate_authority_audit_report( &self, input: CreateCertificateAuthorityAuditReportRequest, @@ -2068,7 +2093,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Assigns permissions from a private CA to a designated AWS service. Services are specified by their service principals and can be given permission to create and retrieve certificates on a private CA. Services can also be given permission to list the active permissions that the private CA has granted. For ACM to automatically renew your private CA's certificates, you must assign all possible permissions from the CA to the ACM service principal.
At this time, you can only assign permissions to ACM (acm.amazonaws.com
). Permissions can be revoked with the DeletePermission operation and listed with the ListPermissions operation.
Assigns permissions from a private CA to a designated AWS service. Services are specified by their service principals and can be given permission to create and retrieve certificates on a private CA. Services can also be given permission to list the active permissions that the private CA has granted. For ACM to automatically renew your private CA's certificates, you must assign all possible permissions from the CA to the ACM service principal.
At this time, you can only assign permissions to ACM (acm.amazonaws.com
). Permissions can be revoked with the DeletePermission action and listed with the ListPermissions action.
Deletes a private certificate authority (CA). You must provide the ARN (Amazon Resource Name) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities operation. Before you can delete a CA, you must disable it. Call the UpdateCertificateAuthority operation and set the CertificateAuthorityStatus parameter to DISABLED
.
Additionally, you can delete a CA if you are waiting for it to be created (the Status field of the CertificateAuthority is CREATING
). You can also delete it if the CA has been created but you haven't yet imported the signed certificate (the Status is PENDING_CERTIFICATE
) into ACM PCA.
If the CA is in one of the previously mentioned states and you call DeleteCertificateAuthority, the CA's status changes to DELETED
. However, the CA won't be permanently deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays
parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority operation returns the time remaining in the restoration window of a Private CA in the DELETED
state. To restore an eligible CA, call the RestoreCertificateAuthority operation.
Deletes a private certificate authority (CA). You must provide the Amazon Resource Name (ARN) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities action.
Deleting a CA will invalidate other CAs and certificates below it in your CA hierarchy.
Before you can delete a CA that you have created and activated, you must disable it. To do this, call the UpdateCertificateAuthority action and set the CertificateAuthorityStatus parameter to DISABLED
.
Additionally, you can delete a CA if you are waiting for it to be created (that is, the status of the CA is CREATING
). You can also delete it if the CA has been created but you haven't yet imported the signed certificate into ACM Private CA (that is, the status of the CA is PENDING_CERTIFICATE
).
When you successfully call DeleteCertificateAuthority, the CA's status changes to DELETED
. However, the CA won't be permanently deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays
parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the restoration window of a private CA in the DELETED
state. To restore an eligible CA, call the RestoreCertificateAuthority action.
Revokes permissions that a private CA assigned to a designated AWS service. Permissions can be created with the CreatePermission operation and listed with the ListPermissions operation.
+ ///Revokes permissions that a private CA assigned to a designated AWS service. Permissions can be created with the CreatePermission action and listed with the ListPermissions action.
fn delete_permission( &self, input: DeletePermissionRequest, @@ -2143,7 +2168,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following:
CREATING
- ACM PCA is creating your private certificate authority.
PENDING_CERTIFICATE
- The certificate is pending. You must use your on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA.
ACTIVE
- Your private CA is active.
DISABLED
- Your private CA has been disabled.
EXPIRED
- Your private CA certificate has expired.
FAILED
- Your private CA has failed. Your CA can fail because of problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA.
DELETED
- Your private CA is within the restoration period, after which it is permanently deleted. The length of time remaining in the CA's restoration period is also included in this operation's output.
Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following:
CREATING
- ACM Private CA is creating your private certificate authority.
PENDING_CERTIFICATE
- The certificate is pending. You must use your ACM Private CA-hosted or on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA.
ACTIVE
- Your private CA is active.
DISABLED
- Your private CA has been disabled.
EXPIRED
- Your private CA certificate has expired.
FAILED
- Your private CA has failed. Your CA can fail because of problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA.
DELETED
- Your private CA is within the restoration period, after which it is permanently deleted. The length of time remaining in the CA's restoration period is also included in this action's output.
Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport operation. Audit information is created every time the certificate authority (CA) private key is used. The private key is used when you call the IssueCertificate operation or the RevokeCertificate operation.
+ ///Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is created every time the certificate authority (CA) private key is used. The private key is used when you call the IssueCertificate action or the RevokeCertificate action.
fn describe_certificate_authority_audit_report( &self, input: DescribeCertificateAuthorityAuditReportRequest, @@ -2203,7 +2228,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Retrieves a certificate from your private CA. The ARN of the certificate is returned when you call the IssueCertificate operation. You must specify both the ARN of your private CA and the ARN of the issued certificate when calling the GetCertificate operation. You can retrieve the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport operation to create a report that contains information about all of the certificates issued and revoked by your private CA.
+ ///Retrieves a certificate from your private CA. The ARN of the certificate is returned when you call the IssueCertificate action. You must specify both the ARN of your private CA and the ARN of the issued certificate when calling the GetCertificate action. You can retrieve the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport action to create a report that contains information about all of the certificates issued and revoked by your private CA.
fn get_certificate( &self, input: GetCertificateRequest, @@ -2266,7 +2291,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority operation. Take the CSR to your on-premises X.509 infrastructure and sign it by using your root or a subordinate CA. Then import the signed certificate back into ACM PCA by calling the ImportCertificateAuthorityCertificate operation. The CSR is returned as a base64 PEM-encoded string.
+ ///Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority action. Sign the CSR with your ACM Private CA-hosted or on-premises root or subordinate CA. Then import the signed certificate back into ACM Private CA by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a base64 PEM-encoded string.
fn get_certificate_authority_csr( &self, input: GetCertificateAuthorityCsrRequest, @@ -2292,7 +2317,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Imports your signed private CA certificate into ACM PCA. Before you can call this operation, you must create the private certificate authority by calling the CreateCertificateAuthority operation. You must then generate a certificate signing request (CSR) by calling the GetCertificateAuthorityCsr operation. Take the CSR to your on-premises CA and use the root certificate or a subordinate certificate to sign it. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.
Your certificate chain must not include the private CA certificate that you are importing.
Your on-premises CA certificate must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built.
The chain must be PEM-encoded.
Imports a signed private CA certificate into ACM Private CA. This action is used when you are using a chain of trust whose root is located outside ACM Private CA. Before you can call this action, the following preparations must in place:
In ACM Private CA, call the CreateCertificateAuthority action to create the private CA that that you plan to back with the imported certificate.
Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR).
Sign the CSR using a root or intermediate CA hosted either by an on-premises PKI hierarchy or a commercial CA..
Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.
The following requirements apply when you import a CA certificate.
You cannot import a non-self-signed certificate for use as a root CA.
You cannot import a self-signed certificate for use as a subordinate CA.
Your certificate chain must not include the private CA certificate that you are importing.
Your ACM Private CA-hosted or on-premises CA certificate must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built.
The chain must be PEM-encoded.
Uses your private certificate authority (CA) to issue a client certificate. This operation returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate operation and specifying the ARN.
You cannot use the ACM ListCertificateAuthorities operation to retrieve the ARNs of the certificates that you issue by using ACM PCA.
Uses your private certificate authority (CA) to issue a client certificate. This action returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate action and specifying the ARN.
You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the certificates that you issue by using ACM Private CA.
Lists the private certificate authorities that you created by using the CreateCertificateAuthority operation.
+ ///Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.
fn list_certificate_authorities( &self, input: ListCertificateAuthoritiesRequest, @@ -2375,7 +2400,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Lists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission operation and revoked with the DeletePermission operation.
+ ///Lists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission action and revoked with the DeletePermission action.
fn list_permissions( &self, input: ListPermissionsRequest, @@ -2404,7 +2429,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Lists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority operation to add one or more tags to your CA. Call the UntagCertificateAuthority operation to remove tags.
+ ///Lists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority action to add one or more tags to your CA. Call the UntagCertificateAuthority action to remove tags.
fn list_tags(&self, input: ListTagsRequest) -> RusotoFutureRestores a certificate authority (CA) that is in the DELETED
state. You can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority operation. Currently, you can specify 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at any time in a 30 day period. You can check the time remaining in the restoration period of a private CA in the DELETED
state by calling the DescribeCertificateAuthority or ListCertificateAuthorities operations. The status of a restored CA is set to its pre-deletion status when the RestoreCertificateAuthority operation returns. To change its status to ACTIVE
, call the UpdateCertificateAuthority operation. If the private CA was in the PENDING_CERTIFICATE
state at deletion, you must use the ImportCertificateAuthorityCertificate operation to import a certificate authority into the private CA before it can be activated. You cannot restore a CA after the restoration period has ended.
Restores a certificate authority (CA) that is in the DELETED
state. You can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at any time in a 30 day period. You can check the time remaining in the restoration period of a private CA in the DELETED
state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set to its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to ACTIVE
, call the UpdateCertificateAuthority action. If the private CA was in the PENDING_CERTIFICATE
state at deletion, you must use the ImportCertificateAuthorityCertificate action to import a certificate authority into the private CA before it can be activated. You cannot restore a CA after the restoration period has ended.
Revokes a certificate that you issued by calling the IssueCertificate operation. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM PCA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM PCA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport.
+ ///Revokes a certificate that was issued inside ACM Private CA. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM Private CA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM Private CA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport.
You cannot revoke a root CA self-signed certificate.
Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority operation. Call the ListTags operation to see what tags are associated with your CA.
+ ///Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority action. Call the ListTags action to see what tags are associated with your CA.
fn tag_certificate_authority( &self, input: TagCertificateAuthorityRequest, @@ -2502,7 +2527,7 @@ impl AcmPca for AcmPcaClient { }) } - ///Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this operation, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags operation to see what tags are associated with your CA.
+ ///Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this action, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to see what tags are associated with your CA.
fn untag_certificate_authority( &self, input: UntagCertificateAuthorityRequest, diff --git a/rusoto/services/acm-pca/src/lib.rs b/rusoto/services/acm-pca/src/lib.rs index c12ee71f6f9..6dea8e76ce6 100644 --- a/rusoto/services/acm-pca/src/lib.rs +++ b/rusoto/services/acm-pca/src/lib.rs @@ -12,7 +12,7 @@ // ================================================================= #![doc(html_logo_url = "https://raw.githubusercontent.com/rusoto/rusoto/master/assets/logo-square.png")] -//!You can use the ACM PCA API to create a private certificate authority (CA). You must first call the CreateCertificateAuthority operation. If successful, the operation returns an Amazon Resource Name (ARN) for your private CA. Use this ARN as input to the GetCertificateAuthorityCsr operation to retrieve the certificate signing request (CSR) for your private CA certificate. Sign the CSR using the root or an intermediate CA in your on-premises PKI hierarchy, and call the ImportCertificateAuthorityCertificate to import your signed private CA certificate into ACM PCA.
Use your private CA to issue and revoke certificates. These are private certificates that identify and secure client computers, servers, applications, services, devices, and users over SSLS/TLS connections within your organization. Call the IssueCertificate operation to issue a certificate. Call the RevokeCertificate operation to revoke a certificate.
Certificates issued by your private CA can be trusted only within your organization, not publicly.
Your private CA can optionally create a certificate revocation list (CRL) to track the certificates you revoke. To create a CRL, you must specify a RevocationConfiguration object when you call the CreateCertificateAuthority operation. ACM PCA writes the CRL to an S3 bucket that you specify. You must specify a bucket policy that grants ACM PCA write permission.
You can also call the CreateCertificateAuthorityAuditReport to create an optional audit report, which enumerates all of the issued, valid, expired, and revoked certificates from the CA.
Each ACM PCA API operation has a throttling limit which determines the number of times the operation can be called per second. For more information, see API Rate Limits in ACM PCA in the ACM PCA user guide.
This is the ACM Private CA API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types involved in creating and managing private certificate authorities (CA) for your organization.
The documentation for each action shows the Query API request parameters and the XML response. Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs.
Each ACM Private CA API action has a throttling limit which determines the number of times the action can be called per second. For more information, see API Rate Limits in ACM Private CA in the ACM Private CA user guide.
Contains metadata about an ACM certificate. This structure is returned in the response to a DescribeCertificate request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CertificateDetail { ///The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.
#[serde(rename = "CertificateArn")] @@ -155,7 +154,7 @@ pub struct CertificateOptions { ///This structure is returned in the response object of ListCertificates action.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CertificateSummary { ///Amazon Resource Name (ARN) of the certificate. This is of the form:
arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012
For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.
#[serde(rename = "CertificateArn")] @@ -182,7 +181,7 @@ pub struct DescribeCertificateRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeCertificateResponse { ///Metadata about an ACM certificate.
#[serde(rename = "Certificate")] @@ -192,7 +191,7 @@ pub struct DescribeCertificateResponse { ///Contains information about the validation of each domain name in the certificate.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DomainValidation { ///A fully qualified domain name (FQDN) in the certificate. For example, www.example.com
or example.com
.
The base64 PEM-encoded certificate.
#[serde(rename = "Certificate")] @@ -264,7 +263,7 @@ pub struct ExportCertificateResponse { ///The Extended Key Usage X.509 v3 extension defines one or more purposes for which the public key can be used. This is in addition to or in place of the basic purposes specified by the Key Usage extension.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ExtendedKeyUsage { ///The name of an Extended Key Usage value.
#[serde(rename = "Name")] @@ -301,7 +300,7 @@ pub struct GetCertificateRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetCertificateResponse { ///String that contains the ACM certificate represented by the ARN specified at input.
#[serde(rename = "Certificate")] @@ -347,7 +346,7 @@ pub struct ImportCertificateRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ImportCertificateResponse { ///The Amazon Resource Name (ARN) of the imported certificate.
#[serde(rename = "CertificateArn")] @@ -357,7 +356,7 @@ pub struct ImportCertificateResponse { ///The Key Usage X.509 v3 extension defines the purpose of the public key contained in the certificate.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct KeyUsage { ///A string value that contains a Key Usage extension name.
#[serde(rename = "Name")] @@ -386,7 +385,7 @@ pub struct ListCertificatesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListCertificatesResponse { ///A list of ACM certificates.
#[serde(rename = "CertificateSummaryList")] @@ -406,7 +405,7 @@ pub struct ListTagsForCertificateRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListTagsForCertificateResponse { ///The key-value pairs that define the applied tags.
#[serde(rename = "Tags")] @@ -433,7 +432,7 @@ pub struct RenewCertificateRequest { ///Contains information about the status of ACM's managed renewal for the certificate. This structure exists only when the certificate type is AMAZON_ISSUED
.
Contains information about the validation of each domain name in the certificate, as it pertains to ACM's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED
.
String that contains the ARN of the issued certificate. This must be of the form:
arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
Contains a DNS record value that you can use to can use to validate ownership or control of a domain. This is used by the DescribeCertificate action.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ResourceRecord { ///The name of the DNS record to create in your domain. This is supplied by ACM.
#[serde(rename = "Name")] @@ -1223,10 +1222,7 @@ impl AcmClient { /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> AcmClient { - AcmClient { - client: Client::shared(), - region, - } + Self::new_with_client(Client::shared(), region) } pub fn new_with( @@ -1240,10 +1236,14 @@ impl AcmClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - AcmClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client(client: Client, region: region::Region) -> AcmClient { + AcmClient { client, region } } } diff --git a/rusoto/services/alexaforbusiness/Cargo.toml b/rusoto/services/alexaforbusiness/Cargo.toml index cd051e98060..a7723b09ea6 100644 --- a/rusoto/services/alexaforbusiness/Cargo.toml +++ b/rusoto/services/alexaforbusiness/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT" name = "rusoto_alexaforbusiness" readme = "README.md" repository = "https://github.com/rusoto/rusoto" -version = "0.40.0" +version = "0.41.0" homepage = "https://www.rusoto.org/" edition = "2018" exclude = ["test_resources/*"] @@ -22,14 +22,16 @@ serde_derive = "1.0.2" serde_json = "1.0.1" [dependencies.rusoto_core] -version = "0.40.0" +version = "0.41.0" path = "../../core" default-features = false [dev-dependencies.rusoto_mock] -version = "0.40.0" +version = "0.41.0" path = "../../../mock" +default-features = false [features] default = ["native-tls"] native-tls = ["rusoto_core/native-tls"] rustls = ["rusoto_core/rustls"] +serialize_structs = [] diff --git a/rusoto/services/alexaforbusiness/README.md b/rusoto/services/alexaforbusiness/README.md index c73c315eaae..880054ef944 100644 --- a/rusoto/services/alexaforbusiness/README.md +++ b/rusoto/services/alexaforbusiness/README.md @@ -23,9 +23,16 @@ To use `rusoto_alexaforbusiness` in your application, add it as a dependency in ```toml [dependencies] -rusoto_alexaforbusiness = "0.40.0" +rusoto_alexaforbusiness = "0.41.0" ``` +## Crate Features +- `native-tls` - use platform-specific TLS implementation. +- `rustls` - use rustls TLS implementation. +- `serialize_structs` - output structs of most operations get `derive(Serialize)`. + +Note: the crate will use the `native-tls` TLS implementation by default. + ## Contributing See [CONTRIBUTING][contributing]. diff --git a/rusoto/services/alexaforbusiness/src/custom/mod.rs b/rusoto/services/alexaforbusiness/src/custom/mod.rs index e69de29bb2d..8b137891791 100644 --- a/rusoto/services/alexaforbusiness/src/custom/mod.rs +++ b/rusoto/services/alexaforbusiness/src/custom/mod.rs @@ -0,0 +1 @@ + diff --git a/rusoto/services/alexaforbusiness/src/generated.rs b/rusoto/services/alexaforbusiness/src/generated.rs index f47465690ae..7622964876c 100644 --- a/rusoto/services/alexaforbusiness/src/generated.rs +++ b/rusoto/services/alexaforbusiness/src/generated.rs @@ -9,24 +9,23 @@ // must be updated to generate the changes. // // ================================================================= +#![allow(warnings)] -use std::error::Error; -use std::fmt; - -#[allow(warnings)] use futures::future; use futures::Future; use rusoto_core::credential::ProvideAwsCredentials; use rusoto_core::region; use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest}; use rusoto_core::{Client, RusotoError, RusotoFuture}; +use std::error::Error; +use std::fmt; use rusoto_core::proto; use rusoto_core::signature::SignedRequest; use serde_json; ///
An address book with attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AddressBook { ///The ARN of the address book.
#[serde(rename = "AddressBookArn")] @@ -44,7 +43,7 @@ pub struct AddressBook { ///Information related to an address book.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AddressBookData { ///The ARN of the address book.
#[serde(rename = "AddressBookArn")] @@ -68,7 +67,7 @@ pub struct ApproveSkillRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ApproveSkillResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -82,7 +81,7 @@ pub struct AssociateContactWithAddressBookRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateContactWithAddressBookResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -96,7 +95,7 @@ pub struct AssociateDeviceWithNetworkProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateDeviceWithNetworkProfileResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -112,7 +111,7 @@ pub struct AssociateDeviceWithRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateDeviceWithRoomResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -128,7 +127,7 @@ pub struct AssociateSkillGroupWithRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateSkillGroupWithRoomResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -143,7 +142,7 @@ pub struct AssociateSkillWithSkillGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateSkillWithSkillGroupResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -154,7 +153,7 @@ pub struct AssociateSkillWithUsersRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateSkillWithUsersResponse {} ///The audio message. There is a 1 MB limit on the audio file input and the only supported format is MP3. To convert your MP3 audio files to an Alexa-friendly,
required codec version (MPEG version 2) and bit rate (48 kbps), you might use converter software. One option for this is a command-line tool, FFmpeg. For more information, see FFmpeg. The following command converts the provided <input-file> to an MP3 file that is played in the announcement:
ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output-file.mp3>
Usage report with specified parameters.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct BusinessReport { ///The time of report delivery.
#[serde(rename = "DeliveryTime")] @@ -214,7 +213,7 @@ pub struct BusinessReportRecurrence { ///The S3 location of the output reports.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct BusinessReportS3Location { ///The S3 bucket name of the output reports.
#[serde(rename = "BucketName")] @@ -228,7 +227,7 @@ pub struct BusinessReportS3Location { ///The schedule of the usage report.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct BusinessReportSchedule { ///The content range of the reports.
#[serde(rename = "ContentRange")] @@ -266,7 +265,7 @@ pub struct BusinessReportSchedule { ///The skill store category that is shown. Alexa skills are assigned a specific skill category during creation, such as News, Social, and Sports.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Category { ///The ID of the skill store category.
#[serde(rename = "CategoryId")] @@ -289,7 +288,7 @@ pub struct ConferencePreference { ///An entity that provides a conferencing solution. Alexa for Business acts as the voice interface and mediator that connects users to their preferred conference provider. Examples of conference providers include Amazon Chime, Zoom, Cisco, and Polycom.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ConferenceProvider { ///The ARN of the newly created conference provider.
#[serde(rename = "Arn")] @@ -319,7 +318,7 @@ pub struct ConferenceProvider { ///A contact with attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Contact { ///The ARN of the contact.
#[serde(rename = "ContactArn")] @@ -337,15 +336,23 @@ pub struct Contact { #[serde(rename = "LastName")] #[serde(skip_serializing_if = "Option::is_none")] pub last_name: OptionThe phone number of the contact.
+ ///The phone number of the contact. The phone number type defaults to WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.
#[serde(rename = "PhoneNumber")] #[serde(skip_serializing_if = "Option::is_none")] pub phone_number: OptionThe list of phone numbers for the contact.
+ #[serde(rename = "PhoneNumbers")] + #[serde(skip_serializing_if = "Option::is_none")] + pub phone_numbers: OptionThe list of SIP addresses for the contact.
+ #[serde(rename = "SipAddresses")] + #[serde(skip_serializing_if = "Option::is_none")] + pub sip_addresses: OptionInformation related to a contact.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ContactData { ///The ARN of the contact.
#[serde(rename = "ContactArn")] @@ -363,10 +370,18 @@ pub struct ContactData { #[serde(rename = "LastName")] #[serde(skip_serializing_if = "Option::is_none")] pub last_name: OptionThe phone number of the contact.
+ ///The phone number of the contact. The phone number type defaults to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.
#[serde(rename = "PhoneNumber")] #[serde(skip_serializing_if = "Option::is_none")] pub phone_number: OptionThe list of phone numbers for the contact.
+ #[serde(rename = "PhoneNumbers")] + #[serde(skip_serializing_if = "Option::is_none")] + pub phone_numbers: OptionThe list of SIP addresses for the contact.
+ #[serde(rename = "SipAddresses")] + #[serde(skip_serializing_if = "Option::is_none")] + pub sip_addresses: OptionThe content definition. This can contain only one text, SSML, or audio list object.
@@ -402,7 +417,7 @@ pub struct CreateAddressBookRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateAddressBookResponse { ///The ARN of the newly created address book.
#[serde(rename = "AddressBookArn")] @@ -441,7 +456,7 @@ pub struct CreateBusinessReportScheduleRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateBusinessReportScheduleResponse { ///The ARN of the business report schedule.
#[serde(rename = "ScheduleArn")] @@ -475,7 +490,7 @@ pub struct CreateConferenceProviderRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateConferenceProviderResponse { ///The ARN of the newly-created conference provider.
#[serde(rename = "ConferenceProviderArn")] @@ -500,14 +515,22 @@ pub struct CreateContactRequest { #[serde(rename = "LastName")] #[serde(skip_serializing_if = "Option::is_none")] pub last_name: OptionThe phone number of the contact in E.164 format.
+ ///The phone number of the contact in E.164 format. The phone number type defaults to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.
#[serde(rename = "PhoneNumber")] #[serde(skip_serializing_if = "Option::is_none")] pub phone_number: OptionThe list of phone numbers for the contact.
+ #[serde(rename = "PhoneNumbers")] + #[serde(skip_serializing_if = "Option::is_none")] + pub phone_numbers: OptionThe list of SIP addresses for the contact.
+ #[serde(rename = "SipAddresses")] + #[serde(skip_serializing_if = "Option::is_none")] + pub sip_addresses: OptionThe ARN of the newly created address book.
#[serde(rename = "ContactArn")] @@ -530,7 +553,7 @@ pub struct CreateGatewayGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateGatewayGroupResponse { ///The ARN of the created gateway group.
#[serde(rename = "GatewayGroupArn")] @@ -578,7 +601,7 @@ pub struct CreateNetworkProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateNetworkProfileResponse { ///The ARN of the network profile associated with a device.
#[serde(rename = "NetworkProfileArn")] @@ -598,6 +621,10 @@ pub struct CreateProfileRequest { ///The distance unit to be used by devices in the profile.
#[serde(rename = "DistanceUnit")] pub distance_unit: String, + ///The locale of the room profile.
+ #[serde(rename = "Locale")] + #[serde(skip_serializing_if = "Option::is_none")] + pub locale: OptionThe maximum volume limit for a room profile.
#[serde(rename = "MaxVolumeLimit")] #[serde(skip_serializing_if = "Option::is_none")] @@ -625,7 +652,7 @@ pub struct CreateProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateProfileResponse { ///The ARN of the newly created room profile in the response.
#[serde(rename = "ProfileArn")] @@ -661,7 +688,7 @@ pub struct CreateRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateRoomResponse { ///The ARN of the newly created room in the response.
#[serde(rename = "RoomArn")] @@ -685,7 +712,7 @@ pub struct CreateSkillGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateSkillGroupResponse { ///The ARN of the newly created skill group in the response.
#[serde(rename = "SkillGroupArn")] @@ -721,7 +748,7 @@ pub struct CreateUserRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateUserResponse { ///The ARN of the newly created user in the response.
#[serde(rename = "UserArn")] @@ -737,7 +764,7 @@ pub struct DeleteAddressBookRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteAddressBookResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -748,7 +775,7 @@ pub struct DeleteBusinessReportScheduleRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteBusinessReportScheduleResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -759,7 +786,7 @@ pub struct DeleteConferenceProviderRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteConferenceProviderResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -770,7 +797,7 @@ pub struct DeleteContactRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteContactResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -781,7 +808,7 @@ pub struct DeleteDeviceRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteDeviceResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -795,7 +822,7 @@ pub struct DeleteDeviceUsageDataRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteDeviceUsageDataResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -806,7 +833,7 @@ pub struct DeleteGatewayGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteGatewayGroupResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -817,7 +844,7 @@ pub struct DeleteNetworkProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteNetworkProfileResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -829,7 +856,7 @@ pub struct DeleteProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteProfileResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -841,7 +868,7 @@ pub struct DeleteRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteRoomResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -859,7 +886,7 @@ pub struct DeleteRoomSkillParameterRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteRoomSkillParameterResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -874,7 +901,7 @@ pub struct DeleteSkillAuthorizationRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteSkillAuthorizationResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -886,7 +913,7 @@ pub struct DeleteSkillGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteSkillGroupResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -901,12 +928,12 @@ pub struct DeleteUserRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteUserResponse {} ///The details about the developer that published the skill.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeveloperInfo { ///The name of the developer.
#[serde(rename = "DeveloperName")] @@ -928,7 +955,7 @@ pub struct DeveloperInfo { ///A device with attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Device { ///The ARN of a device.
#[serde(rename = "DeviceArn")] @@ -974,7 +1001,7 @@ pub struct Device { ///Device attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeviceData { ///The ARN of a device.
#[serde(rename = "DeviceArn")] @@ -1028,7 +1055,7 @@ pub struct DeviceData { ///The list of device events.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeviceEvent { ///The time (in epoch) when the event occurred.
#[serde(rename = "Timestamp")] @@ -1046,7 +1073,7 @@ pub struct DeviceEvent { ///Detailed information about a device's network profile.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeviceNetworkProfileInfo { ///The ARN of the certificate associated with a device.
#[serde(rename = "CertificateArn")] @@ -1064,7 +1091,7 @@ pub struct DeviceNetworkProfileInfo { ///Details of a device’s status.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeviceStatusDetail { ///The device status detail code.
#[serde(rename = "Code")] @@ -1078,7 +1105,7 @@ pub struct DeviceStatusDetail { ///Detailed information about a device's status.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeviceStatusInfo { ///The latest available information about the connection status of a device.
#[serde(rename = "ConnectionStatus")] @@ -1101,7 +1128,7 @@ pub struct DisassociateContactFromAddressBookRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DisassociateContactFromAddressBookResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -1113,7 +1140,7 @@ pub struct DisassociateDeviceFromRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DisassociateDeviceFromRoomResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -1128,7 +1155,7 @@ pub struct DisassociateSkillFromSkillGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DisassociateSkillFromSkillGroupResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -1139,7 +1166,7 @@ pub struct DisassociateSkillFromUsersRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DisassociateSkillFromUsersResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -1155,7 +1182,7 @@ pub struct DisassociateSkillGroupFromRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DisassociateSkillGroupFromRoomResponse {} ///A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria.
@@ -1177,12 +1204,12 @@ pub struct ForgetSmartHomeAppliancesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ForgetSmartHomeAppliancesResponse {} ///The details of the gateway.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Gateway { ///The ARN of the gateway.
#[serde(rename = "Arn")] @@ -1208,7 +1235,7 @@ pub struct Gateway { ///The details of the gateway group.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GatewayGroup { ///The ARN of the gateway group.
#[serde(rename = "Arn")] @@ -1226,7 +1253,7 @@ pub struct GatewayGroup { ///The summary of a gateway group.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GatewayGroupSummary { ///The ARN of the gateway group.
#[serde(rename = "Arn")] @@ -1244,7 +1271,7 @@ pub struct GatewayGroupSummary { ///The summary of a gateway.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GatewaySummary { ///The ARN of the gateway.
#[serde(rename = "Arn")] @@ -1276,7 +1303,7 @@ pub struct GetAddressBookRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetAddressBookResponse { ///The details of the requested address book.
#[serde(rename = "AddressBook")] @@ -1288,7 +1315,7 @@ pub struct GetAddressBookResponse { pub struct GetConferencePreferenceRequest {} #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetConferencePreferenceResponse { ///The conference preference.
#[serde(rename = "Preference")] @@ -1304,7 +1331,7 @@ pub struct GetConferenceProviderRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetConferenceProviderResponse { ///The conference provider.
#[serde(rename = "ConferenceProvider")] @@ -1320,7 +1347,7 @@ pub struct GetContactRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetContactResponse { ///The details of the requested contact.
#[serde(rename = "Contact")] @@ -1337,7 +1364,7 @@ pub struct GetDeviceRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetDeviceResponse { ///The details of the device requested. Required.
#[serde(rename = "Device")] @@ -1353,7 +1380,7 @@ pub struct GetGatewayGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetGatewayGroupResponse { #[serde(rename = "GatewayGroup")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1368,7 +1395,7 @@ pub struct GetGatewayRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetGatewayResponse { ///The details of the gateway.
#[serde(rename = "Gateway")] @@ -1380,7 +1407,7 @@ pub struct GetGatewayResponse { pub struct GetInvitationConfigurationRequest {} #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetInvitationConfigurationResponse { ///The email ID of the organization or individual contact that the enrolled user can use.
#[serde(rename = "ContactEmail")] @@ -1404,7 +1431,7 @@ pub struct GetNetworkProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetNetworkProfileResponse { ///The network profile associated with a device.
#[serde(rename = "NetworkProfile")] @@ -1421,7 +1448,7 @@ pub struct GetProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetProfileResponse { ///The details of the room profile requested. Required.
#[serde(rename = "Profile")] @@ -1438,7 +1465,7 @@ pub struct GetRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetRoomResponse { ///The details of the room requested.
#[serde(rename = "Room")] @@ -1461,7 +1488,7 @@ pub struct GetRoomSkillParameterRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetRoomSkillParameterResponse { ///The details of the room skill parameter requested. Required.
#[serde(rename = "RoomSkillParameter")] @@ -1478,7 +1505,7 @@ pub struct GetSkillGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetSkillGroupResponse { ///The details of the skill group requested. Required.
#[serde(rename = "SkillGroup")] @@ -1510,7 +1537,7 @@ pub struct ListBusinessReportSchedulesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListBusinessReportSchedulesResponse { ///The schedule of the reports.
#[serde(rename = "BusinessReportSchedules")] @@ -1535,7 +1562,7 @@ pub struct ListConferenceProvidersRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListConferenceProvidersResponse { ///The conference providers.
#[serde(rename = "ConferenceProviders")] @@ -1567,7 +1594,7 @@ pub struct ListDeviceEventsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListDeviceEventsResponse { ///The device events requested for the device ARN.
#[serde(rename = "DeviceEvents")] @@ -1592,7 +1619,7 @@ pub struct ListGatewayGroupsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListGatewayGroupsResponse { ///The gateway groups in the list.
#[serde(rename = "GatewayGroups")] @@ -1621,7 +1648,7 @@ pub struct ListGatewaysRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListGatewaysResponse { ///The gateways in the list.
#[serde(rename = "Gateways")] @@ -1658,7 +1685,7 @@ pub struct ListSkillsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListSkillsResponse { ///The token returned to indicate that there is more data available.
#[serde(rename = "NextToken")] @@ -1683,7 +1710,7 @@ pub struct ListSkillsStoreCategoriesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListSkillsStoreCategoriesResponse { ///The list of categories.
#[serde(rename = "CategoryList")] @@ -1711,7 +1738,7 @@ pub struct ListSkillsStoreSkillsByCategoryRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListSkillsStoreSkillsByCategoryResponse { ///The tokens used for pagination.
#[serde(rename = "NextToken")] @@ -1739,7 +1766,7 @@ pub struct ListSmartHomeAppliancesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListSmartHomeAppliancesResponse { ///The tokens used for pagination.
#[serde(rename = "NextToken")] @@ -1767,7 +1794,7 @@ pub struct ListTagsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListTagsResponse { ///The token returned to indicate that there is more data available.
#[serde(rename = "NextToken")] @@ -1789,7 +1816,7 @@ pub struct MeetingSetting { ///The network profile associated with a device.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct NetworkProfile { ///The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.
#[serde(rename = "CertificateAuthorityArn")] @@ -1835,7 +1862,7 @@ pub struct NetworkProfile { ///The data associated with a network profile.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct NetworkProfileData { ///The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.
#[serde(rename = "CertificateAuthorityArn")] @@ -1884,9 +1911,20 @@ pub struct PSTNDialIn { pub phone_number: String, } +///The phone number for the contact containing the raw number and phone number type.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct PhoneNumber { + ///The raw value of the phone number.
+ #[serde(rename = "Number")] + pub number: String, + ///The type of the phone number.
+ #[serde(rename = "Type")] + pub type_: String, +} + ///A room profile with attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Profile { ///The address of a room profile.
#[serde(rename = "Address")] @@ -1904,6 +1942,10 @@ pub struct Profile { #[serde(rename = "IsDefault")] #[serde(skip_serializing_if = "Option::is_none")] pub is_default: OptionThe locale of a room profile.
+ #[serde(rename = "Locale")] + #[serde(skip_serializing_if = "Option::is_none")] + pub locale: OptionThe max volume limit of a room profile.
#[serde(rename = "MaxVolumeLimit")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1940,7 +1982,7 @@ pub struct Profile { ///The data of a room profile.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ProfileData { ///The address of a room profile.
#[serde(rename = "Address")] @@ -1954,6 +1996,10 @@ pub struct ProfileData { #[serde(rename = "IsDefault")] #[serde(skip_serializing_if = "Option::is_none")] pub is_default: OptionThe locale of a room profile.
+ #[serde(rename = "Locale")] + #[serde(skip_serializing_if = "Option::is_none")] + pub locale: OptionThe ARN of a room profile.
#[serde(rename = "ProfileArn")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1984,7 +2030,7 @@ pub struct PutConferencePreferenceRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct PutConferencePreferenceResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2003,7 +2049,7 @@ pub struct PutInvitationConfigurationRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct PutInvitationConfigurationResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2021,7 +2067,7 @@ pub struct PutRoomSkillParameterRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct PutRoomSkillParameterResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2039,7 +2085,7 @@ pub struct PutSkillAuthorizationRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct PutSkillAuthorizationResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2062,7 +2108,7 @@ pub struct RegisterAVSDeviceRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct RegisterAVSDeviceResponse { ///The ARN of the device.
#[serde(rename = "DeviceArn")] @@ -2078,7 +2124,7 @@ pub struct RejectSkillRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct RejectSkillResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2092,7 +2138,7 @@ pub struct ResolveRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ResolveRoomResponse { ///The ARN of the room from which the skill request was invoked.
#[serde(rename = "RoomArn")] @@ -2121,12 +2167,12 @@ pub struct RevokeInvitationRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct RevokeInvitationResponse {} ///A room with attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Room { ///The description of a room.
#[serde(rename = "Description")] @@ -2152,7 +2198,7 @@ pub struct Room { ///The data of a room.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct RoomData { ///The description of a room.
#[serde(rename = "Description")] @@ -2212,7 +2258,7 @@ pub struct SearchAddressBooksRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchAddressBooksResponse { ///The address books that meet the specified set of filter criteria, in sort order.
#[serde(rename = "AddressBooks")] @@ -2249,7 +2295,7 @@ pub struct SearchContactsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchContactsResponse { ///The contacts that meet the specified set of filter criteria, in sort order.
#[serde(rename = "Contacts")] @@ -2286,7 +2332,7 @@ pub struct SearchDevicesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchDevicesResponse { ///The devices that meet the specified set of filter criteria, in sort order.
#[serde(rename = "Devices")] @@ -2323,7 +2369,7 @@ pub struct SearchNetworkProfilesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchNetworkProfilesResponse { ///The network profiles that meet the specified set of filter criteria, in sort order. It is a list of NetworkProfileData objects.
#[serde(rename = "NetworkProfiles")] @@ -2360,7 +2406,7 @@ pub struct SearchProfilesRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchProfilesResponse { ///The token returned to indicate that there is more data available.
#[serde(rename = "NextToken")] @@ -2397,7 +2443,7 @@ pub struct SearchRoomsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchRoomsResponse { ///The token returned to indicate that there is more data available.
#[serde(rename = "NextToken")] @@ -2434,7 +2480,7 @@ pub struct SearchSkillGroupsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchSkillGroupsResponse { ///The token returned to indicate that there is more data available.
#[serde(rename = "NextToken")] @@ -2471,7 +2517,7 @@ pub struct SearchUsersRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SearchUsersResponse { ///The token returned to indicate that there is more data available.
#[serde(rename = "NextToken")] @@ -2505,7 +2551,7 @@ pub struct SendAnnouncementRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SendAnnouncementResponse { ///The identifier of the announcement.
#[serde(rename = "AnnouncementArn")] @@ -2522,12 +2568,23 @@ pub struct SendInvitationRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SendInvitationResponse {} +///The SIP address for the contact containing the URI and SIP address type.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct SipAddress { + ///The type of the SIP address.
+ #[serde(rename = "Type")] + pub type_: String, + ///The URI for the SIP address.
+ #[serde(rename = "Uri")] + pub uri: String, +} + ///Granular information about the skill.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SkillDetails { ///The details about what the skill supports organized as bullet points.
#[serde(rename = "BulletPoints")] @@ -2573,7 +2630,7 @@ pub struct SkillDetails { ///A skill group with attributes.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SkillGroup { ///The description of a skill group.
#[serde(rename = "Description")] @@ -2591,7 +2648,7 @@ pub struct SkillGroup { ///The attributes of a skill group.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SkillGroupData { ///The description of a skill group.
#[serde(rename = "Description")] @@ -2609,7 +2666,7 @@ pub struct SkillGroupData { ///The summary of skills.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SkillSummary { ///Whether the skill is enabled under the user's account, or if it requires linking to be used.
#[serde(rename = "EnablementType")] @@ -2635,7 +2692,7 @@ pub struct SkillSummary { ///The detailed information about an Alexa skill.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SkillsStoreSkill { ///The URL where the skill icon resides.
#[serde(rename = "IconUrl")] @@ -2669,7 +2726,7 @@ pub struct SkillsStoreSkill { ///A smart home appliance that can connect to a central system. Any domestic device can be a smart appliance.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SmartHomeAppliance { ///The description of the smart home appliance.
#[serde(rename = "Description")] @@ -2723,7 +2780,7 @@ pub struct StartDeviceSyncRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct StartDeviceSyncResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2734,7 +2791,7 @@ pub struct StartSmartHomeApplianceDiscoveryRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct StartSmartHomeApplianceDiscoveryResponse {} ///A key-value pair that can be associated with a resource.
@@ -2759,7 +2816,7 @@ pub struct TagResourceRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct TagResourceResponse {} ///The text message.
@@ -2784,7 +2841,7 @@ pub struct UntagResourceRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UntagResourceResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2803,7 +2860,7 @@ pub struct UpdateAddressBookRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateAddressBookResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2834,7 +2891,7 @@ pub struct UpdateBusinessReportScheduleRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateBusinessReportScheduleResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2859,7 +2916,7 @@ pub struct UpdateConferenceProviderRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateConferenceProviderResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -2879,14 +2936,22 @@ pub struct UpdateContactRequest { #[serde(rename = "LastName")] #[serde(skip_serializing_if = "Option::is_none")] pub last_name: OptionThe updated phone number of the contact.
+ ///The updated phone number of the contact. The phone number type defaults to WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.
#[serde(rename = "PhoneNumber")] #[serde(skip_serializing_if = "Option::is_none")] pub phone_number: OptionThe list of phone numbers for the contact.
+ #[serde(rename = "PhoneNumbers")] + #[serde(skip_serializing_if = "Option::is_none")] + pub phone_numbers: OptionThe list of SIP addresses for the contact.
+ #[serde(rename = "SipAddresses")] + #[serde(skip_serializing_if = "Option::is_none")] + pub sip_addresses: OptionThe updated locale for the room profile.
+ #[serde(rename = "Locale")] + #[serde(skip_serializing_if = "Option::is_none")] + pub locale: OptionThe updated maximum volume limit for the room profile.
#[serde(rename = "MaxVolumeLimit")] #[serde(skip_serializing_if = "Option::is_none")] @@ -3031,7 +3100,7 @@ pub struct UpdateProfileRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateProfileResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -3059,7 +3128,7 @@ pub struct UpdateRoomRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateRoomResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] @@ -3079,12 +3148,12 @@ pub struct UpdateSkillGroupRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateSkillGroupResponse {} ///Information related to a user.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UserData { ///The email of a user.
#[serde(rename = "Email")] @@ -6734,7 +6803,7 @@ pub trait AlexaForBusiness { input: DeleteDeviceRequest, ) -> RusotoFutureWhen this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data. This action can be called once every 24 hours for a specific shared device.
+ ///When this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data and associated response data. This action can be called once every 24 hours for a specific shared device.
fn delete_device_usage_data( &self, input: DeleteDeviceUsageDataRequest, @@ -7059,7 +7128,7 @@ pub trait AlexaForBusiness { input: SendAnnouncementRequest, ) -> RusotoFutureSends an enrollment invitation email with a URL to a user. The URL is valid for 72 hours or until you call this operation again, whichever comes first.
+ ///Sends an enrollment invitation email with a URL to a user. The URL is valid for 30 days or until you call this operation again, whichever comes first.
fn send_invitation( &self, input: SendInvitationRequest, @@ -7167,10 +7236,7 @@ impl AlexaForBusinessClient { /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> AlexaForBusinessClient { - AlexaForBusinessClient { - client: Client::shared(), - region, - } + Self::new_with_client(Client::shared(), region) } pub fn new_with( @@ -7184,10 +7250,14 @@ impl AlexaForBusinessClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - AlexaForBusinessClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client(client: Client, region: region::Region) -> AlexaForBusinessClient { + AlexaForBusinessClient { client, region } } } @@ -7825,7 +7895,7 @@ impl AlexaForBusiness for AlexaForBusinessClient { }) } - ///
When this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data. This action can be called once every 24 hours for a specific shared device.
+ ///When this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data and associated response data. This action can be called once every 24 hours for a specific shared device.
fn delete_device_usage_data( &self, input: DeleteDeviceUsageDataRequest, @@ -9390,7 +9460,7 @@ impl AlexaForBusiness for AlexaForBusinessClient { }) } - ///Sends an enrollment invitation email with a URL to a user. The URL is valid for 72 hours or until you call this operation again, whichever comes first.
+ ///Sends an enrollment invitation email with a URL to a user. The URL is valid for 30 days or until you call this operation again, whichever comes first.
fn send_invitation( &self, input: SendInvitationRequest, diff --git a/rusoto/services/amplify/Cargo.toml b/rusoto/services/amplify/Cargo.toml index 19648458335..29852247f51 100644 --- a/rusoto/services/amplify/Cargo.toml +++ b/rusoto/services/amplify/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT" name = "rusoto_amplify" readme = "README.md" repository = "https://github.com/rusoto/rusoto" -version = "0.40.0" +version = "0.41.0" homepage = "https://www.rusoto.org/" edition = "2018" exclude = ["test_resources/*"] @@ -22,14 +22,16 @@ serde_derive = "1.0.2" serde_json = "1.0.1" [dependencies.rusoto_core] -version = "0.40.0" +version = "0.41.0" path = "../../core" default-features = false [dev-dependencies.rusoto_mock] -version = "0.40.0" +version = "0.41.0" path = "../../../mock" +default-features = false [features] default = ["native-tls"] native-tls = ["rusoto_core/native-tls"] rustls = ["rusoto_core/rustls"] +serialize_structs = [] diff --git a/rusoto/services/amplify/README.md b/rusoto/services/amplify/README.md index e402a9771d8..2b14952c3a0 100644 --- a/rusoto/services/amplify/README.md +++ b/rusoto/services/amplify/README.md @@ -23,9 +23,16 @@ To use `rusoto_amplify` in your application, add it as a dependency in your `Car ```toml [dependencies] -rusoto_amplify = "0.40.0" +rusoto_amplify = "0.41.0" ``` +## Crate Features +- `native-tls` - use platform-specific TLS implementation. +- `rustls` - use rustls TLS implementation. +- `serialize_structs` - output structs of most operations get `derive(Serialize)`. + +Note: the crate will use the `native-tls` TLS implementation by default. + ## Contributing See [CONTRIBUTING][contributing]. diff --git a/rusoto/services/amplify/src/custom/mod.rs b/rusoto/services/amplify/src/custom/mod.rs index e69de29bb2d..8b137891791 100644 --- a/rusoto/services/amplify/src/custom/mod.rs +++ b/rusoto/services/amplify/src/custom/mod.rs @@ -0,0 +1 @@ + diff --git a/rusoto/services/amplify/src/generated.rs b/rusoto/services/amplify/src/generated.rs index 41983c43eda..7adf0f1379b 100644 --- a/rusoto/services/amplify/src/generated.rs +++ b/rusoto/services/amplify/src/generated.rs @@ -9,17 +9,16 @@ // must be updated to generate the changes. // // ================================================================= +#![allow(warnings)] -use std::error::Error; -use std::fmt; - -#[allow(warnings)] use futures::future; use futures::Future; use rusoto_core::credential::ProvideAwsCredentials; use rusoto_core::region; use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest}; use rusoto_core::{Client, RusotoError, RusotoFuture}; +use std::error::Error; +use std::fmt; use rusoto_core::param::{Params, ServiceParams}; use rusoto_core::proto; @@ -27,7 +26,7 @@ use rusoto_core::signature::SignedRequest; use serde_json; ///Amplify App represents different branches of a repository for building, deploying, and hosting.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct App { ///ARN for the Amplify App.
#[serde(rename = "appArn")] @@ -35,6 +34,14 @@ pub struct App { ///Unique Id for the Amplify App.
#[serde(rename = "appId")] pub app_id: String, + ///Automated branch creation config for the Amplify App.
+ #[serde(rename = "autoBranchCreationConfig")] + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_branch_creation_config: OptionAutomated branch creation glob patterns for the Amplify App.
+ #[serde(rename = "autoBranchCreationPatterns")] + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_branch_creation_patterns: OptionBasic Authorization credentials for branches for the Amplify App.
#[serde(rename = "basicAuthCredentials")] #[serde(skip_serializing_if = "Option::is_none")] @@ -56,6 +63,10 @@ pub struct App { ///Description for the Amplify App.
#[serde(rename = "description")] pub description: String, + ///Enables automated branch creation for the Amplify App.
+ #[serde(rename = "enableAutoBranchCreation")] + #[serde(skip_serializing_if = "Option::is_none")] + pub enable_auto_branch_creation: OptionEnables Basic Authorization for branches for the Amplify App.
#[serde(rename = "enableBasicAuth")] pub enable_basic_auth: bool, @@ -91,13 +102,50 @@ pub struct App { pub update_time: f64, } +///Structure with auto branch creation config.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AutoBranchCreationConfig { + ///Basic Authorization credentials for the auto created branch.
+ #[serde(rename = "basicAuthCredentials")] + #[serde(skip_serializing_if = "Option::is_none")] + pub basic_auth_credentials: OptionBuildSpec for the auto created branch.
+ #[serde(rename = "buildSpec")] + #[serde(skip_serializing_if = "Option::is_none")] + pub build_spec: OptionEnables auto building for the auto created branch.
+ #[serde(rename = "enableAutoBuild")] + #[serde(skip_serializing_if = "Option::is_none")] + pub enable_auto_build: OptionEnables Basic Auth for the auto created branch.
+ #[serde(rename = "enableBasicAuth")] + #[serde(skip_serializing_if = "Option::is_none")] + pub enable_basic_auth: OptionEnvironment Variables for the auto created branch.
+ #[serde(rename = "environmentVariables")] + #[serde(skip_serializing_if = "Option::is_none")] + pub environment_variables: Option<::std::collections::HashMapFramework for the auto created branch.
+ #[serde(rename = "framework")] + #[serde(skip_serializing_if = "Option::is_none")] + pub framework: OptionStage for the auto created branch.
+ #[serde(rename = "stage")] + #[serde(skip_serializing_if = "Option::is_none")] + pub stage: OptionBranch for an Amplify App, which maps to a 3rd party repository branch.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Branch { ///Id of the active job for a branch, part of an Amplify App.
#[serde(rename = "activeJobId")] pub active_job_id: String, + ///List of custom resources that are linked to this branch.
+ #[serde(rename = "associatedResources")] + #[serde(skip_serializing_if = "Option::is_none")] + pub associated_resources: OptionBasic Authorization credentials for a branch, part of an Amplify App.
#[serde(rename = "basicAuthCredentials")] #[serde(skip_serializing_if = "Option::is_none")] @@ -121,10 +169,9 @@ pub struct Branch { ///Description for a branch, part of an Amplify App.
#[serde(rename = "description")] pub description: String, - ///Display name for a branch, part of an Amplify App.
+ ///Display name for a branch, will use as the default domain prefix.
#[serde(rename = "displayName")] - #[serde(skip_serializing_if = "Option::is_none")] - pub display_name: OptionEnables auto-building on push for a branch, part of an Amplify App.
#[serde(rename = "enableAutoBuild")] pub enable_auto_build: bool, @@ -147,7 +194,7 @@ pub struct Branch { #[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option<::std::collections::HashMapThumbnail Url for the branch.
+ ///Thumbnail URL for the branch.
#[serde(rename = "thumbnailUrl")] #[serde(skip_serializing_if = "Option::is_none")] pub thumbnail_url: OptionRequest structure used to create Apps in Amplify.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct CreateAppRequest { + ///Personal Access token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. Token is not stored.
+ #[serde(rename = "accessToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub access_token: OptionAutomated branch creation config for the Amplify App.
+ #[serde(rename = "autoBranchCreationConfig")] + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_branch_creation_config: OptionAutomated branch creation glob patterns for the Amplify App.
+ #[serde(rename = "autoBranchCreationPatterns")] + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_branch_creation_patterns: OptionCredentials for Basic Authorization for an Amplify App.
#[serde(rename = "basicAuthCredentials")] #[serde(skip_serializing_if = "Option::is_none")] @@ -181,6 +240,10 @@ pub struct CreateAppRequest { #[serde(rename = "description")] #[serde(skip_serializing_if = "Option::is_none")] pub description: OptionEnables automated branch creation for the Amplify App.
+ #[serde(rename = "enableAutoBranchCreation")] + #[serde(skip_serializing_if = "Option::is_none")] + pub enable_auto_branch_creation: OptionEnable Basic Authorization for an Amplify App, this will apply to all branches part of this App.
#[serde(rename = "enableBasicAuth")] #[serde(skip_serializing_if = "Option::is_none")] @@ -202,13 +265,16 @@ pub struct CreateAppRequest { pub name: String, ///OAuth token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. OAuth token is not stored.
#[serde(rename = "oauthToken")] - pub oauth_token: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub oauth_token: OptionPlatform / framework for an Amplify App
#[serde(rename = "platform")] - pub platform: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub platform: OptionRepository for an Amplify App
#[serde(rename = "repository")] - pub repository: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub repository: OptionTag for an Amplify App
#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] @@ -216,7 +282,7 @@ pub struct CreateAppRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateAppResult { #[serde(rename = "app")] pub app: App, @@ -243,6 +309,10 @@ pub struct CreateBranchRequest { #[serde(rename = "description")] #[serde(skip_serializing_if = "Option::is_none")] pub description: OptionDisplay name for a branch, will use as the default domain prefix.
+ #[serde(rename = "displayName")] + #[serde(skip_serializing_if = "Option::is_none")] + pub display_name: OptionEnables auto building for the branch.
#[serde(rename = "enableAutoBuild")] #[serde(skip_serializing_if = "Option::is_none")] @@ -279,13 +349,44 @@ pub struct CreateBranchRequest { ///Result structure for create branch request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateBranchResult { ///Branch structure for an Amplify App.
#[serde(rename = "branch")] pub branch: Branch, } +///Request structure for create a new deployment.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct CreateDeploymentRequest { + ///Unique Id for an Amplify App.
+ #[serde(rename = "appId")] + pub app_id: String, + ///Name for the branch, for the Job.
+ #[serde(rename = "branchName")] + pub branch_name: String, + ///Optional file map that contains file name as the key and file content md5 hash as the value. If this argument is provided, the service will generate different upload url per file. Otherwise, the service will only generate a single upload url for the zipped files.
+ #[serde(rename = "fileMap")] + #[serde(skip_serializing_if = "Option::is_none")] + pub file_map: Option<::std::collections::HashMapResult structure for create a new deployment.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct CreateDeploymentResult { + ///When the fileMap argument is provided in the request, the fileUploadUrls will contain a map of file names to upload url.
+ #[serde(rename = "fileUploadUrls")] + pub file_upload_urls: ::std::collections::HashMapThe jobId for this deployment, will supply to start deployment api.
+ #[serde(rename = "jobId")] + #[serde(skip_serializing_if = "Option::is_none")] + pub job_id: OptionWhen the fileMap argument is NOT provided. This zipUploadUrl will be returned.
+ #[serde(rename = "zipUploadUrl")] + pub zip_upload_url: String, +} + ///Request structure for create Domain Association request.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct CreateDomainAssociationRequest { @@ -306,13 +407,37 @@ pub struct CreateDomainAssociationRequest { ///Result structure for the create Domain Association request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateDomainAssociationResult { ///Domain Association structure.
#[serde(rename = "domainAssociation")] pub domain_association: DomainAssociation, } +///Request structure for create webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct CreateWebhookRequest { + ///Unique Id for an Amplify App.
+ #[serde(rename = "appId")] + pub app_id: String, + ///Name for a branch, part of an Amplify App.
+ #[serde(rename = "branchName")] + pub branch_name: String, + ///Description for a webhook.
+ #[serde(rename = "description")] + #[serde(skip_serializing_if = "Option::is_none")] + pub description: OptionResult structure for the create webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct CreateWebhookResult { + ///Webhook structure.
+ #[serde(rename = "webhook")] + pub webhook: Webhook, +} + ///Custom rewrite / redirect rule.
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct CustomRule { @@ -342,7 +467,7 @@ pub struct DeleteAppRequest { ///Result structure for an Amplify App delete request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteAppResult { #[serde(rename = "app")] pub app: App, @@ -361,7 +486,7 @@ pub struct DeleteBranchRequest { ///Result structure for delete branch request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteBranchResult { ///Branch structure for an Amplify App.
#[serde(rename = "branch")] @@ -380,7 +505,7 @@ pub struct DeleteDomainAssociationRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteDomainAssociationResult { #[serde(rename = "domainAssociation")] pub domain_association: DomainAssociation, @@ -402,19 +527,37 @@ pub struct DeleteJobRequest { ///Result structure for the delete job request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteJobResult { #[serde(rename = "jobSummary")] pub job_summary: JobSummary, } +///Request structure for the delete webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct DeleteWebhookRequest { + ///Unique Id for a webhook.
+ #[serde(rename = "webhookId")] + pub webhook_id: String, +} + +///Result structure for the delete webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct DeleteWebhookResult { + ///Webhook structure.
+ #[serde(rename = "webhook")] + pub webhook: Webhook, +} + ///Structure for Domain Association, which associates a custom domain with an Amplify App.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DomainAssociation { ///DNS Record for certificate verification.
#[serde(rename = "certificateVerificationDNSRecord")] - pub certificate_verification_dns_record: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub certificate_verification_dns_record: OptionARN for the Domain Association.
#[serde(rename = "domainAssociationArn")] pub domain_association_arn: String, @@ -444,7 +587,7 @@ pub struct GetAppRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetAppResult { #[serde(rename = "app")] pub app: App, @@ -462,7 +605,7 @@ pub struct GetBranchRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetBranchResult { #[serde(rename = "branch")] pub branch: Branch, @@ -481,7 +624,7 @@ pub struct GetDomainAssociationRequest { ///Result structure for the get Domain Association request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetDomainAssociationResult { ///Domain Association structure.
#[serde(rename = "domainAssociation")] @@ -503,15 +646,32 @@ pub struct GetJobRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetJobResult { #[serde(rename = "job")] pub job: Job, } +///Request structure for the get webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct GetWebhookRequest { + ///Unique Id for a webhook.
+ #[serde(rename = "webhookId")] + pub webhook_id: String, +} + +///Result structure for the get webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct GetWebhookResult { + ///Webhook structure.
+ #[serde(rename = "webhook")] + pub webhook: Webhook, +} + ///Structure for an execution job for an Amplify App.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Job { ///Execution steps for an execution job, for an Amplify App.
#[serde(rename = "steps")] @@ -523,7 +683,7 @@ pub struct Job { ///Structure for the summary of a Job.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct JobSummary { ///Commit Id from 3rd party repository provider for the Job.
#[serde(rename = "commitId")] @@ -544,7 +704,7 @@ pub struct JobSummary { ///Unique Id for the Job.
#[serde(rename = "jobId")] pub job_id: String, - ///Type for the Job.
+ ///Type for the Job. \n "RELEASE": Manually released from source by using StartJob API. "RETRY": Manually retried by using StartJob API. "WEB_HOOK": Automatically triggered by WebHooks.
#[serde(rename = "jobType")] pub job_type: String, ///Start date / time for the Job.
@@ -570,7 +730,7 @@ pub struct ListAppsRequest { ///Result structure for an Amplify App list request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListAppsResult { ///List of Amplify Apps.
#[serde(rename = "apps")] @@ -599,7 +759,7 @@ pub struct ListBranchesRequest { ///Result structure for list branches request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListBranchesResult { ///List of branches for an Amplify App.
#[serde(rename = "branches")] @@ -628,7 +788,7 @@ pub struct ListDomainAssociationsRequest { ///Result structure for the list Domain Association request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListDomainAssociationsResult { ///List of Domain Associations.
#[serde(rename = "domainAssociations")] @@ -660,7 +820,7 @@ pub struct ListJobsRequest { ///Maximum number of records to list in a single response.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListJobsResult { ///Result structure for list job result request.
#[serde(rename = "jobSummaries")] @@ -671,9 +831,56 @@ pub struct ListJobsResult { pub next_token: OptionRequest structure used to list tags for resource.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct ListTagsForResourceRequest { + ///Resource arn used to list tags.
+ #[serde(rename = "resourceArn")] + pub resource_arn: String, +} + +///Response for list tags.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct ListTagsForResourceResponse { + ///Tags result for response.
+ #[serde(rename = "tags")] + #[serde(skip_serializing_if = "Option::is_none")] + pub tags: Option<::std::collections::HashMapRequest structure for the list webhooks request.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct ListWebhooksRequest { + ///Unique Id for an Amplify App.
+ #[serde(rename = "appId")] + pub app_id: String, + ///Maximum number of records to list in a single response.
+ #[serde(rename = "maxResults")] + #[serde(skip_serializing_if = "Option::is_none")] + pub max_results: OptionPagination token. Set to null to start listing webhooks from start. If non-null pagination token is returned in a result, then pass its value in here to list more webhooks.
+ #[serde(rename = "nextToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub next_token: OptionResult structure for the list webhooks request.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct ListWebhooksResult { + ///Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.
+ #[serde(rename = "nextToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub next_token: OptionList of webhooks.
+ #[serde(rename = "webhooks")] + pub webhooks: VecStructure with Production Branch information.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ProductionBranch { ///Branch Name for Production Branch.
#[serde(rename = "branchName")] @@ -687,12 +894,40 @@ pub struct ProductionBranch { #[serde(rename = "status")] #[serde(skip_serializing_if = "Option::is_none")] pub status: OptionThumbnail Url for Production Branch.
+ ///Thumbnail URL for Production Branch.
#[serde(rename = "thumbnailUrl")] #[serde(skip_serializing_if = "Option::is_none")] pub thumbnail_url: OptionRequest structure for start a deployment.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct StartDeploymentRequest { + ///Unique Id for an Amplify App.
+ #[serde(rename = "appId")] + pub app_id: String, + ///Name for the branch, for the Job.
+ #[serde(rename = "branchName")] + pub branch_name: String, + ///The job id for this deployment, generated by create deployment request.
+ #[serde(rename = "jobId")] + #[serde(skip_serializing_if = "Option::is_none")] + pub job_id: OptionThe sourceUrl for this deployment, used when calling start deployment without create deployment. SourceUrl can be any HTTP GET url that is public accessible and downloads a single zip.
+ #[serde(rename = "sourceUrl")] + #[serde(skip_serializing_if = "Option::is_none")] + pub source_url: OptionResult structure for start a deployment.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct StartDeploymentResult { + ///Summary for the Job.
+ #[serde(rename = "jobSummary")] + pub job_summary: JobSummary, +} + ///Request structure for Start job request.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct StartJobRequest { @@ -714,22 +949,22 @@ pub struct StartJobRequest { #[serde(rename = "commitTime")] #[serde(skip_serializing_if = "Option::is_none")] pub commit_time: OptionUnique Id for the Job.
+ ///Unique Id for an existing job. Required for "RETRY" JobType.
#[serde(rename = "jobId")] #[serde(skip_serializing_if = "Option::is_none")] pub job_id: OptionReason for the Job.
+ ///Descriptive reason for starting this job.
#[serde(rename = "jobReason")] #[serde(skip_serializing_if = "Option::is_none")] pub job_reason: OptionType for the Job.
+ ///Type for the Job. Available JobTypes are: \n "RELEASE": Start a new job with the latest change from the specified branch. Only available for apps that have connected to a repository. "RETRY": Retry an existing job. JobId is required for this type of job.
#[serde(rename = "jobType")] pub job_type: String, } ///Result structure for run job request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct StartJobResult { ///Summary for the Job.
#[serde(rename = "jobSummary")] @@ -738,20 +973,24 @@ pub struct StartJobResult { ///Structure for an execution step for an execution job, for an Amplify App.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Step { - ///Url to teh artifact for the execution step.
+ ///URL to the artifact for the execution step.
#[serde(rename = "artifactsUrl")] #[serde(skip_serializing_if = "Option::is_none")] pub artifacts_url: OptionThe context for current step, will include build image if step is build.
+ #[serde(rename = "context")] + #[serde(skip_serializing_if = "Option::is_none")] + pub context: OptionEnd date/ time of the execution step.
#[serde(rename = "endTime")] pub end_time: f64, - ///Url to the logs for the execution step.
+ ///URL to the logs for the execution step.
#[serde(rename = "logUrl")] #[serde(skip_serializing_if = "Option::is_none")] pub log_url: OptionList of screenshot Urls for the execution step, if relevant.
+ ///List of screenshot URLs for the execution step, if relevant.
#[serde(rename = "screenshots")] #[serde(skip_serializing_if = "Option::is_none")] pub screenshots: Option<::std::collections::HashMapStatus of the execution step.
#[serde(rename = "status")] pub status: String, + ///The reason for current step status.
+ #[serde(rename = "statusReason")] + #[serde(skip_serializing_if = "Option::is_none")] + pub status_reason: OptionName of the execution step.
#[serde(rename = "stepName")] pub step_name: String, @@ -782,7 +1025,7 @@ pub struct StopJobRequest { ///Result structure for the stop job request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct StopJobResult { ///Summary for the Job.
#[serde(rename = "jobSummary")] @@ -791,7 +1034,7 @@ pub struct StopJobResult { ///Subdomain for the Domain Association.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SubDomain { ///DNS record for the Subdomain.
#[serde(rename = "dnsRecord")] @@ -815,12 +1058,52 @@ pub struct SubDomainSetting { pub prefix: String, } +///Request structure used to tag resource.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct TagResourceRequest { + ///Resource arn used to tag resource.
+ #[serde(rename = "resourceArn")] + pub resource_arn: String, + ///Tags used to tag resource.
+ #[serde(rename = "tags")] + pub tags: ::std::collections::HashMapResponse for tag resource.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct TagResourceResponse {} + +///Request structure used to untag resource.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct UntagResourceRequest { + ///Resource arn used to untag resource.
+ #[serde(rename = "resourceArn")] + pub resource_arn: String, + ///Tag keys used to untag resource.
+ #[serde(rename = "tagKeys")] + pub tag_keys: VecResponse for untag resource.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct UntagResourceResponse {} + ///Request structure for update App request.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct UpdateAppRequest { ///Unique Id for an Amplify App.
#[serde(rename = "appId")] pub app_id: String, + ///Automated branch creation config for the Amplify App.
+ #[serde(rename = "autoBranchCreationConfig")] + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_branch_creation_config: OptionAutomated branch creation glob patterns for the Amplify App.
+ #[serde(rename = "autoBranchCreationPatterns")] + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_branch_creation_patterns: OptionBasic Authorization credentials for an Amplify App.
#[serde(rename = "basicAuthCredentials")] #[serde(skip_serializing_if = "Option::is_none")] @@ -837,6 +1120,10 @@ pub struct UpdateAppRequest { #[serde(rename = "description")] #[serde(skip_serializing_if = "Option::is_none")] pub description: OptionEnables automated branch creation for the Amplify App.
+ #[serde(rename = "enableAutoBranchCreation")] + #[serde(skip_serializing_if = "Option::is_none")] + pub enable_auto_branch_creation: OptionEnables Basic Authorization for an Amplify App.
#[serde(rename = "enableBasicAuth")] #[serde(skip_serializing_if = "Option::is_none")] @@ -865,7 +1152,7 @@ pub struct UpdateAppRequest { ///Result structure for an Amplify App update request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateAppResult { ///App structure for the updated App.
#[serde(rename = "app")] @@ -893,6 +1180,10 @@ pub struct UpdateBranchRequest { #[serde(rename = "description")] #[serde(skip_serializing_if = "Option::is_none")] pub description: OptionDisplay name for a branch, will use as the default domain prefix.
+ #[serde(rename = "displayName")] + #[serde(skip_serializing_if = "Option::is_none")] + pub display_name: OptionEnables auto building for the branch.
#[serde(rename = "enableAutoBuild")] #[serde(skip_serializing_if = "Option::is_none")] @@ -925,7 +1216,7 @@ pub struct UpdateBranchRequest { ///Result structure for update branch request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateBranchResult { ///Branch structure for an Amplify App.
#[serde(rename = "branch")] @@ -952,13 +1243,65 @@ pub struct UpdateDomainAssociationRequest { ///Result structure for the update Domain Association request.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateDomainAssociationResult { ///Domain Association structure.
#[serde(rename = "domainAssociation")] pub domain_association: DomainAssociation, } +///Request structure for update webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct UpdateWebhookRequest { + ///Name for a branch, part of an Amplify App.
+ #[serde(rename = "branchName")] + #[serde(skip_serializing_if = "Option::is_none")] + pub branch_name: OptionDescription for a webhook.
+ #[serde(rename = "description")] + #[serde(skip_serializing_if = "Option::is_none")] + pub description: OptionUnique Id for a webhook.
+ #[serde(rename = "webhookId")] + pub webhook_id: String, +} + +///Result structure for the update webhook request.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct UpdateWebhookResult { + ///Webhook structure.
+ #[serde(rename = "webhook")] + pub webhook: Webhook, +} + +///Structure for webhook, which associates a webhook with an Amplify App.
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct Webhook { + ///Name for a branch, part of an Amplify App.
+ #[serde(rename = "branchName")] + pub branch_name: String, + ///Create date / time for a webhook.
+ #[serde(rename = "createTime")] + pub create_time: f64, + ///Description for a webhook.
+ #[serde(rename = "description")] + pub description: String, + ///Update date / time for a webhook.
+ #[serde(rename = "updateTime")] + pub update_time: f64, + ///ARN for the webhook.
+ #[serde(rename = "webhookArn")] + pub webhook_arn: String, + ///Id of the webhook.
+ #[serde(rename = "webhookId")] + pub webhook_id: String, + ///Url of the webhook.
+ #[serde(rename = "webhookUrl")] + pub webhook_url: String, +} + /// Errors returned by CreateApp #[derive(Debug, PartialEq)] pub enum CreateAppError { @@ -1081,6 +1424,57 @@ impl Error for CreateBranchError { } } } +/// Errors returned by CreateDeployment +#[derive(Debug, PartialEq)] +pub enum CreateDeploymentError { + ///Exception thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl CreateDeploymentError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), ///Exception thrown when an operation fails due to a dependent service throwing an exception.
DependentServiceFailure(String), ///Exception thrown when the service fails to perform an operation due to an internal issue.
InternalFailure(String), + ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), ///Exception thrown when an entity has not been found during an operation.
NotFound(String), ///Exception thrown when an operation fails due to a lack of access.
Unauthorized(String), } -impl DeleteAppError { - pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), ///Exception thrown when an operation fails due to a dependent service throwing an exception.
@@ -1224,15 +1626,72 @@ pub enum DeleteBranchError { Unauthorized(String), } -impl DeleteBranchError { - pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when an operation fails due to a dependent service throwing an exception.
+ DependentServiceFailure(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl DeleteBranchError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl DeleteWebhookError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl GetWebhookError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), ///Exception thrown when the service fails to perform an operation due to an internal issue.
InternalFailure(String), - ///Exception thrown when a resource could not be created because of service limits.
- LimitExceeded(String), - ///Exception thrown when an entity has not been found during an operation.
- NotFound(String), - ///Exception thrown when an operation fails due to a lack of access.
- Unauthorized(String), + ///Exception thrown when an operation fails due to non-existent resource.
+ ResourceNotFound(String), } -impl StartJobError { - pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), ///Exception thrown when the service fails to perform an operation due to an internal issue.
InternalFailure(String), ///Exception thrown when a resource could not be created because of service limits.
LimitExceeded(String), - ///Exception thrown when an entity has not been found during an operation.
- NotFound(String), ///Exception thrown when an operation fails due to a lack of access.
Unauthorized(String), } -impl StopJobError { - pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), ///Exception thrown when the service fails to perform an operation due to an internal issue.
InternalFailure(String), + ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), ///Exception thrown when an entity has not been found during an operation.
NotFound(String), ///Exception thrown when an operation fails due to a lack of access.
Unauthorized(String), } -impl UpdateAppError { - pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), - ///Exception thrown when an operation fails due to a dependent service throwing an exception.
- DependentServiceFailure(String), ///Exception thrown when the service fails to perform an operation due to an internal issue.
InternalFailure(String), + ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), ///Exception thrown when an entity has not been found during an operation.
NotFound(String), ///Exception thrown when an operation fails due to a lack of access.
Unauthorized(String), } -impl UpdateBranchError { - pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
BadRequest(String), - ///Exception thrown when an operation fails due to a dependent service throwing an exception.
- DependentServiceFailure(String), ///Exception thrown when the service fails to perform an operation due to an internal issue.
InternalFailure(String), - ///Exception thrown when an entity has not been found during an operation.
+ ///Exception thrown when a resource could not be created because of service limits.
+ LimitExceeded(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl StopJobError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an operation fails due to non-existent resource.
+ ResourceNotFound(String), +} + +impl TagResourceError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an operation fails due to non-existent resource.
+ ResourceNotFound(String), +} + +impl UntagResourceError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl UpdateAppError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when an operation fails due to a dependent service throwing an exception.
+ DependentServiceFailure(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl UpdateBranchError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorException thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when an operation fails due to a dependent service throwing an exception.
+ DependentServiceFailure(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an entity has not been found during an operation.
NotFound(String), ///Exception thrown when an operation fails due to a lack of access.
Unauthorized(String), @@ -2071,6 +2889,65 @@ impl Error for UpdateDomainAssociationError { } } } +/// Errors returned by UpdateWebhook +#[derive(Debug, PartialEq)] +pub enum UpdateWebhookError { + ///Exception thrown when a request contains unexpected data.
+ BadRequest(String), + ///Exception thrown when an operation fails due to a dependent service throwing an exception.
+ DependentServiceFailure(String), + ///Exception thrown when the service fails to perform an operation due to an internal issue.
+ InternalFailure(String), + ///Exception thrown when an entity has not been found during an operation.
+ NotFound(String), + ///Exception thrown when an operation fails due to a lack of access.
+ Unauthorized(String), +} + +impl UpdateWebhookError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorCreates a new Amplify App.
@@ -2082,12 +2959,24 @@ pub trait Amplify { input: CreateBranchRequest, ) -> RusotoFutureCreate a deployment for manual deploy apps. (Apps are not connected to repository)
+ fn create_deployment( + &self, + input: CreateDeploymentRequest, + ) -> RusotoFutureCreate a new DomainAssociation on an App
fn create_domain_association( &self, input: CreateDomainAssociationRequest, ) -> RusotoFutureCreate a new webhook on an App.
+ fn create_webhook( + &self, + input: CreateWebhookRequest, + ) -> RusotoFutureDelete an existing Amplify App by appId.
fn delete_app(&self, input: DeleteAppRequest) -> RusotoFutureDelete a job, for an Amplify branch, part of Amplify App.
fn delete_job(&self, input: DeleteJobRequest) -> RusotoFutureDeletes a webhook.
+ fn delete_webhook( + &self, + input: DeleteWebhookRequest, + ) -> RusotoFutureRetrieves an existing Amplify App by appId.
fn get_app(&self, input: GetAppRequest) -> RusotoFutureGet a job for a branch, part of an Amplify App.
fn get_job(&self, input: GetJobRequest) -> RusotoFutureRetrieves webhook info that corresponds to a webhookId.
+ fn get_webhook( + &self, + input: GetWebhookRequest, + ) -> RusotoFutureLists existing Amplify Apps.
fn list_apps(&self, input: ListAppsRequest) -> RusotoFutureList Jobs for a branch, part of an Amplify App.
fn list_jobs(&self, input: ListJobsRequest) -> RusotoFutureList tags for resource.
+ fn list_tags_for_resource( + &self, + input: ListTagsForResourceRequest, + ) -> RusotoFutureList webhooks with an app.
+ fn list_webhooks( + &self, + input: ListWebhooksRequest, + ) -> RusotoFutureStart a deployment for manual deploy apps. (Apps are not connected to repository)
+ fn start_deployment( + &self, + input: StartDeploymentRequest, + ) -> RusotoFutureStarts a new job for a branch, part of an Amplify App.
fn start_job(&self, input: StartJobRequest) -> RusotoFutureStop a job that is in progress, for an Amplify branch, part of Amplify App.
fn stop_job(&self, input: StopJobRequest) -> RusotoFutureTag resource with tag key and value.
+ fn tag_resource( + &self, + input: TagResourceRequest, + ) -> RusotoFutureUntag resource with resourceArn.
+ fn untag_resource( + &self, + input: UntagResourceRequest, + ) -> RusotoFutureUpdates an existing Amplify App.
fn update_app(&self, input: UpdateAppRequest) -> RusotoFutureUpdate a webhook.
+ fn update_webhook( + &self, + input: UpdateWebhookRequest, + ) -> RusotoFuture( @@ -2189,10 +3123,14 @@ impl AmplifyClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - AmplifyClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client(client: Client, region: region::Region) -> AmplifyClient { + AmplifyClient { client, region } } } @@ -2258,6 +3196,42 @@ impl Amplify for AmplifyClient { }) } + ///
Create a deployment for manual deploy apps. (Apps are not connected to repository)
+ fn create_deployment( + &self, + input: CreateDeploymentRequest, + ) -> RusotoFutureCreate a new DomainAssociation on an App
fn create_domain_association( &self, @@ -2287,6 +3261,38 @@ impl Amplify for AmplifyClient { }) } + ///Create a new webhook on an App.
+ fn create_webhook( + &self, + input: CreateWebhookRequest, + ) -> RusotoFutureDelete an existing Amplify App by appId.
fn delete_app(&self, input: DeleteAppRequest) -> RusotoFutureDeletes a webhook.
+ fn delete_webhook( + &self, + input: DeleteWebhookRequest, + ) -> RusotoFutureRetrieves an existing Amplify App by appId.
fn get_app(&self, input: GetAppRequest) -> RusotoFutureRetrieves webhook info that corresponds to a webhookId.
+ fn get_webhook( + &self, + input: GetWebhookRequest, + ) -> RusotoFutureLists existing Amplify Apps.
fn list_apps(&self, input: ListAppsRequest) -> RusotoFutureList tags for resource.
+ fn list_tags_for_resource( + &self, + input: ListTagsForResourceRequest, + ) -> RusotoFutureList webhooks with an app.
+ fn list_webhooks( + &self, + input: ListWebhooksRequest, + ) -> RusotoFutureStart a deployment for manual deploy apps. (Apps are not connected to repository)
+ fn start_deployment( + &self, + input: StartDeploymentRequest, + ) -> RusotoFutureStarts a new job for a branch, part of an Amplify App.
fn start_job(&self, input: StartJobRequest) -> RusotoFutureTag resource with tag key and value.
+ fn tag_resource( + &self, + input: TagResourceRequest, + ) -> RusotoFutureUntag resource with resourceArn.
+ fn untag_resource( + &self, + input: UntagResourceRequest, + ) -> RusotoFutureUpdates an existing Amplify App.
fn update_app(&self, input: UpdateAppRequest) -> RusotoFutureUpdate a webhook.
+ fn update_webhook( + &self, + input: UpdateWebhookRequest, + ) -> RusotoFutureAccess log settings, including the access log format and access log destination ARN.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AccessLogSettings { ///The ARN of the CloudWatch Logs log group to receive access logs.
#[serde(rename = "destinationArn")] @@ -41,7 +40,7 @@ pub struct AccessLogSettings { ///Represents an AWS account that is associated with API Gateway.
To view the account info, call GET
on this resource.
The following exception may be thrown when the request fails.
For detailed error code information, including the corresponding HTTP Status Codes, see API Gateway Error Codes
GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={accesskeyID}/us-east-1/apigateway/aws4request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4hash}
The successful response returns a 200 OK
status code and a payload similar to the following:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html", "name": "account", "templated": true }, "self": { "href": "/account" }, "account:update": { "href": "/account" } }, "cloudwatchRoleArn": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "throttleSettings": { "rateLimit": 500, "burstLimit": 1000 } }
In addition to making the REST API call directly, you can use the AWS CLI and an AWS SDK to access this resource.
The version of the API keys used for the account.
#[serde(rename = "apiKeyVersion")] @@ -63,7 +62,7 @@ pub struct Account { ///A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ApiKey { ///The timestamp when the API Key was created.
#[serde(rename = "createdDate")] @@ -109,7 +108,7 @@ pub struct ApiKey { ///The identifier of an ApiKey used in a UsagePlan.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ApiKeyIds { ///A list of all the ApiKey identifiers.
#[serde(rename = "ids")] @@ -123,7 +122,7 @@ pub struct ApiKeyIds { ///Represents a collection of API keys as represented by an ApiKeys resource.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ApiKeys { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -155,9 +154,9 @@ pub struct ApiStage { pub throttle: Option<::std::collections::HashMapRepresents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.
+///Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Authorizer { ///Optional customer-defined field, used in OpenAPI imports and exports without functional impact.
#[serde(rename = "authType")] @@ -183,7 +182,7 @@ pub struct Authorizer { #[serde(rename = "identitySource")] #[serde(skip_serializing_if = "Option::is_none")] pub identity_source: OptionA validation expression for the incoming identity token. For TOKEN
authorizers, this value is a regular expression. 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.
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.
Represents a collection of Authorizer resources.
+///Represents a collection of Authorizer resources.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Authorizers { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -216,7 +215,7 @@ pub struct Authorizers { ///Represents the base path that callers of the API must provide as part of the URL after the domain name.
BasePathMapping
specification identifies a deployed RestApi in a given stage of the owner Account.The base path name that callers of the API must provide as part of the URL after the domain name.
#[serde(rename = "basePath")] @@ -234,7 +233,7 @@ pub struct BasePathMapping { ///Represents a collection of BasePathMapping resources.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct BasePathMappings { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -268,7 +267,7 @@ pub struct CanarySettings { ///Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.
The identifier of the client certificate.
#[serde(rename = "clientCertificateId")] @@ -298,7 +297,7 @@ pub struct ClientCertificate { ///Represents a collection of ClientCertificate resources.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ClientCertificates { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -369,7 +368,7 @@ pub struct CreateAuthorizerRequest { #[serde(rename = "identitySource")] #[serde(skip_serializing_if = "Option::is_none")] pub identity_source: OptionA validation expression for the incoming identity token. For TOKEN
authorizers, this value is a regular expression. 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.
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.
Requests API Gateway to create a new BasePathMapping resource.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct CreateBasePathMappingRequest { - ///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. Leave this blank if you do not want callers to specify a base path name after the domain name.
+ ///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: Option[Required] The string identifier of the associated RestApi.
#[serde(rename = "restApiId")] pub rest_api_id: String, - ///The name of the API's stage that you want to use for this mapping. Leave this blank if you do not want callers to explicitly specify the stage name after any base path name.
+ ///The name of the API's stage that you want to use for this mapping. Specify '(none)' if you do not 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: OptionThe Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0
and TLS_1_2
.
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.
[Required] The string identifier of the associated RestApi.
#[serde(rename = "restApiId")] pub rest_api_id: String, - ///[Required] The name for the Stage resource.
+ ///[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")] pub stage_name: String, ///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.
A request to delete the BasePathMapping resource.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct DeleteBasePathMappingRequest { - ///[Required] The base path name of the BasePathMapping resource to delete.
+ ///[Required] The base path name of the BasePathMapping resource to delete.
To specify an empty base path, set this parameter to '(none)'
.
[Required] The domain name of the BasePathMapping resource to delete.
@@ -964,7 +967,7 @@ pub struct DeleteVpcLinkRequest { ///An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.
POST
on the Deployments resource of a RestApi. To view, update, or delete a deployment, call GET
, PATCH
, or DELETE
on the specified deployment resource (/restapis/{restapiid}/deployments/{deploymentid}
).A summary of the RestApi at the date and time that the deployment resource was created.
#[serde(rename = "apiSummary")] @@ -1005,7 +1008,7 @@ pub struct DeploymentCanarySettings { ///Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on how to interact with your collection. The collection offers a paginated view of the contained deployments.
POST
request against this resource. To view, update, or delete an existing deployment, make a GET
, PATCH
, or DELETE
request, respectively, on a specified Deployment resource.The current page of elements from this collection.
#[serde(rename = "items")] @@ -1018,7 +1021,7 @@ pub struct Deployments { ///A documentation part for a targeted API entity.
A documentation part consists of a content map (properties
) and a target (location
). The target specifies an API entity to which the documentation content applies. The supported API entity types are API
, AUTHORIZER
, MODEL
, RESOURCE
, METHOD
, PATHPARAMETER
, QUERYPARAMETER
, REQUESTHEADER
, REQUESTBODY
, RESPONSE
, RESPONSEHEADER
, and RESPONSEBODY
. Valid location
fields depend on the API entity type. All valid fields are not required.
The content map is a JSON string of API-specific key-value pairs. Although an API can use any shape for the content map, only the OpenAPI-compliant documentation fields will be injected into the associated API entity definition in the exported OpenAPI definition file.
The DocumentationPart identifier, generated by API Gateway when the DocumentationPart
is created.
A collection of the imported DocumentationPart identifiers.
A list of the returned documentation part identifiers.
#[serde(rename = "ids")] @@ -1074,7 +1077,7 @@ pub struct DocumentationPartLocation { ///The collection of documentation parts of an API.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DocumentationParts { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -1087,7 +1090,7 @@ pub struct DocumentationParts { ///A snapshot of the documentation of an API.
Publishing API documentation involves creating a documentation version associated with an API stage and exporting the versioned documentation to an external (e.g., OpenAPI) file.
The date when the API documentation snapshot is created.
#[serde(rename = "createdDate")] @@ -1105,7 +1108,7 @@ pub struct DocumentationVersion { ///The collection of documentation snapshots of an API.
Use the DocumentationVersions to manage documentation snapshots associated with various API stages.
The current page of elements from this collection.
#[serde(rename = "items")] @@ -1118,7 +1121,7 @@ pub struct DocumentationVersions { ///Represents a custom domain name as a user-friendly host name of an API (RestApi).
When you deploy an API, API Gateway creates a default host name for the API. This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com
format. With the default host name, you can access the API's root resource with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/
. When you set up a custom domain name of apis.example.com
for this API, you can then access the same resource using the URL of the https://apis.examples.com/myApi
, where myApi
is the base path mapping (BasePathMapping) of your API under the custom domain name.
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")] @@ -1144,6 +1147,14 @@ pub struct DomainName { #[serde(rename = "domainName")] #[serde(skip_serializing_if = "Option::is_none")] pub domain_name: OptionThe 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.
An optional text message containing detailed information about status of the DomainName migration.
+ #[serde(rename = "domainNameStatusMessage")] + #[serde(skip_serializing_if = "Option::is_none")] + pub domain_name_status_message: OptionThe endpoint configuration of this DomainName showing the endpoint types of the domain name.
#[serde(rename = "endpointConfiguration")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1164,6 +1175,10 @@ pub struct DomainName { #[serde(rename = "regionalHostedZoneId")] #[serde(skip_serializing_if = "Option::is_none")] pub regional_hosted_zone_id: OptionThe Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0
and TLS_1_2
.
The collection of tags. Each tag element is associated with a given resource.
#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1172,7 +1187,7 @@ pub struct DomainName { ///Represents a collection of DomainName resources.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DomainNames { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -1227,7 +1242,7 @@ pub struct FlushStageCacheRequest { ///A gateway response of a given response type and status code, with optional response parameters and mapping templates.
This example shows how to get a gateway response of the MISSINGAUTHENTICATIONTOKEN
type.
GET /restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45
The response type is specified as a URL path.
The successful operation returns the 200 OK
status code and a payload similar to the following:
{ "links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN" }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN" } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path": "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin": "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q", "gatewayresponse.header.x-request-header": "method.request.header.Accept" }, "responseTemplates": { "application/json": "{\n "message": $context.error.messageString,\n "type": "$context.error.responseType",\n "stage": "$context.stage",\n "resourcePath": "$context.resourcePath",\n "stageVariables.a": "$stageVariables.a",\n "statusCode": "'404'"\n}" }, "responseType": "MISSINGAUTHENTICATION_TOKEN", "statusCode": "404" }
A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true
) or not (false
). A default gateway response is one generated by API Gateway without any customization by an API developer.
The collection of the GatewayResponse instances of a RestApi as a responseType
-to-GatewayResponse object map of key-value pairs. As such, pagination is not supported for querying this collection.
This example request shows how to retrieve the GatewayResponses collection from an API.
GET /restapis/o81lxisefl/gatewayresponses HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T220604Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4request, SignedHeaders=content-type;host;x-amz-date, Signature=59b42fe54a76a5de8adf2c67baa6d39206f8e9ad49a1d77ccc6a5da3103a398a Cache-Control: no-cache Postman-Token: 5637af27-dc29-fc5c-9dfe-0645d52cb515
The successful operation returns the 200 OK
status code and a payload similar to the following:
{ "links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses" }, "first": { "href": "/restapis/o81lxisefl/gatewayresponses" }, "gatewayresponse:by-type": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "item": [ { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATIONFAILURE" }, { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCENOTFOUND" }, { "href": "/restapis/o81lxisefl/gatewayresponses/REQUESTTOOLARGE" }, { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTEDMEDIATYPE" }, { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZERCONFIGURATIONERROR" }, { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT5XX" }, { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT4XX" }, { "href": "/restapis/o81lxisefl/gatewayresponses/BADREQUESTPARAMETERS" }, { "href": "/restapis/o81lxisefl/gatewayresponses/BADREQUESTBODY" }, { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIREDTOKEN" }, { "href": "/restapis/o81lxisefl/gatewayresponses/ACCESSDENIED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALIDAPIKEY" }, { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/APICONFIGURATIONERROR" }, { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTAEXCEEDED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATIONTIMEOUT" }, { "href": "/restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALIDSIGNATURE" }, { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZERFAILURE" } ] }, "embedded": { "item": [ { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATIONFAILURE" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATIONFAILURE" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "INTEGRATIONFAILURE", "statusCode": "504" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCENOTFOUND" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCENOTFOUND" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "RESOURCENOTFOUND", "statusCode": "404" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/REQUESTTOOLARGE" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/REQUESTTOOLARGE" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "REQUESTTOOLARGE", "statusCode": "413" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "THROTTLED", "statusCode": "429" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTEDMEDIATYPE" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTEDMEDIATYPE" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "UNSUPPORTEDMEDIATYPE", "statusCode": "415" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZERCONFIGURATIONERROR" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZERCONFIGURATIONERROR" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "AUTHORIZERCONFIGURATIONERROR", "statusCode": "500" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT5XX" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT5XX" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "DEFAULT5XX" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT4XX" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT4XX" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "DEFAULT4XX" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/BADREQUESTPARAMETERS" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BADREQUESTPARAMETERS" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "BADREQUESTPARAMETERS", "statusCode": "400" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/BADREQUESTBODY" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BADREQUESTBODY" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "BADREQUESTBODY", "statusCode": "400" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIREDTOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIREDTOKEN" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "EXPIREDTOKEN", "statusCode": "403" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/ACCESSDENIED" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/ACCESSDENIED" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "ACCESSDENIED", "statusCode": "403" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALIDAPIKEY" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALIDAPIKEY" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "INVALIDAPIKEY", "statusCode": "403" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "UNAUTHORIZED", "statusCode": "401" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/APICONFIGURATIONERROR" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/APICONFIGURATIONERROR" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "APICONFIGURATIONERROR", "statusCode": "500" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTAEXCEEDED" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTAEXCEEDED" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "QUOTAEXCEEDED", "statusCode": "429" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATIONTIMEOUT" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATIONTIMEOUT" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "INTEGRATIONTIMEOUT", "statusCode": "504" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSINGAUTHENTICATIONTOKEN" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "MISSINGAUTHENTICATIONTOKEN", "statusCode": "403" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALIDSIGNATURE" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALIDSIGNATURE" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "INVALIDSIGNATURE", "statusCode": "403" }, { "links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZERFAILURE" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{responsetype}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZERFAILURE" } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates": { "application/json": "{"message":$context.error.messageString}" }, "responseType": "AUTHORIZERFAILURE", "statusCode": "500" } ] } }
Returns the entire collection, because of no pagination support.
#[serde(rename = "items")] @@ -1348,7 +1363,7 @@ pub struct GetAuthorizersRequest { ///Request to describe a BasePathMapping resource.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct GetBasePathMappingRequest { - ///[Required] 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. Leave this blank if you do not want callers to specify any base path name after the domain name.
+ ///[Required] 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 any base path name after the domain name.
#[serde(rename = "basePath")] pub base_path: String, ///[Required] The domain name of the BasePathMapping resource to be described.
@@ -1824,7 +1839,7 @@ pub struct GetTagsRequest { #[serde(rename = "position")] #[serde(skip_serializing_if = "Option::is_none")] pub position: Option[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded. At present, Stage is the only taggable resource.
+ ///[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded.
#[serde(rename = "resourceArn")] pub resource_arn: String, } @@ -1991,7 +2006,7 @@ pub struct ImportRestApiRequest { #[serde(rename = "failOnWarnings")] #[serde(skip_serializing_if = "Option::is_none")] pub fail_on_warnings: OptionA key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values.
To exclude DocumentationParts from the import, set parameters
as ignore=documentation
.
To configure the endpoint type, set parameters
as endpointConfigurationTypes=EDGE
, endpointConfigurationTypes=REGIONAL
, or endpointConfigurationTypes=PRIVATE
. The default endpoint type is EDGE
.
To handle imported basePath
, set parameters
as basePath=ignore
, basePath=prepend
or basePath=split
.
For example, the AWS CLI command to exclude documentation from the imported API is:
aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'
The AWS CLI command to set the regional endpoint on the imported API is:
aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL --body 'file:///path/to/imported-api-body.json'
+ /// A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values.
To exclude DocumentationParts from the import, set parameters
as ignore=documentation
.
To configure the endpoint type, set parameters
as endpointConfigurationTypes=EDGE
, endpointConfigurationTypes=REGIONAL
, or endpointConfigurationTypes=PRIVATE
. The default endpoint type is EDGE
.
To handle imported basepath
, set parameters
as basepath=ignore
, basepath=prepend
or basepath=split
.
For example, the AWS CLI command to exclude documentation from the imported API is:
aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'
The AWS CLI command to set the regional endpoint on the imported API is:
aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL --body 'file:///path/to/imported-api-body.json'
#[serde(rename = "parameters")]
#[serde(skip_serializing_if = "Option::is_none")]
pub parameters: Option<::std::collections::HashMapRepresents an HTTP, HTTPPROXY, AWS, AWSPROXY, or Mock integration.
Specifies the integration's cache key parameters.
+ ///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
.
Specifies the integration's cache namespace.
+ ///An API-specific tag group of related cached parameters. To be valid values for cacheKeyParameters
, these parameters must also be specified for Method requestParameters
.
Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.
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 passthroughBehaviors
is configured to support payload pass-through.
Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.
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.
Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct IntegrationResponse { ///Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
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")] @@ -2087,7 +2102,7 @@ pub struct IntegrationResponse { ///Represents a client-facing interface by which the client calls the API to access back-end resources. A Method resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method request takes the client input that is passed to the back end through the integration request. A method response returns the output from the back end to the client through an integration response. A method request is embodied in a Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method response is represented by a MethodResponse resource, whereas an integration response is represented by an IntegrationResponse resource.
The following example request retrieves the information about the GET method on an API resource (3kzxbg5sa2
) of an API (fugvjdxtri
).
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z Authorization: AWS4-HMAC-SHA256 Credential={accesskeyID}/20160603/us-east-1/apigateway/aws4request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4hash}
The successful response returns a 200 OK
status code and a payload similar to the following:
{ "links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{statuscode}", "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE", "httpMethod": "GET", "embedded": { "method:integration": { "links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{statuscode}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHENNOMATCH", "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", "embedded": { "integration:responses": { "links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode("%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E")" }, "statusCode": "200" } } }, "method:responses": { "links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } }
In the example above, the response template for the 200 OK
response maps the JSON output from the ListStreams
action in the back end to an XML output. The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E
and the output is decoded using the $util.urlDecode() helper function.
A boolean flag specifying whether a valid ApiKey is required to invoke this method.
#[serde(rename = "apiKeyRequired")] @@ -2117,7 +2132,7 @@ pub struct Method { #[serde(rename = "methodResponses")] #[serde(skip_serializing_if = "Option::is_none")] pub method_responses: Option<::std::collections::HashMapA human-friendly operation identifier for the method. For example, you can assign the operationName
of ListPets
for the GET /pets
method in PetStore example.
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.
Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.
The example request retrieves a MethodResponse of the 200 status code.
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={accesskeyID}/20160603/us-east-1/apigateway/aws4request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4hash}
The successful response returns 200 OK
status and a payload as follows:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" }
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")] @@ -2155,7 +2170,7 @@ pub struct MethodResponse { ///Specifies the method setting properties.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct MethodSetting { ///Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted
, and the value is a Boolean.
Represents a summary of a Method resource, given a particular date and time.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct MethodSnapshot { ///Specifies whether the method requires a valid ApiKey.
#[serde(rename = "apiKeyRequired")] @@ -2215,7 +2230,7 @@ pub struct MethodSnapshot { ///Represents the data structure of a method's request or response payload.
A request model defines the data structure of the client-supplied request payload. A response model defines the data structure of the response payload returned by the back end. Although not required, models are useful for mapping payloads between the front end and back end.
A model is used for generating an API's SDK, validating the input request body, and creating a skeletal mapping template.
The content-type for the model.
#[serde(rename = "contentType")] @@ -2241,7 +2256,7 @@ pub struct Model { ///Represents a collection of Model resources.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Models { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -2299,11 +2314,11 @@ pub struct PutGatewayResponseRequest { ///Sets up a method's integration.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct PutIntegrationRequest { - ///Specifies a put integration input's cache key parameters.
+ ///An API-specific tag group of related cached parameters.
#[serde(rename = "cacheKeyParameters")] #[serde(skip_serializing_if = "Option::is_none")] pub cache_key_parameters: OptionSpecifies a put integration input's cache namespace.
+ ///A list of request parameters whose values are to be cached.
#[serde(rename = "cacheNamespace")] #[serde(skip_serializing_if = "Option::is_none")] pub cache_namespace: OptionSpecifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.
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 passthroughBehaviors
is configured to support payload pass-through.
Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.
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.
[Required] Specifies the method request's HTTP method type.
#[serde(rename = "httpMethod")] pub http_method: String, - ///A human-friendly operation identifier for the method. For example, you can assign the operationName
of ListPets
for the GET /pets
method in PetStore example.
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.
A set of validation rules for incoming Method requests.
In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator object. It the referenced using the x-amazon-apigateway-request-validator property.
The identifier of this RequestValidator.
#[serde(rename = "id")] @@ -2533,7 +2548,7 @@ pub struct RequestValidator { ///A collection of RequestValidator resources of a given RestApi.
In OpenAPI, the RequestValidators of an API is defined by the x-amazon-apigateway-request-validators extension.
The current page of elements from this collection.
#[serde(rename = "items")] @@ -2546,7 +2561,7 @@ pub struct RequestValidators { ///Represents an API resource.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Resource { ///The resource's identifier.
#[serde(rename = "id")] @@ -2572,7 +2587,7 @@ pub struct Resource { ///Represents a collection of Resource resources.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Resources { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -2585,7 +2600,7 @@ pub struct Resources { ///Represents a REST API.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct RestApi { ///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.Contains references to your APIs and links that guide you in how to interact with your collection. A collection offers a paginated view of your APIs.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct RestApis { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -2652,7 +2667,7 @@ pub struct RestApis { ///A configuration property of an SDK type.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SdkConfigurationProperty { ///The default value of an SdkType configuration property.
#[serde(rename = "defaultValue")] @@ -2689,7 +2704,7 @@ pub struct SdkResponse { ///A type of SDK that API Gateway can generate.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SdkType { ///A list of configuration properties of an SdkType.
#[serde(rename = "configurationProperties")] @@ -2711,7 +2726,7 @@ pub struct SdkType { ///The collection of SdkType instances.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct SdkTypes { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -2724,7 +2739,7 @@ pub struct SdkTypes { ///Represents a unique identifier for a version of a deployed RestApi that is callable by users.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Stage { ///Settings for logging access in this stage.
#[serde(rename = "accessLogSettings")] @@ -2774,7 +2789,7 @@ pub struct Stage { #[serde(rename = "methodSettings")] #[serde(skip_serializing_if = "Option::is_none")] pub method_settings: Option<::std::collections::HashMapThe name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway.
+ ///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")] pub stage_name: OptionA list of Stage resources that are associated with the ApiKey resource.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Stages { ///The current page of elements from this collection.
#[serde(rename = "item")] @@ -2822,7 +2837,7 @@ pub struct Stages { ///Adds or updates a tag on a given resource.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct TagResourceRequest { - ///[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded. At present, Stage is the only taggable resource.
+ ///[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded.
#[serde(rename = "resourceArn")] pub resource_arn: String, ///[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.
The collection of tags. Each tag element is associated with a given resource.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Tags { ///The collection of tags. Each tag element is associated with a given resource.
#[serde(rename = "tags")] @@ -2842,7 +2857,7 @@ pub struct Tags { ///Represents a mapping template used to transform a payload.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Template { ///The Apache Velocity Template Language (VTL) template content used for the template resource.
#[serde(rename = "value")] @@ -2887,7 +2902,7 @@ pub struct TestInvokeAuthorizerRequest { ///Represents the response of the test invoke request for a custom Authorizer
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct TestInvokeAuthorizerResponse { #[serde(rename = "authorization")] #[serde(skip_serializing_if = "Option::is_none")] @@ -2958,7 +2973,7 @@ pub struct TestInvokeMethodRequest { ///Represents the response of the test invoke request in the HTTP method.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct TestInvokeMethodResponse { ///The body of the HTTP response.
#[serde(rename = "body")] @@ -3002,7 +3017,7 @@ pub struct ThrottleSettings { ///Removes a tag from a given resource.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct UntagResourceRequest { - ///[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded. At present, Stage is the only taggable resource.
+ ///[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded.
#[serde(rename = "resourceArn")] pub resource_arn: String, ///[Required] The Tag keys to delete.
@@ -3049,7 +3064,7 @@ pub struct UpdateAuthorizerRequest { ///A request to change information about the BasePathMapping resource.
#[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct UpdateBasePathMappingRequest { - ///[Required] The base path of the BasePathMapping resource to change.
+ ///[Required] The base path of the BasePathMapping resource to change.
To specify an empty base path, set this parameter to '(none)'
.
[Required] The domain name of the BasePathMapping resource to change.
@@ -3336,7 +3351,7 @@ pub struct UpdateVpcLinkRequest { ///Represents the usage data of a usage plan.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Usage { ///The ending date of the usage data.
#[serde(rename = "endDate")] @@ -3361,7 +3376,7 @@ pub struct Usage { ///Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.
In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.
The associated API stages of a usage plan.
#[serde(rename = "apiStages")] @@ -3399,7 +3414,7 @@ pub struct UsagePlan { ///Represents a usage plan key to identify a plan customer.
To associate an API stage with a selected API key in a usage plan, you must create a UsagePlanKey resource to represent the selected ApiKey.
The Id of a usage plan key.
#[serde(rename = "id")] @@ -3421,7 +3436,7 @@ pub struct UsagePlanKey { ///Represents the collection of usage plan keys added to usage plans for the associated API keys and, possibly, other types of keys.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UsagePlanKeys { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -3434,7 +3449,7 @@ pub struct UsagePlanKeys { ///Represents a collection of usage plans for an AWS account.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UsagePlans { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -3447,7 +3462,7 @@ pub struct UsagePlans { ///A API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).
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 HTTPPROXY
and has a connection type of VPCLINK
. The integration uses the connectionId
property to identify the VpcLink used.
The description of the VPC link.
#[serde(rename = "description")] @@ -3481,7 +3496,7 @@ pub struct VpcLink { ///The collection of VPC links under the caller's account in a region.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct VpcLinks { ///The current page of elements from this collection.
#[serde(rename = "items")] @@ -10441,7 +10456,7 @@ pub trait ApiGateway { ///Adds or updates a tag on a given resource.
fn tag_resource(&self, input: TagResourceRequest) -> RusotoFuture<(), TagResourceError>; - ///Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.
+ ///Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.
fn test_invoke_authorizer( &self, input: TestInvokeAuthorizerRequest, @@ -10584,10 +10599,7 @@ impl ApiGatewayClient { /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> ApiGatewayClient { - ApiGatewayClient { - client: Client::shared(), - region, - } + Self::new_with_client(Client::shared(), region) } pub fn new_with( @@ -10601,10 +10613,14 @@ impl ApiGatewayClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - ApiGatewayClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client(client: Client, region: region::Region) -> ApiGatewayClient { + ApiGatewayClient { client, region } } } @@ -13822,7 +13838,7 @@ impl ApiGateway for ApiGatewayClient { }) } - ///
Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.
+ ///Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.
fn test_invoke_authorizer( &self, input: TestInvokeAuthorizerRequest, diff --git a/rusoto/services/apigatewaymanagementapi/Cargo.toml b/rusoto/services/apigatewaymanagementapi/Cargo.toml index 9c973fe55b2..a69e5141fab 100644 --- a/rusoto/services/apigatewaymanagementapi/Cargo.toml +++ b/rusoto/services/apigatewaymanagementapi/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT" name = "rusoto_apigatewaymanagementapi" readme = "README.md" repository = "https://github.com/rusoto/rusoto" -version = "0.40.0" +version = "0.41.0" homepage = "https://www.rusoto.org/" edition = "2018" exclude = ["test_resources/*"] @@ -21,14 +21,16 @@ serde = "1.0.2" serde_derive = "1.0.2" [dependencies.rusoto_core] -version = "0.40.0" +version = "0.41.0" path = "../../core" default-features = false [dev-dependencies.rusoto_mock] -version = "0.40.0" +version = "0.41.0" path = "../../../mock" +default-features = false [features] default = ["native-tls"] native-tls = ["rusoto_core/native-tls"] rustls = ["rusoto_core/rustls"] +serialize_structs = [] diff --git a/rusoto/services/apigatewaymanagementapi/README.md b/rusoto/services/apigatewaymanagementapi/README.md index 470852a281e..f9c857bc15f 100644 --- a/rusoto/services/apigatewaymanagementapi/README.md +++ b/rusoto/services/apigatewaymanagementapi/README.md @@ -23,9 +23,16 @@ To use `rusoto_apigatewaymanagementapi` in your application, add it as a depende ```toml [dependencies] -rusoto_apigatewaymanagementapi = "0.40.0" +rusoto_apigatewaymanagementapi = "0.41.0" ``` +## Crate Features +- `native-tls` - use platform-specific TLS implementation. +- `rustls` - use rustls TLS implementation. +- `serialize_structs` - output structs of most operations get `derive(Serialize)`. + +Note: the crate will use the `native-tls` TLS implementation by default. + ## Contributing See [CONTRIBUTING][contributing]. diff --git a/rusoto/services/apigatewaymanagementapi/src/custom/mod.rs b/rusoto/services/apigatewaymanagementapi/src/custom/mod.rs index e69de29bb2d..8b137891791 100644 --- a/rusoto/services/apigatewaymanagementapi/src/custom/mod.rs +++ b/rusoto/services/apigatewaymanagementapi/src/custom/mod.rs @@ -0,0 +1 @@ + diff --git a/rusoto/services/apigatewaymanagementapi/src/generated.rs b/rusoto/services/apigatewaymanagementapi/src/generated.rs index 7bcf2904bed..f0ba7ff2155 100644 --- a/rusoto/services/apigatewaymanagementapi/src/generated.rs +++ b/rusoto/services/apigatewaymanagementapi/src/generated.rs @@ -9,20 +9,58 @@ // must be updated to generate the changes. // // ================================================================= +#![allow(warnings)] -use std::error::Error; -use std::fmt; - -#[allow(warnings)] use futures::future; use futures::Future; use rusoto_core::credential::ProvideAwsCredentials; use rusoto_core::region; use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest}; use rusoto_core::{Client, RusotoError, RusotoFuture}; +use std::error::Error; +use std::fmt; use rusoto_core::proto; use rusoto_core::signature::SignedRequest; +#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct DeleteConnectionRequest { + #[serde(rename = "ConnectionId")] + pub connection_id: String, +} + +#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct GetConnectionRequest { + #[serde(rename = "ConnectionId")] + pub connection_id: String, +} + +#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct GetConnectionResponse { + ///The time in ISO 8601 format for when the connection was established.
+ #[serde(rename = "ConnectedAt")] + #[serde(skip_serializing_if = "Option::is_none")] + pub connected_at: OptionThe time in ISO 8601 format for when the connection was last active.
+ #[serde(rename = "LastActiveAt")] + #[serde(skip_serializing_if = "Option::is_none")] + pub last_active_at: OptionThe source IP address of the TCP connection making the request to API Gateway.
+ #[serde(rename = "SourceIp")] + pub source_ip: String, + ///The User Agent of the API caller.
+ #[serde(rename = "UserAgent")] + pub user_agent: String, +} + #[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct PostToConnectionRequest { ///The identifier of the connection that a specific client is using.
@@ -38,6 +76,94 @@ pub struct PostToConnectionRequest { pub data: bytes::Bytes, } +/// Errors returned by DeleteConnection +#[derive(Debug, PartialEq)] +pub enum DeleteConnectionError { + ///The caller is not authorized to invoke this operation.
+ Forbidden(String), + ///The connection with the provided id no longer exists.
+ Gone(String), + ///The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.
+ LimitExceeded(String), +} + +impl DeleteConnectionError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorThe caller is not authorized to invoke this operation.
+ Forbidden(String), + ///The connection with the provided id no longer exists.
+ Gone(String), + ///The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.
+ LimitExceeded(String), +} + +impl GetConnectionError { + pub fn from_response(res: BufferedHttpResponse) -> RusotoErrorThe connection with the provided id no longer exists.
Gone(String), - ///The client is sending more than the allowed number of requests per unit of time.
+ ///The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.
LimitExceeded(String), ///The data has exceeded the maximum size allowed.
PayloadTooLarge(String), @@ -91,6 +217,18 @@ impl Error for PostToConnectionError { } /// Trait representing the capabilities of the AmazonApiGatewayManagementApi API. AmazonApiGatewayManagementApi clients implement this trait. pub trait ApiGatewayManagementApi { + ///Delete the connection with the provided id.
+ fn delete_connection( + &self, + input: DeleteConnectionRequest, + ) -> RusotoFuture<(), DeleteConnectionError>; + + ///Get information about the connection with the provided id.
+ fn get_connection( + &self, + input: GetConnectionRequest, + ) -> RusotoFutureSends the provided data to the specified connection.
fn post_to_connection( &self, @@ -109,10 +247,7 @@ impl ApiGatewayManagementApiClient { /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> ApiGatewayManagementApiClient { - ApiGatewayManagementApiClient { - client: Client::shared(), - region, - } + Self::new_with_client(Client::shared(), region) } pub fn new_with( @@ -126,14 +261,84 @@ impl ApiGatewayManagementApiClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - ApiGatewayManagementApiClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client( + client: Client, + region: region::Region, + ) -> ApiGatewayManagementApiClient { + ApiGatewayManagementApiClient { client, region } } } impl ApiGatewayManagementApi for ApiGatewayManagementApiClient { + ///
Delete the connection with the provided id.
+ fn delete_connection( + &self, + input: DeleteConnectionRequest, + ) -> RusotoFuture<(), DeleteConnectionError> { + let request_uri = format!( + "/@connections/{connection_id}", + connection_id = input.connection_id + ); + + let mut request = SignedRequest::new("DELETE", "execute-api", &self.region, &request_uri); + request.set_content_type("application/x-amz-json-1.1".to_owned()); + + self.client.sign_and_dispatch(request, |response| { + if response.status.as_u16() == 204 { + Box::new(response.buffer().from_err().and_then(|response| { + let result = ::std::mem::drop(response); + + Ok(result) + })) + } else { + Box::new( + response + .buffer() + .from_err() + .and_then(|response| Err(DeleteConnectionError::from_response(response))), + ) + } + }) + } + + ///Get information about the connection with the provided id.
+ fn get_connection( + &self, + input: GetConnectionRequest, + ) -> RusotoFutureSends the provided data to the specified connection.
fn post_to_connection( &self, diff --git a/rusoto/services/apigatewayv2/Cargo.toml b/rusoto/services/apigatewayv2/Cargo.toml index 60f496d0c37..cbcadca9b30 100644 --- a/rusoto/services/apigatewayv2/Cargo.toml +++ b/rusoto/services/apigatewayv2/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT" name = "rusoto_apigatewayv2" readme = "README.md" repository = "https://github.com/rusoto/rusoto" -version = "0.40.0" +version = "0.41.0" homepage = "https://www.rusoto.org/" edition = "2018" exclude = ["test_resources/*"] @@ -22,14 +22,16 @@ serde_derive = "1.0.2" serde_json = "1.0.1" [dependencies.rusoto_core] -version = "0.40.0" +version = "0.41.0" path = "../../core" default-features = false [dev-dependencies.rusoto_mock] -version = "0.40.0" +version = "0.41.0" path = "../../../mock" +default-features = false [features] default = ["native-tls"] native-tls = ["rusoto_core/native-tls"] rustls = ["rusoto_core/rustls"] +serialize_structs = [] diff --git a/rusoto/services/apigatewayv2/README.md b/rusoto/services/apigatewayv2/README.md index 9b8b2c11a88..4339fe4f0e9 100644 --- a/rusoto/services/apigatewayv2/README.md +++ b/rusoto/services/apigatewayv2/README.md @@ -23,9 +23,16 @@ To use `rusoto_apigatewayv2` in your application, add it as a dependency in your ```toml [dependencies] -rusoto_apigatewayv2 = "0.40.0" +rusoto_apigatewayv2 = "0.41.0" ``` +## Crate Features +- `native-tls` - use platform-specific TLS implementation. +- `rustls` - use rustls TLS implementation. +- `serialize_structs` - output structs of most operations get `derive(Serialize)`. + +Note: the crate will use the `native-tls` TLS implementation by default. + ## Contributing See [CONTRIBUTING][contributing]. diff --git a/rusoto/services/apigatewayv2/src/custom/mod.rs b/rusoto/services/apigatewayv2/src/custom/mod.rs index e69de29bb2d..8b137891791 100644 --- a/rusoto/services/apigatewayv2/src/custom/mod.rs +++ b/rusoto/services/apigatewayv2/src/custom/mod.rs @@ -0,0 +1 @@ + diff --git a/rusoto/services/apigatewayv2/src/generated.rs b/rusoto/services/apigatewayv2/src/generated.rs index f7545adebe9..7611d12a746 100644 --- a/rusoto/services/apigatewayv2/src/generated.rs +++ b/rusoto/services/apigatewayv2/src/generated.rs @@ -9,17 +9,16 @@ // must be updated to generate the changes. // // ================================================================= +#![allow(warnings)] -use std::error::Error; -use std::fmt; - -#[allow(warnings)] use futures::future; use futures::Future; use rusoto_core::credential::ProvideAwsCredentials; use rusoto_core::region; use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest}; use rusoto_core::{Client, RusotoError, RusotoFuture}; +use std::error::Error; +use std::fmt; use rusoto_core::param::{Params, ServiceParams}; use rusoto_core::proto; @@ -41,7 +40,7 @@ pub struct AccessLogSettings { ///Represents an API.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Api { ///The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The /// stage name is typically appended to this URI to form a complete path to a deployed @@ -78,6 +77,10 @@ pub struct Api { ///
The route selection expression for the API.
#[serde(rename = "RouteSelectionExpression")] pub route_selection_expression: String, + ///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: Option<::std::collections::HashMapA version identifier for the API.
#[serde(rename = "Version")] #[serde(skip_serializing_if = "Option::is_none")] @@ -91,7 +94,7 @@ pub struct Api { ///Represents an API mapping.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ApiMapping { ///The API identifier.
#[serde(rename = "ApiId")] @@ -111,7 +114,7 @@ pub struct ApiMapping { ///Represents an authorizer.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Authorizer { ///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 @@ -201,7 +204,7 @@ pub struct CreateApiMappingRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateApiMappingResponse { ///
The API identifier.
#[serde(rename = "ApiId")] @@ -244,6 +247,10 @@ pub struct CreateApiRequest { ///The route selection expression for the API.
#[serde(rename = "RouteSelectionExpression")] pub route_selection_expression: String, + ///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: Option<::std::collections::HashMapA version identifier for the API.
#[serde(rename = "Version")] #[serde(skip_serializing_if = "Option::is_none")] @@ -251,7 +258,7 @@ pub struct CreateApiRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateApiResponse { ///The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The
/// stage name is typically appended to this URI to form a complete path to a deployed
@@ -291,6 +298,10 @@ pub struct CreateApiResponse {
#[serde(rename = "RouteSelectionExpression")]
#[serde(skip_serializing_if = "Option::is_none")]
pub route_selection_expression: 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.. A version identifier for the API. 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
@@ -461,7 +472,7 @@ pub struct CreateDeploymentRequest {
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
-#[cfg_attr(test, derive(Serialize))]
+#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct CreateDeploymentResponse {
/// The date and time when the Deployment resource was created. 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.. The API mapping selection expression. 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.. The connection ID. Specifies how to handle response payload content type conversions. Supported
/// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the
@@ -870,7 +889,7 @@ pub struct CreateModelRequest {
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
-#[cfg_attr(test, derive(Serialize))]
+#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct CreateModelResponse {
/// The content-type for the model, for example, "application/json". Specifies whether an API key is required for this route. Represents the model selection expression of a route response. 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.. Settings for logging access in this stage. 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..
The date and time when the Deployment resource was created.
#[serde(rename = "CreatedDate")] @@ -1296,7 +1323,7 @@ pub struct Deployment { ///Represents a domain name.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DomainName { ///The API mapping selection expression.
#[serde(rename = "ApiMappingSelectionExpression")] @@ -1309,6 +1336,10 @@ pub struct DomainName { #[serde(rename = "DomainNameConfigurations")] #[serde(skip_serializing_if = "Option::is_none")] pub domain_name_configurations: OptionThe 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: Option<::std::collections::HashMapThe domain name configuration.
@@ -1333,6 +1364,14 @@ pub struct DomainNameConfiguration { #[serde(rename = "CertificateUploadDate")] #[serde(skip_serializing_if = "Option::is_none")] pub certificate_upload_date: OptionThe status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.
+ #[serde(rename = "DomainNameStatus")] + #[serde(skip_serializing_if = "Option::is_none")] + pub domain_name_status: OptionAn optional text message containing detailed information about status of the domain name migration.
+ #[serde(rename = "DomainNameStatusMessage")] + #[serde(skip_serializing_if = "Option::is_none")] + pub domain_name_status_message: OptionThe endpoint type.
#[serde(rename = "EndpointType")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1341,6 +1380,10 @@ pub struct DomainNameConfiguration { #[serde(rename = "HostedZoneId")] #[serde(skip_serializing_if = "Option::is_none")] pub hosted_zone_id: OptionThe Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.
+ #[serde(rename = "SecurityPolicy")] + #[serde(skip_serializing_if = "Option::is_none")] + pub security_policy: OptionThe API identifier.
#[serde(rename = "ApiId")] @@ -1391,7 +1434,7 @@ pub struct GetApiMappingsRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetApiMappingsResponse { ///The elements from this collection.
#[serde(rename = "Items")] @@ -1412,7 +1455,7 @@ pub struct GetApiRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct GetApiResponse { ///The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The
/// stage name is typically appended to this URI to form a complete path to a deployed
@@ -1452,6 +1495,10 @@ pub struct GetApiResponse {
#[serde(rename = "RouteSelectionExpression")]
#[serde(skip_serializing_if = "Option::is_none")]
pub route_selection_expression: 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.. A version identifier for the API. The elements from this collection. 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
@@ -1591,7 +1638,7 @@ pub struct GetAuthorizersRequest {
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
-#[cfg_attr(test, derive(Serialize))]
+#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct GetAuthorizersResponse {
/// The elements from this collection. The date and time when the Deployment resource was created. The elements from this collection. The API mapping selection expression. 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.. The elements from this collection. The connection ID. Specifies how to handle response payload content type conversions. Supported
/// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the
@@ -1933,7 +1984,7 @@ pub struct GetIntegrationResponsesRequest {
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
-#[cfg_attr(test, derive(Serialize))]
+#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct GetIntegrationResponsesResponse {
/// The elements from this collection. The elements from this collection. The content-type for the model, for example, "application/json". The template value. The elements from this collection. Specifies whether an API key is required for this route. Represents the model selection expression of a route response. The elements from this collection. The elements from this collection. Settings for logging access in this stage. 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.. The elements from this collection. Represents an integration. The connection ID. Represents an integration response. Specifies how to handle response payload content type conversions. Supported
/// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the
@@ -2498,7 +2567,7 @@ pub struct IntegrationResponse {
/// Represents a data model for an API. See Create Models and Mapping Templates for Request and Response
/// Mappings. The content-type for the model, for example, "application/json". Represents a route. Specifies whether an API key is required for this route. Represents a route response. Represents the model selection expression of a route response. Represents an API stage. Settings for logging access in this stage. 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.. AWS resource arn 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.. AWS resource arn The Tag keys to delete The API identifier. The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The
/// stage name is typically appended to this URI to form a complete path to a deployed
@@ -2813,6 +2911,10 @@ pub struct UpdateApiResponse {
#[serde(rename = "RouteSelectionExpression")]
#[serde(skip_serializing_if = "Option::is_none")]
pub route_selection_expression: 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.. A version identifier for the API. 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
@@ -2987,7 +3089,7 @@ pub struct UpdateDeploymentRequest {
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
-#[cfg_attr(test, derive(Serialize))]
+#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct UpdateDeploymentResponse {
/// The date and time when the Deployment resource was created. The API mapping selection expression. 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.. The connection ID. Specifies how to handle response payload content type conversions. Supported
/// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the
@@ -3414,7 +3520,7 @@ pub struct UpdateModelRequest {
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
-#[cfg_attr(test, derive(Serialize))]
+#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct UpdateModelResponse {
/// The content-type for the model, for example, "application/json". Specifies whether an API key is required for this route. Represents the model selection expression of a route response. Settings for logging access in this stage. 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.. The request is not valid, for example, the input is incomplete or incorrect. See
+ /// the accompanying error message for details. The requested operation would cause a conflict with the current state of a service
+ /// resource associated with the request. Resolve the conflict before retrying this
+ /// request. See the accompanying error message for details. The resource specified in the request was not found. See the message
+ /// field for more information. A limit has been exceeded. See the accompanying error message for details. The request is not valid, for example, the input is incomplete or incorrect. See
+ /// the accompanying error message for details. The requested operation would cause a conflict with the current state of a service
+ /// resource associated with the request. Resolve the conflict before retrying this
+ /// request. See the accompanying error message for details. The resource specified in the request was not found. See the message
+ /// field for more information. A limit has been exceeded. See the accompanying error message for details. The request is not valid, for example, the input is incomplete or incorrect. See
+ /// the accompanying error message for details. The requested operation would cause a conflict with the current state of a service
+ /// resource associated with the request. Resolve the conflict before retrying this
+ /// request. See the accompanying error message for details. The resource specified in the request was not found. See the message
+ /// field for more information. A limit has been exceeded. See the accompanying error message for details. Gets the Tags for an API. Tag an APIGW resource Untag an APIGW resource Updates an Api resource. (
@@ -6720,10 +7004,14 @@ impl ApiGatewayV2Client {
D: DispatchSignedRequest + Send + Sync + 'static,
D::Future: Send,
{
- ApiGatewayV2Client {
- client: Client::new_with(credentials_provider, request_dispatcher),
+ Self::new_with_client(
+ Client::new_with(credentials_provider, request_dispatcher),
region,
- }
+ )
+ }
+
+ pub fn new_with_client(client: Client, region: region::Region) -> ApiGatewayV2Client {
+ ApiGatewayV2Client { client, region }
}
}
@@ -8213,6 +8501,95 @@ impl ApiGatewayV2 for ApiGatewayV2Client {
})
}
+ /// Gets the Tags for an API. Tag an APIGW resource Untag an APIGW resource Updates an Api resource. Represents a CloudWatch alarm associated with a scaling policy. The Amazon Resource Name (ARN) of the alarm. The name of the scaling policy. The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is Spot fleet request - The resource type is EMR cluster - The resource type is AppStream 2.0 fleet - The resource type is DynamoDB table - The resource type is DynamoDB global secondary index - The resource type is Aurora DB cluster - The resource type is Amazon SageMaker endpoint variants - The resource type is Custom resources are not supported with a resource type. This parameter must specify the The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is Spot Fleet request - The resource type is EMR cluster - The resource type is AppStream 2.0 fleet - The resource type is DynamoDB table - The resource type is DynamoDB global secondary index - The resource type is Aurora DB cluster - The resource type is Amazon SageMaker endpoint variants - The resource type is Custom resources are not supported with a resource type. This parameter must specify the
service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.table
and the unique identifier is the resource ID. Example: table/my-table
.index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.table
and the unique identifier is the resource ID. Example: table/my-table
.index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The name of the scheduled action.
#[serde(rename = "ScheduledActionName")] pub scheduled_action_name: String, - ///The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The token required to get the next set of results. This value is null
if there are no more results to return.
The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The token required to get the next set of results. This value is null
if there are no more results to return.
The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The token required to get the next set of results. This value is null
if there are no more results to return.
The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The token required to get the next set of results. This value is null
if there are no more results to return.
Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct PredefinedMetricSpecification { - ///The metric type. The ALBRequestCountPerTarget
metric type applies only to Spot fleet requests and ECS services.
The metric type. The ALBRequestCountPerTarget
metric type applies only to Spot Fleet requests and ECS services.
Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget
and there is a target group attached to the Spot fleet request or ECS service.
The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:
app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.
Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget
and there is a target group attached to the Spot Fleet request or ECS service.
The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:
app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.
The name of the scaling policy.
#[serde(rename = "PolicyName")] pub policy_name: String, - ///The policy type. This parameter is required if you are creating a scaling policy.
For information on which services do not support StepScaling
or TargetTrackingScaling
, see the information about Limits in Step Scaling Policies and Target Tracking Scaling Policies in the Application Auto Scaling User Guide.
The policy type. This parameter is required if you are creating a scaling policy.
The following policy types are supported:
TargetTrackingScaling
—Not supported for Amazon EMR or AppStream
StepScaling
—Not supported for Amazon DynamoDB
For more information, see Step Scaling Policies for Application Auto Scaling and Target Tracking Scaling Policies for Application Auto Scaling in the Application Auto Scaling User Guide.
#[serde(rename = "PolicyType")] #[serde(skip_serializing_if = "Option::is_none")] pub policy_type: OptionThe identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
A step scaling policy.
This parameter is required if you are creating a policy and the policy type is StepScaling
.
The CloudWatch alarms created for the target tracking scaling policy.
#[serde(rename = "Alarms")] @@ -337,10 +336,10 @@ pub struct PutScheduledActionRequest { #[serde(rename = "EndTime")] #[serde(skip_serializing_if = "Option::is_none")] pub end_time: OptionThe identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The new minimum and maximum capacity. You can set both values or just one. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.
@@ -354,7 +353,7 @@ pub struct PutScheduledActionRequest { ///The name of the scheduled action.
#[serde(rename = "ScheduledActionName")] pub scheduled_action_name: String, - ///The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The date and time for the scheduled action to start.
@@ -364,41 +363,45 @@ pub struct PutScheduledActionRequest { } #[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct PutScheduledActionResponse {} #[derive(Default, Debug, Clone, PartialEq, Serialize)] pub struct RegisterScalableTargetRequest { - ///The maximum value to scale to in response to a scale-out event. This parameter is required to register a scalable target.
+ ///The maximum value to scale to in response to a scale-out event. MaxCapacity
is required to register a scalable target.
The minimum value to scale to in response to a scale-in event. This parameter is required to register a scalable target.
+ ///The minimum value to scale to in response to a scale-in event. MinCapacity
is required to register a scalable target.
The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling.
For resources that are not supported using a service-linked role, this parameter is required and must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.
+ ///Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling.
For resources that are not supported using a service-linked role, this parameter is required, and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.
#[serde(rename = "RoleARN")] #[serde(skip_serializing_if = "Option::is_none")] pub role_arn: OptionThe scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true
suspends the specified scaling activities. Setting it to false
(default) resumes the specified scaling activities.
Suspension Outcomes
For DynamicScalingInSuspended
, while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended.
For DynamicScalingOutSuspended
, while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended.
For ScheduledScalingSuspended
, while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.
For more information, see Suspend and Resume Application Auto Scaling in the Application Auto Scaling User Guide.
+ #[serde(rename = "SuspendedState")] + #[serde(skip_serializing_if = "Option::is_none")] + pub suspended_state: OptionRepresents a scalable target.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ScalableTarget { ///The Unix timestamp for when the scalable target was created.
#[serde(rename = "CreationTime")] @@ -409,18 +412,21 @@ pub struct ScalableTarget { ///The minimum value to scale to in response to a scale-in event.
#[serde(rename = "MinCapacity")] pub min_capacity: i64, - ///The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.
#[serde(rename = "RoleARN")] pub role_arn: String, - ///The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
Represents the minimum and maximum capacity for a scheduled action.
@@ -438,7 +444,7 @@ pub struct ScalableTargetAction { ///Represents a scaling activity.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ScalingActivity { ///The unique identifier of the scaling activity.
#[serde(rename = "ActivityId")] @@ -457,13 +463,13 @@ pub struct ScalingActivity { #[serde(rename = "EndTime")] #[serde(skip_serializing_if = "Option::is_none")] pub end_time: OptionThe identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The Unix timestamp for when the scaling activity began.
@@ -480,7 +486,7 @@ pub struct ScalingActivity { ///Represents a scaling policy to use with Application Auto Scaling.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ScalingPolicy { ///The CloudWatch alarms associated with the scaling policy.
#[serde(rename = "Alarms")] @@ -498,13 +504,13 @@ pub struct ScalingPolicy { ///The scaling policy type.
#[serde(rename = "PolicyType")] pub policy_type: String, - ///The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
A step scaling policy.
@@ -520,7 +526,7 @@ pub struct ScalingPolicy { ///Represents a scheduled action.
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] -#[cfg_attr(test, derive(Serialize))] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ScheduledAction { ///The date and time that the scheduled action was created.
#[serde(rename = "CreationTime")] @@ -529,10 +535,10 @@ pub struct ScheduledAction { #[serde(rename = "EndTime")] #[serde(skip_serializing_if = "Option::is_none")] pub end_time: OptionThe identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
ECS service - The resource type is service
and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name. Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name. Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variants - The resource type is variant
and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
ecs:service:DesiredCount
- The desired task count of an ECS service.
ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
The name of the scheduled action.
#[serde(rename = "ScheduledActionName")] pub scheduled_action_name: String, - ///The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The namespace of the AWS service that provides the resource or custom-resource
for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
The date and time that the action is scheduled to begin.
@@ -577,7 +583,7 @@ pub struct StepAdjustment { ///Represents a step scaling policy configuration to use with Application Auto Scaling.
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct StepScalingPolicyConfiguration { - ///The adjustment type, which specifies how the ScalingAdjustment
parameter in a StepAdjustment is interpreted.
Specifies whether the ScalingAdjustment
value in a StepAdjustment is an absolute number or a percentage of the current capacity.
Specifies whether the scaling activities for a scalable target are in a suspended state.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct SuspendedState { + ///Whether scale in by a target tracking scaling policy or a step scaling policy is suspended. Set the value to true
if you don't want Application Auto Scaling to remove capacity when a scaling policy is triggered. The default is false
.
Whether scale out by a target tracking scaling policy or a step scaling policy is suspended. Set the value to true
if you don't want Application Auto Scaling to add capacity when a scaling policy is triggered. The default is false
.
Whether scheduled scaling is suspended. Set the value to true
if you don't want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is false
.
Represents a target tracking scaling policy configuration to use with Application Auto Scaling.
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct TargetTrackingScalingPolicyConfiguration { @@ -1151,43 +1174,43 @@ impl Error for RegisterScalableTargetError { } /// Trait representing the capabilities of the Application Auto Scaling API. Application Auto Scaling clients implement this trait. pub trait ApplicationAutoScaling { - ///Deletes the specified Application Auto Scaling scaling policy.
Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.
To create a scaling policy or update an existing one, see PutScalingPolicy.
+ ///Deletes the specified scaling policy for an Application Auto Scaling scalable target.
Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.
For more information, see Delete a Step Scaling Policy and Delete a Target Tracking Scaling Policy in the Application Auto Scaling User Guide.
To create a scaling policy or update an existing one, see PutScalingPolicy.
fn delete_scaling_policy( &self, input: DeleteScalingPolicyRequest, ) -> RusotoFutureDeletes the specified Application Auto Scaling scheduled action.
+ ///Deletes the specified scheduled action for an Application Auto Scaling scalable target.
For more information, see Delete a Scheduled Action in the Application Auto Scaling User Guide.
fn delete_scheduled_action( &self, input: DeleteScheduledActionRequest, ) -> RusotoFutureDeregisters a scalable target.
Deregistering a scalable target deletes the scaling policies that are associated with it.
To create a scalable target or update an existing one, see RegisterScalableTarget.
+ ///Deregisters an Application Auto Scaling scalable target.
Deregistering a scalable target deletes the scaling policies that are associated with it.
To create a scalable target or update an existing one, see RegisterScalableTarget.
fn deregister_scalable_target( &self, input: DeregisterScalableTargetRequest, ) -> RusotoFutureGets information about the scalable targets in the specified namespace.
You can filter the results using the ResourceIds
and ScalableDimension
parameters.
To create a scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.
+ ///Gets information about the scalable targets in the specified namespace.
You can filter the results using ResourceIds
and ScalableDimension
.
To create a scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.
fn describe_scalable_targets( &self, input: DescribeScalableTargetsRequest, ) -> RusotoFutureProvides descriptive information about the scaling activities in the specified namespace from the previous six weeks.
You can filter the results using the ResourceId
and ScalableDimension
parameters.
Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see DescribeScalingPolicies. To create a scaling policy or update an existing one, see PutScalingPolicy.
+ ///Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks.
You can filter the results using ResourceId
and ScalableDimension
.
Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see DescribeScalingPolicies. To create a scaling policy or update an existing one, see PutScalingPolicy.
fn describe_scaling_activities( &self, input: DescribeScalingActivitiesRequest, ) -> RusotoFutureDescribes the scaling policies for the specified service namespace.
You can filter the results using the ResourceId
, ScalableDimension
, and PolicyNames
parameters.
To create a scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.
+ ///Describes the Application Auto Scaling scaling policies for the specified service namespace.
You can filter the results using ResourceId
, ScalableDimension
, and PolicyNames
.
To create a scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.
fn describe_scaling_policies( &self, input: DescribeScalingPoliciesRequest, ) -> RusotoFutureDescribes the scheduled actions for the specified service namespace.
You can filter the results using the ResourceId
, ScalableDimension
, and ScheduledActionNames
parameters.
To create a scheduled action or update an existing one, see PutScheduledAction. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.
+ ///Describes the Application Auto Scaling scheduled actions for the specified service namespace.
You can filter the results using the ResourceId
, ScalableDimension
, and ScheduledActionNames
parameters.
To create a scheduled action or update an existing one, see PutScheduledAction. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.
fn describe_scheduled_actions( &self, input: DescribeScheduledActionsRequest, @@ -1205,7 +1228,7 @@ pub trait ApplicationAutoScaling { input: PutScheduledActionRequest, ) -> RusotoFutureRegisters or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Each scalable target has a resource ID, scalable dimension, and namespace, as well as values for minimum and maximum capacity.
After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace using DescribeScalableTargets.
If you no longer need a scalable target, you can deregister it using DeregisterScalableTarget.
+ ///Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Scalable targets are uniquely identified by the combination of resource ID, scalable dimension, and namespace.
When you register a new scalable target, you must specify values for minimum and maximum capacity. Application Auto Scaling will not scale capacity to values that are outside of this range.
To update a scalable target, specify the parameter that you want to change as well as the following parameters that identify the scalable target: resource ID, scalable dimension, and namespace. Any parameters that you don't specify are not changed by this update request.
After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace by using DescribeScalableTargets.
If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget.
fn register_scalable_target( &self, input: RegisterScalableTargetRequest, @@ -1223,10 +1246,7 @@ impl ApplicationAutoScalingClient { /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> ApplicationAutoScalingClient { - ApplicationAutoScalingClient { - client: Client::shared(), - region, - } + Self::new_with_client(Client::shared(), region) } pub fn new_with( @@ -1240,15 +1260,19 @@ impl ApplicationAutoScalingClient { D: DispatchSignedRequest + Send + Sync + 'static, D::Future: Send, { - ApplicationAutoScalingClient { - client: Client::new_with(credentials_provider, request_dispatcher), + Self::new_with_client( + Client::new_with(credentials_provider, request_dispatcher), region, - } + ) + } + + pub fn new_with_client(client: Client, region: region::Region) -> ApplicationAutoScalingClient { + ApplicationAutoScalingClient { client, region } } } impl ApplicationAutoScaling for ApplicationAutoScalingClient { - ///
Deletes the specified Application Auto Scaling scaling policy.
Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.
To create a scaling policy or update an existing one, see PutScalingPolicy.
+ ///Deletes the specified scaling policy for an Application Auto Scaling scalable target.
Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.
For more information, see Delete a Step Scaling Policy and Delete a Target Tracking Scaling Policy in the Application Auto Scaling User Guide.
To create a scaling policy or update an existing one, see PutScalingPolicy.
fn delete_scaling_policy( &self, input: DeleteScalingPolicyRequest, @@ -1279,7 +1303,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Deletes the specified Application Auto Scaling scheduled action.
+ ///Deletes the specified scheduled action for an Application Auto Scaling scalable target.
For more information, see Delete a Scheduled Action in the Application Auto Scaling User Guide.
fn delete_scheduled_action( &self, input: DeleteScheduledActionRequest, @@ -1310,7 +1334,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Deregisters a scalable target.
Deregistering a scalable target deletes the scaling policies that are associated with it.
To create a scalable target or update an existing one, see RegisterScalableTarget.
+ ///Deregisters an Application Auto Scaling scalable target.
Deregistering a scalable target deletes the scaling policies that are associated with it.
To create a scalable target or update an existing one, see RegisterScalableTarget.
fn deregister_scalable_target( &self, input: DeregisterScalableTargetRequest, @@ -1339,7 +1363,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Gets information about the scalable targets in the specified namespace.
You can filter the results using the ResourceIds
and ScalableDimension
parameters.
To create a scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.
+ ///Gets information about the scalable targets in the specified namespace.
You can filter the results using ResourceIds
and ScalableDimension
.
To create a scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.
fn describe_scalable_targets( &self, input: DescribeScalableTargetsRequest, @@ -1368,7 +1392,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks.
You can filter the results using the ResourceId
and ScalableDimension
parameters.
Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see DescribeScalingPolicies. To create a scaling policy or update an existing one, see PutScalingPolicy.
+ ///Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks.
You can filter the results using ResourceId
and ScalableDimension
.
Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see DescribeScalingPolicies. To create a scaling policy or update an existing one, see PutScalingPolicy.
fn describe_scaling_activities( &self, input: DescribeScalingActivitiesRequest, @@ -1397,7 +1421,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Describes the scaling policies for the specified service namespace.
You can filter the results using the ResourceId
, ScalableDimension
, and PolicyNames
parameters.
To create a scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.
+ ///Describes the Application Auto Scaling scaling policies for the specified service namespace.
You can filter the results using ResourceId
, ScalableDimension
, and PolicyNames
.
To create a scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.
fn describe_scaling_policies( &self, input: DescribeScalingPoliciesRequest, @@ -1426,7 +1450,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Describes the scheduled actions for the specified service namespace.
You can filter the results using the ResourceId
, ScalableDimension
, and ScheduledActionNames
parameters.
To create a scheduled action or update an existing one, see PutScheduledAction. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.
+ ///Describes the Application Auto Scaling scheduled actions for the specified service namespace.
You can filter the results using the ResourceId
, ScalableDimension
, and ScheduledActionNames
parameters.
To create a scheduled action or update an existing one, see PutScheduledAction. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.
fn describe_scheduled_actions( &self, input: DescribeScheduledActionsRequest, @@ -1513,7 +1537,7 @@ impl ApplicationAutoScaling for ApplicationAutoScalingClient { }) } - ///Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Each scalable target has a resource ID, scalable dimension, and namespace, as well as values for minimum and maximum capacity.
After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace using DescribeScalableTargets.
If you no longer need a scalable target, you can deregister it using DeregisterScalableTarget.
+ ///Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Scalable targets are uniquely identified by the combination of resource ID, scalable dimension, and namespace.
When you register a new scalable target, you must specify values for minimum and maximum capacity. Application Auto Scaling will not scale capacity to values that are outside of this range.
To update a scalable target, specify the parameter that you want to change as well as the following parameters that identify the scalable target: resource ID, scalable dimension, and namespace. Any parameters that you don't specify are not changed by this update request.
After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace by using DescribeScalableTargets.
If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget.
fn register_scalable_target( &self, input: RegisterScalableTargetRequest, diff --git a/rusoto/services/application-autoscaling/src/lib.rs b/rusoto/services/application-autoscaling/src/lib.rs index fa0826337a4..f74fe485e6e 100644 --- a/rusoto/services/application-autoscaling/src/lib.rs +++ b/rusoto/services/application-autoscaling/src/lib.rs @@ -12,7 +12,7 @@ // ================================================================= #![doc(html_logo_url = "https://raw.githubusercontent.com/rusoto/rusoto/master/assets/logo-square.png")] -//!With Application Auto Scaling, you can configure automatic scaling for your scalable resources. You can use Application Auto Scaling to accomplish the following tasks:
Define scaling policies to automatically scale your AWS or custom resources
Scale your resources in response to CloudWatch alarms
Schedule one-time or recurring scaling actions
View the history of your scaling events
Application Auto Scaling can scale the following resources:
Amazon ECS services. For more information, see Service Auto Scaling in the Amazon Elastic Container Service Developer Guide.
Amazon EC2 Spot fleets. For more information, see Automatic Scaling for Spot Fleet in the Amazon EC2 User Guide.
Amazon EMR clusters. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide.
AppStream 2.0 fleets. For more information, see Fleet Auto Scaling for Amazon AppStream 2.0 in the Amazon AppStream 2.0 Developer Guide.
Provisioned read and write capacity for Amazon DynamoDB tables and global secondary indexes. For more information, see Managing Throughput Capacity Automatically with DynamoDB Auto Scaling in the Amazon DynamoDB Developer Guide.
Amazon Aurora Replicas. For more information, see Using Amazon Aurora Auto Scaling with Aurora Replicas.
Amazon SageMaker endpoint variants. For more information, see Automatically Scaling Amazon SageMaker Models.
Custom resources provided by your own applications or services. More information is available in our GitHub repository.
To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.
+//!With Application Auto Scaling, you can configure automatic scaling for the following resources:
Amazon ECS services
Amazon EC2 Spot Fleet requests
Amazon EMR clusters
Amazon AppStream 2.0 fleets
Amazon DynamoDB tables and global secondary indexes throughput capacity
Amazon Aurora Replicas
Amazon SageMaker endpoint variants
Custom resources provided by your own applications or services
API Summary
The Application Auto Scaling service API includes three key sets of actions:
Register and manage scalable targets - Register AWS or custom resources as scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and retrieve information on existing scalable targets.
Configure and manage automatic scaling - Define scaling policies to dynamically scale your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, and retrieve your recent scaling activity history.
Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by calling the RegisterScalableTarget action for any Application Auto Scaling scalable target. You can suspend and resume, individually or in combination, scale-out activities triggered by a scaling policy, scale-in activities triggered by a scaling policy, and scheduled scaling.
To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.
//! //! If you're using the service, you're probably looking for [ApplicationAutoScalingClient](struct.ApplicationAutoScalingClient.html) and [ApplicationAutoScaling](trait.ApplicationAutoScaling.html). diff --git a/rusoto/services/appmesh/Cargo.toml b/rusoto/services/appmesh/Cargo.toml new file mode 100644 index 00000000000..007d70da131 --- /dev/null +++ b/rusoto/services/appmesh/Cargo.toml @@ -0,0 +1,37 @@ +[package] +authors = ["Anthony DiMarcoAn object representing the access logging information for a virtual node.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AccessLog { + ///The file object to send virtual node access logs to.
+ #[serde(rename = "file")] + #[serde(skip_serializing_if = "Option::is_none")] + pub file: OptionAn object representing the AWS Cloud Map attribute information for your virtual node.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AwsCloudMapInstanceAttribute { + ///The name of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service instance + /// that contains the specified key and value is returned.
+ #[serde(rename = "key")] + pub key: String, + ///The value of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service + /// instance that contains the specified key and value is returned.
+ #[serde(rename = "value")] + pub value: String, +} + +///An object representing the AWS Cloud Map service discovery information for your virtual +/// node.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AwsCloudMapServiceDiscovery { + ///A string map that contains attributes with values that you can use to filter instances + /// by any custom attribute that you specified when you registered the instance. Only instances + /// that match all of the specified key/value pairs will be returned.
+ #[serde(rename = "attributes")] + #[serde(skip_serializing_if = "Option::is_none")] + pub attributes: OptionThe name of the AWS Cloud Map namespace to use.
+ #[serde(rename = "namespaceName")] + pub namespace_name: String, + ///The name of the AWS Cloud Map service to use.
+ #[serde(rename = "serviceName")] + pub service_name: String, +} + +///An object representing the backends that a virtual node is expected to send outbound +/// traffic to.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct Backend { + ///Specifies a virtual service to use as a backend for a virtual node.
+ #[serde(rename = "virtualService")] + #[serde(skip_serializing_if = "Option::is_none")] + pub virtual_service: OptionUnique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
+ #[serde(rename = "clientToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub client_token: OptionThe name to use for the service mesh.
+ #[serde(rename = "meshName")] + pub mesh_name: String, + ///The service mesh specification to apply.
+ #[serde(rename = "spec")] + #[serde(skip_serializing_if = "Option::is_none")] + pub spec: OptionOptional metadata that you can apply to the service mesh to assist with categorization + /// and organization. Each tag consists of a key and an optional value, both of which you + /// define. Tag keys can have a maximum character length of 128 characters, and tag values can have + /// a maximum length of 256 characters.
+ #[serde(rename = "tags")] + #[serde(skip_serializing_if = "Option::is_none")] + pub tags: OptionThe full description of your service mesh following the create call.
+ #[serde(rename = "mesh")] + pub mesh: MeshData, +} + +#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct CreateRouteInput { + ///Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
+ #[serde(rename = "clientToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub client_token: OptionThe name of the service mesh to create the route in.
+ #[serde(rename = "meshName")] + pub mesh_name: String, + ///The name to use for the route.
+ #[serde(rename = "routeName")] + pub route_name: String, + ///The route specification to apply.
+ #[serde(rename = "spec")] + pub spec: RouteSpec, + ///Optional metadata that you can apply to the route to assist with categorization and + /// organization. Each tag consists of a key and an optional value, both of which you define. + /// Tag keys can have a maximum character length of 128 characters, and tag values can have + /// a maximum length of 256 characters.
+ #[serde(rename = "tags")] + #[serde(skip_serializing_if = "Option::is_none")] + pub tags: OptionThe name of the virtual router in which to create the route.
+ #[serde(rename = "virtualRouterName")] + pub virtual_router_name: String, +} + +#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct CreateRouteOutput { + ///The full description of your mesh following the create call.
+ #[serde(rename = "route")] + pub route: RouteData, +} + +#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct CreateVirtualNodeInput { + ///Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
+ #[serde(rename = "clientToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub client_token: OptionThe name of the service mesh to create the virtual node in.
+ #[serde(rename = "meshName")] + pub mesh_name: String, + ///The virtual node specification to apply.
+ #[serde(rename = "spec")] + pub spec: VirtualNodeSpec, + ///Optional metadata that you can apply to the virtual node to assist with categorization + /// and organization. Each tag consists of a key and an optional value, both of which you + /// define. Tag keys can have a maximum character length of 128 characters, and tag values can have + /// a maximum length of 256 characters.
+ #[serde(rename = "tags")] + #[serde(skip_serializing_if = "Option::is_none")] + pub tags: OptionThe name to use for the virtual node.
+ #[serde(rename = "virtualNodeName")] + pub virtual_node_name: String, +} + +#[derive(Default, Debug, Clone, PartialEq, Deserialize)] +#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] +pub struct CreateVirtualNodeOutput { + ///The full description of your virtual node following the create call.
+ #[serde(rename = "virtualNode")] + pub virtual_node: VirtualNodeData, +} + +#[derive(Default, Debug, Clone, PartialEq, Serialize)] +pub struct CreateVirtualRouterInput { + ///Unique, case-sensitive identifier that you provide to ensure the idempotency of the + /// request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
+ #[serde(rename = "clientToken")] + #[serde(skip_serializing_if = "Option::is_none")] + pub client_token: Option